コード例 #1
0
        private async void DatePicker_DOB_PropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            if (e.PropertyName == "SelectedDate")
            {
                var date = sender as MyDatePicker;
                if (string.IsNullOrWhiteSpace(date.SelectedDate))
                {
                    return;
                }

                var hasError     = false;
                var errorMessage = "";
                if (date != null && Convert.ToDateTime(date.SelectedDate).Date > DateTime.Now)
                {
                    hasError     = true;
                    errorMessage = "Date entered cannot exceed current date.";
                }
                else
                {
                    if (date != null)
                    {
                        var selectedDate = Convert.ToDateTime(date.SelectedDate);
                        if (!(selectedDate.Date <= vM.MaximumDate && selectedDate.Date >= vM.MinimumDate))
                        {
                            hasError = true;
                        }
                    }
                }
                if (hasError)
                {
                    date.SelectedDate = string.Empty; //This will trigger the SelectedDate again.
                    var firstTestRecord = vM.Records.FirstOrDefault(p => p.IsDateVisible);
                    if (errorMessage.Length == 0)
                    {
                        if (firstTestRecord.DomainCode == DomainCode)
                        {
                            errorMessage = "Testing ranges must be within 30 days of testing each subdomain due to developmental milestones progressing over time. Please enter a valid test date or enter scores in a new record form.";
                        }
                        else
                        {
                            errorMessage = "One or more testing dates are not within a 30 day period of the first test date. Testing ranges must be within 30 days of testing each subdomain due to developmental milestones progressing over time. Please enter a valid date or enter scores in a new record form.";
                        }
                    }
                    var popup = new CustomPopupView(new CustomPopUpDetails()
                    {
                        Header = "Invalid Test Date", Message = errorMessage, Height = 228, Width = 450
                    });
                    popup.BindingContext = vM;
                    popup.CloseWhenBackgroundIsClicked = false;
                    await PopupNavigation.Instance.PushAsync(popup);

                    return;
                }
                vM.IsOverviewChanged = true;
                vM.Records.Where(p => !string.IsNullOrEmpty(p.DomainCode)).FirstOrDefault(p => p.DomainCode == DomainCode).TestDate = date.SelectedDate;
                date.SelectedDate = string.Empty; //This will trigger the SelectedDate again.
            }
            //if (Device.RuntimePlatform == Device.iOS)
            //    DatePickerGrid.IsVisible = false;
        }
コード例 #2
0
ファイル: SessionManager.cs プロジェクト: KatruM/KatruM
 SessionManager()
 {
     SearchErrorContinueCommand = new Command(SessionWarningContinueCommand);
     popup = new Views.PopupViews.CustomPopupView(new Views.PopupViews.CustomPopUpDetails()
     {
         Header = "Session Expiring", Message = "Session will expire in 5 minutes, press Continue to extend time.", Height = 211, Width = 450
     }, title: SessionExpiringPopUpTitle);
     popup.CloseWhenBackgroundIsClicked = true;
     popup.BindingContext = this;
 }
コード例 #3
0
        private async void DatePicker_DOB_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            if (e.PropertyName == "SelectedDate")
            {
                var date = sender as MyDatePicker;
                if (date != null && string.IsNullOrWhiteSpace(date.SelectedDate))
                {
                    return;
                }
                var      hasError     = false;
                var      errorMessage = "";
                var      splittedDate = date.SelectedDate.Split('/');
                DateTime itemdateTime = new DateTime(Convert.ToInt32(splittedDate[2]), Convert.ToInt32(splittedDate[0]), Convert.ToInt32(splittedDate[1]));
                if (date != null && itemdateTime.Date > DateTime.Now)
                {
                    hasError     = true;
                    errorMessage = "Date entered cannot exceed current date.";
                }
                else
                {
                    if (date != null)
                    {
                        var selectedDate = itemdateTime;
                        if (!(selectedDate.Date <= MyViewModel.MaxDate && selectedDate.Date >= MyViewModel.MinDate))
                        {
                            hasError = true;
                        }
                    }
                }
                if (hasError)
                {
                    date.SelectedDate = string.Empty; //This will trigger the SelectedDate again.
                    if (errorMessage.Length == 0)
                    {
                        if (MyViewModel.isFirstRecord)
                        {
                            errorMessage = "Testing ranges must be within 30 days of testing each subdomain due to developmental milestones progressing over time. Please enter a valid test date or enter scores in a new record form.";
                        }
                        else
                        {
                            errorMessage = "One or more testing dates are not within a 30 day period of the first test date. Testing ranges must be within 30 days of testing each subdomain due to developmental milestones progressing over time. Please enter a valid date or enter scores in a new record form.";
                        }
                    }
                    var popup = new CustomPopupView(new CustomPopUpDetails()
                    {
                        Header = "Invalid Test Date", Message = errorMessage, Height = 228, Width = 450
                    });
                    popup.BindingContext = MyViewModel;
                    popup.CloseWhenBackgroundIsClicked = false;
                    await PopupNavigation.Instance.PushAsync(popup);

                    return;
                }
                date.SelectedDate    = string.Empty; //This will trigger the SelectedDate again.
                testDate.Text        = (sender as MyDatePicker).SelectedDate;
                MyViewModel.TestDate = testDate.Text;
                MyViewModel.SaveTestDate((sender as MyDatePicker).SelectedDate);
            }
            if (Device.RuntimePlatform == Device.iOS)
            {
                DatePickerGrid.IsVisible = false;
            }
        }