//===================THIS METHOD IS FOR DELETE RECORDS FROM WORKTYPES TABLES============== public void DeleteWorkType() { using (StudentuConteiner db = new StudentuConteiner()) { try { var res = db.Orderlines; if (WorkType.WorkTypeId != 1 && !CheckRecordBeforDelete(WorkType)) { if (dialogService.YesNoDialog("Точно нужно удалить эту запись?") == true) { //changing DB //we find all the records in which we have the desired Id and make a replacement foreach (OrderLine order in res) { if (order.WorkType.WorkTypeId == WorkType.WorkTypeId) { //here we replace deleting record on "---" order.WorkType = db.WorkTypes.Find(new WorkType() { WorkTypeId = 1 }.WorkTypeId); } } //here we remove a record from DB db.WorkTypes.Remove(db.WorkTypes.Find(WorkType.WorkTypeId)); db.SaveChanges(); //changing collection WorkTypesRecords.Remove(WorkType); } } else { dialogService.ShowMessage("Нельзя удалить эту запись"); } } catch (ArgumentNullException ex) { dialogService.ShowMessage(ex.Message); } catch (OverflowException ex) { dialogService.ShowMessage(ex.Message); } catch (System.Data.SqlClient.SqlException ex) { dialogService.ShowMessage(ex.Message); } catch (System.Data.Entity.Core.EntityCommandExecutionException ex) { dialogService.ShowMessage(ex.Message); } catch (System.Data.Entity.Core.EntityException ex) { dialogService.ShowMessage(ex.Message); } } }
//===================THIS METHOD IS FOR ADD RECORDS IN WORKTYPE TABLES============== public void AddWorkType(string newName) { WorkType.TypeOfWork = newName; using (StudentuConteiner db = new StudentuConteiner()) { try { var res = db.WorkTypes.Any(o => o.TypeOfWork == WorkType.TypeOfWork); if (!res) { if (!string.IsNullOrEmpty(WorkType.TypeOfWork) || WorkType.TypeOfWork != "---") { WorkType.TypeOfWork = WorkType.TypeOfWork.ToLower(); WorkType.TypeOfWork.Trim(); if (WorkType.TypeOfWork[0] == ' ') { dialogService.ShowMessage("Нельзя добавить пустую строку"); return; } db.WorkTypes.Add(WorkType); db.SaveChanges(); WorkTypesRecords.Clear(); LoadWorkTypesData(); WorkType = new WorkType(); } else { return; } } else { dialogService.ShowMessage("Уже есть такое название в базе данных"); } } catch (ArgumentNullException ex) { dialogService.ShowMessage(ex.Message); } catch (OverflowException ex) { dialogService.ShowMessage(ex.Message); } catch (System.Data.SqlClient.SqlException ex) { dialogService.ShowMessage(ex.Message); } catch (System.Data.Entity.Core.EntityCommandExecutionException ex) { dialogService.ShowMessage(ex.Message); } catch (System.Data.Entity.Core.EntityException ex) { dialogService.ShowMessage(ex.Message); } } }
//===================THIS METHOD IS FOR EDIT RECORDS IN WORKTYPES TABLES============== public void EditWorkType(string newName) { if (WorkType.TypeOfWork == "---") { dialogService.ShowMessage("Нельзя редактировать эту запись"); return; } WorkType.TypeOfWork = newName; using (StudentuConteiner db = new StudentuConteiner()) { try { var res = db.WorkTypes.Find(WorkType.WorkTypeId); if (res != null) { //changing DB res.TypeOfWork = WorkType.TypeOfWork.ToLower(); db.SaveChanges(); WorkTypesRecords.Clear(); LoadWorkTypesData(); } } catch (ArgumentNullException ex) { dialogService.ShowMessage(ex.Message); } catch (OverflowException ex) { dialogService.ShowMessage(ex.Message); } catch (System.Data.SqlClient.SqlException ex) { dialogService.ShowMessage(ex.Message); } catch (System.Data.Entity.Core.EntityCommandExecutionException ex) { dialogService.ShowMessage(ex.Message); } catch (System.Data.Entity.Core.EntityException ex) { dialogService.ShowMessage(ex.Message); } } }
//load data array from "WorkTypes" table private void LoadWorkTypesData() { using (StudentuConteiner db = new StudentuConteiner()) { try { var list = db.WorkTypes.ToList <WorkType>(); foreach (var item in list) { WorkTypesRecords.Add( new WorkType { WorkTypeId = item.WorkTypeId, TypeOfWork = item.TypeOfWork }); } WorkType = WorkTypesRecords[0]; } catch (ArgumentNullException ex) { dialogService.ShowMessage(ex.Message); } catch (OverflowException ex) { dialogService.ShowMessage(ex.Message); } catch (System.Data.SqlClient.SqlException ex) { dialogService.ShowMessage(ex.Message); } catch (System.Data.Entity.Core.EntityCommandExecutionException ex) { dialogService.ShowMessage(ex.Message); } catch (System.Data.Entity.Core.EntityException ex) { dialogService.ShowMessage(ex.Message); } } }