Пример #1
0
 void OpenDob(object sender, EventArgs e)
 {
     if (Device.RuntimePlatform == Device.UWP)
     {
         DOBpicker.ShowDatePicker();
     }
     else
     {
         DOBpicker.Focus();
     }
 }
Пример #2
0
 private void VM_DatePicketSelectedEvent(object sender, TestSessionModel e)
 {
     Device.BeginInvokeOnMainThread(() =>
     {
         this.DomainCode        = e.DomainCode;
         DOBpicker.IsShowPicker = true;
         var success            = DateTime.TryParse(e.TestDate, out DateTime dateTime);
         if (success) //on inital load value will be mm/dd/yyyy
         {
             if (vM.Records != null)
             {
                 var selectedTestRecord = vM.Records.FirstOrDefault(p => p.DomainCode == e.DomainCode);
                 if (selectedTestRecord != null)
                 {
                     var maxDateItem      = vM.Records.Where(p => p.IsDateVisible).OrderByDescending(p => p.DateOfTest).FirstOrDefault();
                     var mindateItem      = vM.Records.Where(p => p.IsDateVisible).OrderBy(p => p.DateOfTest).FirstOrDefault();
                     var dataservice      = DependencyService.Get <ICommonDataService>();
                     var dobSpliteDate    = dataservice.DOB.Split('/');
                     DateTime dobDateTime = new DateTime(Convert.ToInt32(dobSpliteDate[2]), Convert.ToInt32(dobSpliteDate[0]), Convert.ToInt32(dobSpliteDate[1]));
                     if (maxDateItem != null && mindateItem != null)
                     {
                         var dateDiff = maxDateItem.DateOfTest - mindateItem.DateOfTest;
                         if (dateDiff.TotalDays == 0)
                         {
                             var mindate = mindateItem.DateOfTest.AddDays(-30);
                             if (mindate < dobDateTime.Date)
                             {
                                 vM.MinimumDate = dobDateTime.Date;
                             }
                             else
                             {
                                 vM.MinimumDate = mindate;
                             }
                             var maxDate = maxDateItem.DateOfTest.AddDays(30);
                             if (maxDate > DateTime.Now.Date)
                             {
                                 vM.MaximumDate = DateTime.Now;
                             }
                             else
                             {
                                 vM.MaximumDate = maxDate;
                             }
                         }
                         else if (dateDiff.TotalDays == 30)
                         {
                             vM.MinimumDate = mindateItem.DateOfTest;
                             vM.MaximumDate = maxDateItem.DateOfTest;
                         }
                         else
                         {
                             var diffDays = 30 - dateDiff.TotalDays;
                             var mindate  = mindateItem.DateOfTest.AddDays(-diffDays);
                             if (mindate < dobDateTime.Date)
                             {
                                 vM.MinimumDate = dobDateTime.Date;
                             }
                             else
                             {
                                 vM.MinimumDate = mindate;
                             }
                             var maxDate = maxDateItem.DateOfTest.AddDays(diffDays);
                             if (maxDate > DateTime.Now.Date)
                             {
                                 vM.MaximumDate = DateTime.Now;
                             }
                             else
                             {
                                 vM.MaximumDate = maxDate.Date;
                             }
                         }
                     }
                 }
             }
             DOBpicker.Date          = dateTime;
             DOBpicker.ManualMaxDate = true;
             DOBpicker.ManualMinDate = true;
             DOBpicker.MaximumDate   = vM.MaximumDate;
             DOBpicker.MinimumDate   = vM.MinimumDate;
         }
         else
         {
             DOBpicker.Date = DateTime.Now;
         }
         DOBpicker.IsVisible = true;
         if (Device.RuntimePlatform == Device.UWP)
         {
             DOBpicker.ShowDatePicker();
         }
         else
         {
             DOBpicker.Focus();
         }
         //DOBpicker.Focus();
     });
 }