using System; using System.Windows.Input; namespace GummingCommon { public class DateRangeViewModule : ViewModelBase { #region base parameters public DateRangeView View { get; set; } public bool IsConfirm; #endregion #region constructor public DateRangeViewModule() { View = new DateRangeView(); View.DataContext = this; InitializeCommands(); InitializeParameters(); } public void ShowDialog(string datefield) { HeaderTitle = string.Format("Please select data ranage for the filter field of {0}", datefield); if (SelectStartTime == null || SelectStartTime.Equals(DateTime.MinValue)) SelectStartTime = DateTime.Now; if (SelectEndTime == null || SelectEndTime.Equals(DateTime.MinValue)) SelectEndTime = DateTime.Now; View.ShowDialog(); } private void InitializeCommands() { CancelCommand = new DelegateCommand(OnCancelCommand); AddCommand = new DelegateCommand(OnAddCommand); } public override void InitializeParameters(object content = null) { IsConfirm = false; WindowTitle = ""; } ~DateRangeViewModule() { } #endregion #region Binding Properties public string WindowTitle { get; private set; } private string _HeaderTitle; public string HeaderTitle { get { return _HeaderTitle; } set { _HeaderTitle = value; OnPropertyChanged("HeaderTitle"); } } private DateTime _SelectStartTime; public DateTime SelectStartTime { get { return _SelectStartTime; } set { _SelectStartTime = value; OnPropertyChanged("SelectStartTime"); } } private DateTime _SelectEndTime; public DateTime SelectEndTime { get { return _SelectEndTime; } set { _SelectEndTime = value; OnPropertyChanged("SelectEndTime"); } } #endregion #region Binding Commands private ICommand _AddCommand; public ICommand AddCommand { get { return _AddCommand; } set { _AddCommand = value; OnPropertyChanged("AddCommand"); } } private ICommand _CancelCommand; public ICommand CancelCommand { get { return _CancelCommand; } set { _CancelCommand = value; OnPropertyChanged("CancelCommand"); } } #endregion #region Private Methods private void OnCancelCommand(object sender) { View.DialogResult = true; } private void OnAddCommand(Object sender) { if (SelectStartTime == null) { ShowMessageBox("Please select start date."); return; } if (SelectEndTime == null) { ShowMessageBox("Please select end date."); return; } if (SelectStartTime > SelectEndTime) { ShowMessageBox("The start date should less than end date."); return; } IsConfirm = true; View.DialogResult = true; } #endregion } }