Example #1
0
        //public RelayCommand AddMarkFromDeviceCommand
        //{
        //    get
        //    {
        //        return addMarkFromDeviceCommand ??
        //           (addMarkFromDeviceCommand = new RelayCommand((o) =>
        //           {
        //               AddMarkFromDeviceCommandMethod();
        //           }
        //           ));
        //    }
        //}

        public void AddMarkCommandMethod()
        {
            Models.Mark mark = new Models.Mark();
            mark.MarkNumber = CurrnetMarks.Count > 0 ? CurrnetMarks.Last().MarkNumber + 1 : 1;

            ViewModels.AddMarkViewModel addMarkViewModel = new AddMarkViewModel(mark);
            addMarkViewModel.CurrentRoute = CurrentRoute;
            Views.AddMarkView addMarkView = new Views.AddMarkView(addMarkViewModel);
            MakeLogEntry(8, null, null, "open AddMark. Start adding mark");
            if ((bool)addMarkView.ShowDialog())
            {
                Models.Mark mark_to_base = Models.Mark.GetCopyOfMark(addMarkViewModel.CurrentMark);
                AddEntry <Models.Mark>(mark_to_base);
                CurrnetMarks.Add(mark_to_base);
                Models.Map map = new Models.Map()
                {
                    MarkId        = mark_to_base.Id,
                    CoordX        = 0,
                    CoordY        = 0,
                    DefaultHeight = 0,
                    DefaultWidth  = 0
                };
                AddEntry <Models.Map>(map);
                UpdateMapVisual();
            }
            else
            {
                MakeLogEntry(8, null, null, "open AddMark. Cancel adding mark");
            }
        }
Example #2
0
 public void DeleteMarkMethod(Models.Mark SelectedItem)
 {
     MakeLogEntry(8, null, null, "open AddMark. Start deleting mark");
     if (DeleteEntry <Models.Mark>(SelectedItem) == MessageBoxResult.Yes)
     {
         CurrnetMarks.Remove(CurrnetMarks.FirstOrDefault(o => o.Id == SelectedItem.Id));
         UpdateMapVisual();
     }
     else
     {
         MakeLogEntry(8, null, null, "open AddMark. Cancel deleting mark");
     }
 }
Example #3
0
        public async void MarksDataGrid_PreviewMouseMove(object sender, System.Windows.Input.MouseEventArgs e)
        {
            if (CurrentUser != null && (CurrentUser.UserRoleId != 1 && CurrentUser.UserRoleId != 2))
            {
                return;
            }
            if (e.LeftButton == System.Windows.Input.MouseButtonState.Pressed)
            {
                P = e.GetPosition(sender as System.Windows.Controls.DataGrid);
                System.Windows.Controls.DataGrid MarksDataGrid = sender as System.Windows.Controls.DataGrid;
                if (Row_select < 0)
                {
                    Row_select = GetCurrentRowIndex(e.GetPosition, MarksDataGrid);
                    if (rowIndex < 0)
                    {
                        return;
                    }
                }
                Row_want_to = GetCurrentRowIndex(e.GetPosition, MarksDataGrid);
                if (Row_select >= 0 && Row_want_to >= 0 && Row_select < CurrnetMarks.Count && Row_want_to < CurrnetMarks.Count &&
                    Row_select != Row_want_to)
                {
                    System.Windows.Input.Mouse.SetCursor(System.Windows.Input.Cursors.Hand);
                    NoteTextBlock.Text                = "\"" + CurrnetMarks[Row_select].Name + "\" поместить вместо \"" + CurrnetMarks[row_want_to].Name + "\"";
                    NoteTextBlock.Background          = Brushes.Black;
                    NoteTextBlock.Foreground          = Brushes.White;
                    NoteTextBlock.FontSize            = 20;
                    NoteTextBlock.VerticalAlignment   = VerticalAlignment.Top;
                    NoteTextBlock.HorizontalAlignment = HorizontalAlignment.Left;
                    CurrentMarksView.MainGrid.Children.Remove(NoteTextBlock);
                    CurrentMarksView.MainGrid.Children.Add(NoteTextBlock);
                    Grid.SetRow(NoteTextBlock, 1);
                    NoteTextBlock.Margin = new Thickness(P.X, P.Y, 0, 0);
                }
                else
                {
                    CurrentMarksView.MainGrid.Children.Remove(NoteTextBlock);
                    System.Windows.Input.Mouse.SetCursor(System.Windows.Input.Cursors.No);
                }
            }
            else
            {
                System.Windows.Controls.DataGrid MarksDataGrid = sender as System.Windows.Controls.DataGrid;
                if ((Row_select < 0 || Row_want_to < 0) ||
                    (Row_want_to == Row_select) ||
                    (Row_want_to == MarksDataGrid.Items.Count))
                {
                    SetRowStatmentDefault();
                    return;
                }

                // place where need change mark number
                Models.Mark changedProduct = CurrnetMarks[Row_select];
                CurrnetMarks.RemoveAt(Row_select);
                CurrnetMarks.Insert(Row_want_to, changedProduct);
                SetRowStatmentDefault();
                await Task.Run(() => {
                    for (int i = 0; i < CurrnetMarks.Count; i++)
                    {
                        CurrnetMarks[i].MarkNumber = i + 1;
                        EditEntry <Models.Mark>(CurrnetMarks[i]);
                    }
                });
            }
        }