private void AddDepartment() { var context = new PSOConnect(); var mainDepartment = context.mainDepartment.FirstOrDefault(mainDepartments => mainDepartments.address.Equals(MainDepartmentField.Text)); mainDepartment currentMainDepartment = null; if (mainDepartment == null) { currentMainDepartment = new mainDepartment { idMainDepartment = context.mainDepartment.Count() > 0 ? context.mainDepartment.Max(mainDepartments => mainDepartments.idMainDepartment) + 1 : 1, address = MainDepartmentField.Text }; context.mainDepartment.Add(currentMainDepartment); } var idMainDepartment = mainDepartment == null ? currentMainDepartment.idMainDepartment : mainDepartment.idMainDepartment; var department = context.department.FirstOrDefault(departments => departments.address.Equals(DepartmentField.Text) && departments.idMainDepartment == idMainDepartment); department currentDepartment = null; if (department == null) { currentDepartment = new department { idDepartment = context.department.Count() > 0 ? context.department.Max(departments => departments.idDepartment) + 1 : 1, address = DepartmentField.Text, }; context.department.Add(currentDepartment); var mainDep = mainDepartment == null ? currentMainDepartment : mainDepartment; mainDep.department.Add(currentDepartment); } var idDepartment = department == null ? currentDepartment.idDepartment : department.idDepartment; var region = context.region.FirstOrDefault(regions => regions.address.Equals(RegionField.Text) && regions.idDepartment == idDepartment); region currentRegion = null; if (region == null) { currentRegion = new region { idRegion = context.region.Count() > 0 ? context.region.Max(regions => regions.idRegion) + 1 : 1, address = RegionField.Text }; context.region.Add(currentRegion); var depart = department == null ? currentDepartment : department; depart.region.Add(currentRegion); } context.SaveChanges(); }
private void EditDepartement() { if (CheckExist()) { return; } var context = new PSOConnect(); var region = context.region.FirstOrDefault(regions => regions.idRegion == _idRegion); region.address = RegionField.Text; var department = context.department.FirstOrDefault(departments => departments.idDepartment == region.idDepartment); var checkExistDepartment = context.department.FirstOrDefault(departments => departments.address.Equals(DepartmentField.Text)); department currentDepartment = null; if (department.region.Count == 1) { currentDepartment = department; department.address = DepartmentField.Text; } else if (checkExistDepartment != null) { currentDepartment = checkExistDepartment; checkExistDepartment.region.Add(region); } else { currentDepartment = new department { idDepartment = context.department.Count() > 0 ? context.department.Max(departments => departments.idDepartment) + 1 : 1, address = DepartmentField.Text }; currentDepartment.region.Add(region); context.department.Add(currentDepartment); } var mainDepartment = context.mainDepartment.FirstOrDefault(mainDepartments => mainDepartments.idMainDepartment == department.idMainDepartment); var checkExistMainDepartment = context.mainDepartment.FirstOrDefault(mainDepartments => mainDepartments.address.Equals(MainDepartmentField.Text)); mainDepartment currentMainDepartment = null; if (mainDepartment.department.Count == 1) { currentMainDepartment = mainDepartment; mainDepartment.address = MainDepartmentField.Text; } else if (checkExistMainDepartment != null) { currentMainDepartment = checkExistMainDepartment; checkExistMainDepartment.department.Add(currentDepartment); } else { currentMainDepartment = new mainDepartment { idMainDepartment = context.mainDepartment.Count() > 0 ? context.mainDepartment.Max(mainDepartments => mainDepartments.idMainDepartment) + 1 : 1, address = MainDepartmentField.Text }; currentMainDepartment.department.Add(currentDepartment); context.mainDepartment.Add(currentMainDepartment); } _updatedListInfo?.Invoke($"{region.idRegion}-АДРЕС РЕГИОНА: {region.address} АДРЕС ДЕПАРТАМЕНТА: {currentDepartment.address} АДРЕС ГЛАВНОГО ДЕПАРТАМЕНТА: {currentMainDepartment.address}"); context.SaveChanges(); }