private ActionResult AddNoteToDB_hlp(DateTime _dt, FieldsOfDataGrid fodg)
        {
            //n.Note_Id = Guid.NewGuid();//baza sdf
            //m_DBNotatki.Database.ExecuteSqlCommand("delete from NotatkaEncja");

            Note n = new Note()
            {
                Message = fodg.Note,
                User    = fodg.User,
                Date    = new DateTime(_dt.Year, _dt.Month, _dt.Day, fodg.Hour, fodg.Minute, 0)
            };

            m_notesDB.Add(n);

            try
            {
                m_notesDB.SaveChanges();
            }
            catch (Exception e)
            {
                return(ActionResult.CreateFailResult(e.Message, ErrorType.DataSavingFailedWhileAdding));
            }

            return(ActionResult.CreateSuccessResult());
        }
        private void dataGrid1_RowEditEnding(object sender, DataGridRowEditEndingEventArgs e)
        {
            var PosOfDay = e.Row.Item as PositionOfDay;

            if (PosOfDay.CurrentHour != PosOfDay.OldHour ||
                PosOfDay.CurrentMinute != PosOfDay.OldMinute ||
                !PosOfDay.CurrentNote.Equals(PosOfDay.OldNote) ||
                !PosOfDay.CurrentUser.Equals(PosOfDay.OldUser)
                )
            {
                ActionResult saveRes = Engine.RemoveNoteFromDB(PosOfDay.OldHour, PosOfDay.OldMinute);
                if (!saveRes.IsSuccess)
                {
                    MessageBox.Show(saveRes.ErrorMsg, "Error");
                }

                var fodg = new FieldsOfDataGrid()
                {
                    Hour   = PosOfDay.CurrentHour,
                    Minute = PosOfDay.CurrentMinute,
                    Note   = PosOfDay.CurrentNote,
                    User   = PosOfDay.CurrentUser
                };

                ActionResult addNoteResult = Engine.AddNoteToDB(fodg);
                if (!addNoteResult.IsSuccess)
                {
                    MessageBox.Show(addNoteResult.ErrorMsg, "Error");
                }
            }
            Engine.UpdateOfPositions();
        }
        public ActionResult AddNoteToDB(FieldsOfDataGrid fodg)
        {
            int numberOfNotes = NumberOfNotesFor(Selected_Date, fodg.Hour, fodg.Minute);

            if (numberOfNotes > 0)
            {
                return(ActionResult.CreateFailResult(string.Format("There is already Note for Hour Minute {0}:{1}", fodg.Hour, fodg.Minute), ErrorType.DataAlreadyPresent));
            }

            return(AddNoteToDB_hlp(Selected_Date, fodg));
        }
        private void dataGrid1_PreviewKeyDown(object sender, KeyEventArgs e)
        {
            var Grid = (DataGrid)sender;

            if (e.Key == Key.Delete)
            {
                foreach (var row in Grid.SelectedItems)
                {
                    PositionOfDay PosOfDay = row as PositionOfDay;
                    if (PosOfDay != null)
                    {
                        ActionResult saveRes = Engine.RemoveNoteFromDB(PosOfDay.CurrentHour, PosOfDay.CurrentMinute);
                        if (!saveRes.IsSuccess)
                        {
                            MessageBox.Show(saveRes.ErrorMsg, "Error");
                        }
                    }
                }

                Engine.UpdateOfPositions();
            }
            else
            if (e.Key == Key.Escape)
            {
                PositionOfDay PosOfDay = Grid.SelectedItem as PositionOfDay;
                if (PosOfDay != null)
                {
                    ActionResult saveRes = Engine.RemoveNoteFromDB(PosOfDay.CurrentHour, PosOfDay.CurrentMinute);
                    if (!saveRes.IsSuccess)
                    {
                        MessageBox.Show(saveRes.ErrorMsg, "Error");
                    }

                    if (!string.IsNullOrWhiteSpace(PosOfDay.OldNote))
                    {
                        var fodg = new FieldsOfDataGrid()
                        {
                            Hour   = PosOfDay.OldHour,
                            Minute = PosOfDay.OldMinute,
                            Note   = PosOfDay.OldNote,
                            User   = PosOfDay.OldUser
                        };

                        ActionResult addNoteResult = Engine.AddNoteToDB(fodg);
                        if (!addNoteResult.IsSuccess)
                        {
                            MessageBox.Show(addNoteResult.ErrorMsg, "Error");
                        }
                    }
                    Engine.UpdateOfPositions();
                }
            }
        }
        private void dataGrid1_RowEditEnding(object sender, DataGridRowEditEndingEventArgs e)
        {
            var PosOfDay = e.Row.Item as PositionOfDay;

            if (PosOfDay.CurrentHour != PosOfDay.OldHour ||
                PosOfDay.CurrentMinute != PosOfDay.OldMinute ||
                !PosOfDay.CurrentNote.Equals(PosOfDay.OldNote) ||
                !PosOfDay.CurrentUser.Equals(PosOfDay.OldUser)
                )
            {
                ActionResult saveRes = Engine.RemoveNoteFromDB(PosOfDay.OldHour, PosOfDay.OldMinute);
                if (!saveRes.IsSuccess)
                {
                    MessageBox.Show(saveRes.ErrorMsg, "Error");
                }

                var fodg = new FieldsOfDataGrid()
                {
                    Hour = PosOfDay.CurrentHour,
                    Minute = PosOfDay.CurrentMinute,
                    Note = PosOfDay.CurrentNote,
                    User = PosOfDay.CurrentUser
                };

                ActionResult addNoteResult = Engine.AddNoteToDB(fodg);
                if (!addNoteResult.IsSuccess)
                {
                    MessageBox.Show(addNoteResult.ErrorMsg, "Error");
                }
            }
            Engine.UpdateOfPositions();
        }
        private void dataGrid1_PreviewKeyDown(object sender, KeyEventArgs e)
        {
            var Grid = (DataGrid)sender;
            if (e.Key == Key.Delete)
            {
                foreach (var row in Grid.SelectedItems)
                {
                    PositionOfDay PosOfDay = row as PositionOfDay;
                    if (PosOfDay != null)
                    {
                        ActionResult saveRes = Engine.RemoveNoteFromDB(PosOfDay.CurrentHour, PosOfDay.CurrentMinute);
                        if (!saveRes.IsSuccess)
                        {
                            MessageBox.Show(saveRes.ErrorMsg, "Error");
                        }
                    }
                }

                Engine.UpdateOfPositions();
            }
            else
                if (e.Key == Key.Escape)
                {
                    PositionOfDay PosOfDay = Grid.SelectedItem as PositionOfDay;
                    if (PosOfDay != null)
                    {
                        ActionResult saveRes = Engine.RemoveNoteFromDB(PosOfDay.CurrentHour, PosOfDay.CurrentMinute);
                        if (!saveRes.IsSuccess)
                        {
                            MessageBox.Show(saveRes.ErrorMsg, "Error");
                        }

                        if (!string.IsNullOrWhiteSpace(PosOfDay.OldNote))
                        {
                            var fodg = new FieldsOfDataGrid()
                            {
                                Hour = PosOfDay.OldHour,
                                Minute = PosOfDay.OldMinute,
                                Note = PosOfDay.OldNote,
                                User = PosOfDay.OldUser
                            };

                            ActionResult addNoteResult = Engine.AddNoteToDB(fodg);
                            if (!addNoteResult.IsSuccess)
                            {
                                MessageBox.Show(addNoteResult.ErrorMsg, "Error");
                            }

                        }
                        Engine.UpdateOfPositions();
                    }
                }
        }
        private ActionResult AddNoteToDB_hlp(DateTime _dt, FieldsOfDataGrid fodg)
        {
            //n.Note_Id = Guid.NewGuid();//baza sdf
            //m_DBNotatki.Database.ExecuteSqlCommand("delete from NotatkaEncja");

            Note n = new Note()
            {
                Message = fodg.Note,
                User = fodg.User,
                Date = new DateTime(_dt.Year, _dt.Month, _dt.Day, fodg.Hour, fodg.Minute, 0)
            };

            m_notesDB.Add(n);

            try
            {
                m_notesDB.SaveChanges();
            }
            catch (Exception e)
            {
                return ActionResult.CreateFailResult(e.Message,ErrorType.DataSavingFailedWhileAdding);
            }

            return ActionResult.CreateSuccessResult();
        }
        public ActionResult AddNoteToDB(FieldsOfDataGrid fodg)
        {
            int numberOfNotes = NumberOfNotesFor(Selected_Date, fodg.Hour, fodg.Minute);
            if (numberOfNotes > 0)
            {
                return ActionResult.CreateFailResult(string.Format("There is already Note for Hour Minute {0}:{1}", fodg.Hour, fodg.Minute), ErrorType.DataAlreadyPresent);
            }

            return AddNoteToDB_hlp(Selected_Date, fodg);
        }