public void SetNoSelected()
 {
     if (!IsEdit)
     {
         _selectedTemplate = null;
         RaisePropertyChanged(() => SelectedTemplate);
     }
 }
Exemplo n.º 2
0
 public AddEditSchedulePage(CISchedule s)
 {
     InitializeComponent();
     App.Locator.AddEditSchedule.PeriodsView = PeriodsLayout;
     App.Locator.AddEditSchedule.Schedule    = s;
     App.Locator.AddEditSchedule.SetNoSelected();
     BindingContext = App.Locator.AddEditSchedule;
     App.MasterMenu.ContentPage.Icon = new FileImageSource()
     {
         File = "*****@*****.**"
     };
 }
Exemplo n.º 3
0
        public static bool SaveSchedule(CISchedule schedule)
        {
            var scheduleToReplace = App.CISchedules.First(_ => _.Id == schedule.Id);
            var index             = App.CISchedules.IndexOf(scheduleToReplace);

            if (index < 0)
            {
                return(false);
            }
            App.CISchedules[index] = schedule;
            return(true);
        }
Exemplo n.º 4
0
 public static bool SaveNewSchedule(CISchedule schedule)
 {
     if (App.CISchedules.Any(_ => _.Id == schedule.Id))
     {
         schedule.Id = schedule.Id + 1;
     }
     if (App.CISchedules.Any(_ => _.Name == schedule.Name))
     {
         schedule.Name = schedule.Name + " (Copy)";
     }
     App.CISchedules.Add(schedule);
     return(true);
 }
        public CISchedule UnmapSchedule(CIScheduleMapped s)
        {
            var i = new CISchedule()
            {
                DateTime   = s.A,
                Name       = s.B,
                Periods    = s.C.Select(_ => { return(new CIPeriod()
                    {
                        Interval = _.A, Name = _.B, Index = _.C
                    }); }).ToList(),
                TotalHours = s.D,
                Id         = s.E,
                Time       = s.F
            };

            return(i);
        }
        public CIScheduleMapped MapSchedule(CISchedule s)
        {
            var i = new CIScheduleMapped
            {
                A = s.DateTime,
                B = s.Name,
                C = s.Periods.Select(_ => { return(new CIPeriodMapped()
                    {
                        A = _.Interval, B = _.Name, C = _.Index
                    }); }).ToList(),
                D = s.TotalHours,
                E = s.Id,
                F = s.Time
            };

            return(i);
        }
        public bool SaveSchedule(CISchedule sched)
        {
            if (sched.Name == "")
            {
                DependencyService.Get <Toast>().Show("Save unsuccessful. Please input a schedule name.");
                return(false);
            }
            else if (!CrossConnectivity.Current.IsConnected)
            {
                DependencyService.Get <Toast>().Show("Save unsuccessful because of no internet connection.");
                return(false);
            }
            else
            {
                try
                {
                    App.ClockItUser.Schedules.Remove(App.ClockItUser.Schedules.Single(r => r.Id == sched.Id));
                }
                catch { }
                sched.Periods.Clear();
                if (_addedPeriods != null)
                {
                    _addedPeriods.OrderBy(x => x.ElementAt(0).Text);
                    int minutes;
                    int seconds;
                    int totalMinutes = 0;
                    int totalSeconds = 0;

                    foreach (var period in _addedPeriods)
                    {
                        try
                        {
                            var minutesDouble = double.Parse(period.ElementAt(2).Text);
                            minutes = (int)(minutesDouble);
                            seconds = (int)((minutesDouble % 1) * 60);
                        }
                        catch
                        {
                            minutes = int.Parse(period.ElementAt(2).Text);
                            seconds = 0;
                        }
                        sched.Periods.Add(new CIPeriod()
                        {
                            Index    = int.Parse(period.ElementAt(0).Text),
                            Name     = (period.ElementAt(1).Text),
                            Interval = new TimeSpan(0, minutes, seconds),
                        });
                        totalMinutes += minutes;
                        totalSeconds += seconds;
                    }
                    totalMinutes    += totalSeconds / 60;
                    sched.TotalHours = totalMinutes / 60;
                    App.ClockItUser.Schedules.Add(sched);
                    App.ClockItUser.Schedules.OrderBy(x => x.Id);
                    SaveUserToAzureDB(_client);
                    var s = IsEdit ? "Edit" : "Create";
                    DependencyService.Get <Toast>().Show("Schedule " + sched.Name + " saved.");
                    return(true);
                }
                else
                {
                    DependencyService.Get <Toast>().Show("Schedule " + sched.Name + " save failed.");
                    return(false);
                }
            }
        }
Exemplo n.º 8
0
 public static bool DeleteSchedule(CISchedule schedule)
 {
     App.CISchedules.Remove(schedule);
     return(true);
 }