Esempio n. 1
0
 private void EditOdRemoveSchedulerEntryInDetail(Models.RouteScheduler rsch, int mode)
 {
     foreach (DataGridSchedulerDetail item in CurrnetDetailRouteScheduler)
     {
         if (rsch.DayOfWeek == item.DayOfWeek)
         {
             foreach (Models.RouteScheduler innerScheduler in item.RouteSchedulerDetail)
             {
                 if (innerScheduler.Id == rsch.Id)
                 {
                     if (mode == 1) // edit
                     {
                         item.RouteSchedulerDetail.Remove(innerScheduler);
                         item.RouteSchedulerDetail.Add(rsch);
                         break;
                     }
                     else if (mode == 2) // remove
                     {
                         item.RouteSchedulerDetail.Remove(innerScheduler);
                         break;
                     }
                 }
             }
         }
         item.RouteSchedulerDetail = new ObservableCollection <Models.RouteScheduler>(
             item.RouteSchedulerDetail.OrderBy(o => o.StartTime)
             );
     }
 }
Esempio n. 2
0
        void AddSchedulerMethod()
        {
            ObservableCollection <Models.RouteScheduler> RouteSchedulerList = new ObservableCollection <Models.RouteScheduler>();

            RouteSchedulerList.Add(new Models.RouteScheduler());
            ViewModels.AddSchedulerViewModel addSchedulerViewModel = new AddSchedulerViewModel(RouteSchedulerList);
            Views.AddSchedulerView           addSchedulerView      = new Views.AddSchedulerView(
                addSchedulerViewModel
                );
            addSchedulerView.Owner = CurrentSchedulerWindow;
            MakeLogEntry(8, null, null, "open AddScheduler. Start adding scheduler");
            if ((bool)addSchedulerView.ShowDialog())
            {
                foreach (Models.RouteScheduler item in addSchedulerViewModel.CurrentRouteSchedulerCollection)
                {
                    Models.RouteScheduler routeScheduler = Models.RouteScheduler.GetCopyOfRouteScheduler(item);
                    routeScheduler.RouteId = CurrentRoute.Id;
                    AddEntry <Models.RouteScheduler>(routeScheduler);
                    CurrnetRouteScheduler.Add(routeScheduler);
                    CurrnetRouteScheduler = new ObservableCollection <Models.RouteScheduler>(
                        CurrnetRouteScheduler.OrderBy(o => o.StartTime).OrderBy(o => o.DayOfWeek));
                    AddSchedulerEntryToDetail(routeScheduler);
                }
                CurrentRouteScheduler_Changed();
            }
            else
            {
                MakeLogEntry(8, null, null, "open AddScheduler. Cancel adding scheduler");
            }
        }
Esempio n. 3
0
 void DeleteSchedulerMethod(Models.RouteScheduler SelectedItem)
 {
     MakeLogEntry(8, null, null, "open AddScheduler. Start deleting scheduler");
     if (DeleteEntry <Models.RouteScheduler>(SelectedItem) == MessageBoxResult.Yes)
     {
         CurrnetRouteScheduler.Remove(SelectedItem);
         EditOdRemoveSchedulerEntryInDetail(SelectedItem, 2);
         CurrentRouteScheduler_Changed();
     }
     else
     {
         MakeLogEntry(8, null, null, "open AddScheduler. Cancel deleting scheduler");
     }
 }
Esempio n. 4
0
 private Models.RouteScheduler FindSelectedRouteSchedulerInLB(object SelectedItem)
 {
     System.Windows.Controls.ListBox lb =
         Helpers.UIHelper.FindChild <System.Windows.Controls.ListBox>(SelectedItem as System.Windows.Controls.DataGrid, "SchedulerLB");
     Models.RouteScheduler routeSchedulerSelected = null;
     if (lb.SelectedItem == null && lb.Items.Count > 0)
     {
         routeSchedulerSelected = lb.Items[0] as Models.RouteScheduler;
     }
     else
     {
         routeSchedulerSelected = lb.SelectedItem as Models.RouteScheduler;
     }
     return(routeSchedulerSelected);
 }
Esempio n. 5
0
 public static Models.RouteScheduler GetCopyOfRouteScheduler(Models.RouteScheduler _routeScheduler)
 {
     return(new Models.RouteScheduler()
     {
         Id = _routeScheduler.Id,
         AddingDate = _routeScheduler.AddingDate,
         DayOfWeek = _routeScheduler.DayOfWeek,
         DeletingDate = _routeScheduler.DeletingDate,
         IsDeleted = _routeScheduler.IsDeleted,
         Route = _routeScheduler.Route,
         RouteId = _routeScheduler.RouteId,
         StartTime = _routeScheduler.StartTime,
         WindowStartTime = _routeScheduler.WindowStartTime,
         Name = _routeScheduler.Name
     });
 }
Esempio n. 6
0
        void EditSchedulerMethod(Models.RouteScheduler SelectedItem)
        {
            if (SelectedItem == null)
            {
                return;
            }
            ObservableCollection <Models.RouteScheduler> RouteSchedulerList = new ObservableCollection <Models.RouteScheduler>();

            RouteSchedulerList.Add(
                Models.RouteScheduler.GetCopyOfRouteScheduler(SelectedItem)
                );
            ViewModels.AddSchedulerViewModel addSchedulerViewModel = new AddSchedulerViewModel(RouteSchedulerList);
            Views.AddSchedulerView           addSchedulerView      = new Views.AddSchedulerView(
                addSchedulerViewModel
                );
            addSchedulerView.Owner = CurrentSchedulerWindow;
            MakeLogEntry(8, null, null, "open AddScheduler. Start editing scheduler");
            if ((bool)addSchedulerView.ShowDialog())
            {
                foreach (Models.RouteScheduler item in addSchedulerViewModel.CurrentRouteSchedulerCollection)
                {
                    Models.RouteScheduler routeScheduler = Models.RouteScheduler.GetCopyOfRouteScheduler(item);
                    if (routeScheduler.Id == 0)
                    {
                        AddEntry <Models.RouteScheduler>(routeScheduler);
                        CurrnetRouteScheduler.Add(routeScheduler);
                        CurrentSchedulerWindow.CurrentSchedulerVisual.CurrentRouteScheduler = CurrnetRouteScheduler;
                        AddSchedulerEntryToDetail(routeScheduler);
                    }
                    else
                    {
                        EditEntry <Models.RouteScheduler>(routeScheduler);
                        EditOdRemoveSchedulerEntryInDetail(routeScheduler, 1);
                    }
                }
                CurrnetRouteScheduler = new ObservableCollection <Models.RouteScheduler>(
                    CurrnetRouteScheduler.OrderBy(o => o.StartTime).OrderBy(o => o.DayOfWeek));
                CurrentRouteScheduler_Changed();
            }
            else
            {
                MakeLogEntry(8, null, null, "open AddScheduler. Cancel editing scheduler");
            }
        }
Esempio n. 7
0
        private void OkCommandMethod()
        {
            if (CurrentRouteSchedulerCollection[0].Id == 0 || !CurrentRouteSchedulerCollection[0].Equals(
                    CurrentDataBase.RouteSchedulers.Find(CurrentRouteSchedulerCollection[0].Id)))
            {
                if (currentRouteSchedulerCollection[0].DayOfWeek == 0)
                {
                    MessageBox.Show("Необходимо выбрать хотябы один день недели!", "Добавление расписания", MessageBoxButton.OK, MessageBoxImage.Stop);
                    return;
                }


                if (CurrentRouteSchedulerCollection[0].AddingDate == 0)
                {
                    Int32 unixTimestamp = (Int32)(DateTime.Now.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
                    CurrentRouteSchedulerCollection[0].AddingDate = unixTimestamp;
                }

                if (CurrentRouteSchedulerCollection[0].DayOfWeek.ToString().Length > 1) // select more that one day
                {
                    for (int i = 1; i < CurrentRouteSchedulerCollection[0].DayOfWeek.ToString().Length; i++)
                    {
                        Models.RouteScheduler routeScheduler = Models.RouteScheduler.GetCopyOfRouteScheduler(CurrentRouteSchedulerCollection[0]);
                        if (routeScheduler.Id != 0)
                        {
                            routeScheduler.Id = 0;
                        }
                        string day_of_week = CurrentRouteSchedulerCollection[0].DayOfWeek.ToString()[i].ToString();
                        routeScheduler.DayOfWeek = Convert.ToInt32(day_of_week);
                        CurrentRouteSchedulerCollection.Add(routeScheduler);
                    }
                    CurrentRouteSchedulerCollection[0].DayOfWeek = Convert.ToInt32(
                        CurrentRouteSchedulerCollection[0].DayOfWeek.ToString()[0].ToString()
                        );
                }
                CurrentAddSchedulerWindow.DialogResult = true;
            }
            else
            {
                CurrentAddSchedulerWindow.DialogResult = false;
            }
        }
Esempio n. 8
0
        private void AddSchedulerEntryToDetail(Models.RouteScheduler rsch)
        {
            DataGridSchedulerDetail dataGridSchedulerDetail =
                CurrnetDetailRouteScheduler.FirstOrDefault(o => o.DayOfWeek == rsch.DayOfWeek);

            if (dataGridSchedulerDetail == null)
            {
                dataGridSchedulerDetail                      = new DataGridSchedulerDetail();
                dataGridSchedulerDetail.DayOfWeek            = rsch.DayOfWeek;
                dataGridSchedulerDetail.RouteSchedulerDetail = new ObservableCollection <Models.RouteScheduler>();
                dataGridSchedulerDetail.RouteSchedulerDetail.Add(rsch);
                CurrnetDetailRouteScheduler.Add(dataGridSchedulerDetail);
            }
            else
            {
                dataGridSchedulerDetail.RouteSchedulerDetail.Add(rsch);
            }
            dataGridSchedulerDetail.RouteSchedulerDetail = new ObservableCollection <Models.RouteScheduler>(
                dataGridSchedulerDetail.RouteSchedulerDetail.OrderBy(o => o.StartTime)
                );
            CurrnetDetailRouteScheduler = new ObservableCollection <DataGridSchedulerDetail>(CurrnetDetailRouteScheduler.OrderBy(o => o.DayOfWeek));
        }