Пример #1
0
        private async void ConfigureInformationLabels()
        {
            // Sometimes the view may appear while items are still being retrieved from the server.
            // Repeatedly waiting until the items have been retrieved ensures that the hours worked text is correct.
            while (AllItemsViewModel.IsBusy)
            {
                await Task.Delay(150);
            }

            txtHoursWorkedToday.Text    = "Today: " + AllItemsViewModel.NumberHoursWorkedOnDay(DateTime.Now) + " hrs";
            txtHoursWorkedThisWeek.Text = "This Period: " + AllItemsViewModel.NumberHoursWorkedOnDay() + " hrs";

            var startCurrent = ProjectSettings.GetStartOfCurrentPayPeriod().Date;
            var startEntires = AllItemsViewModel.GetStartOfPayPeriod().Date;

            if (startEntires.CompareTo(startCurrent) < 0)
            {
                txtWarningLabel.AdjustsFontSizeToFitWidth = true;
                txtWarningLabel.Text = ViewModel.NeedToSubmitTimecardWarningMessage;
            }
            else
            {
                txtWarningLabel.Text = string.Empty;
            }

            RemoveLoadingIndicator();
        }
        private void ConfigureDatePicker()
        {
            datePicker = new UIDatePicker
            {
                Mode        = UIDatePickerMode.Date,
                Date        = (NSDate)AllItemsViewModel.GetInitialPickerDate(),
                MinimumDate = (NSDate)AllItemsViewModel.GetStartOfPayPeriod(),
                MaximumDate = (NSDate)AllItemsViewModel.GetEndOfPayPeriod(),
                TimeZone    = NSTimeZone.LocalTimeZone
            };

            // Whenever the date changes, set the date text field to the value of the picker
            datePicker.ValueChanged += (sender, e) =>
            {
                txtDateField.Text = ((DateTime)datePicker.Date).ToLocalTime().ToString(ProjectSettings.DateFormat);
            };

            txtDateField.Text      = ((DateTime)datePicker.Date).ToLocalTime().ToString(ProjectSettings.DateFormat);
            txtDateField.InputView = datePicker;

            if (EditingItem != null)
            {
                // If the user is editing this entry, set the picker to the previously selected date
                txtDateField.Text = EditingItem.JobDate.ToLocalTime().ToString(ProjectSettings.DateFormat);
                datePicker.SetDate((NSDate)EditingItem.JobDate, false);
            }
        }