/// <summary> /// Проверка сохраняемой строки справочника кодировок дирекций. /// </summary> /// <param name="Row">Строка.</param> /// <param name="error"></param> /// <returns></returns> public bool ValidateDepartmentManagementRow(StaffDepartmentManagementDto Row, out string error) { //решил сделать все проврки здесь, чтобы все было в одном месте. error = string.Empty; //проверка на заполнение полей if (string.IsNullOrEmpty(Row.mName) || string.IsNullOrWhiteSpace(Row.mName) || string.IsNullOrEmpty(Row.mCode) || string.IsNullOrWhiteSpace(Row.mCode)) { error = "Поля Название и Код дирекции должны быть заполнены!"; return false; } //проверка на правильное заполнение поля с кодом if (Row.mCode.Trim().Length != 3) { error = "Код дирекции должен состоять из трех символов!"; return false; } //проверка на повтор полей IList<StaffDepartmentManagement> db = StaffDepartmentManagementDao.LoadAll(); if (db != null && db.Count != 0) { if (db.Where(x => x.Name == Row.mName && x.Id != Row.mId).Count() > 0) { error = "Строка с таким названием филиала уже существует!"; return false; } if (db.Where(x => x.Code == Row.mCode && x.Id != Row.mId).Count() > 0) { error = "Строка с таким кодом филиала уже существует!"; return false; } //проверка на вторичную привязку к подразделениям СКД if (db.Where(x => x.Department != null) .Where(x => x.Department.Id == Row.mDepartmentId && x.Id != Row.mId) .Count() > 0) { error = "Это подразделение из СКД уже привязано к другой дирекции Финграда!"; return false; } } return true; }
public ActionResult AddEditStaffDepartmentMenegment(StaffDepartmentManagementDto itemToAddEdit) { string error = String.Empty; bool result = false; if (ValidateModel(itemToAddEdit, out error)) { if (StaffListBl.SaveStaffDepartmentManagement(itemToAddEdit, out error)) result = true; } StaffDepartmentManagementModel model = StaffListBl.GetStaffDepartmentManagement(new StaffDepartmentManagementModel()); ViewBag.Error = error; return Json(new { ok = result, msg = error, model.Managements }); }
/// <summary> /// Сохраняем данные справочника кодировок дирекций. /// </summary> /// <param name="itemToAddEdit"></param> /// <param name="error"></param> /// <returns></returns> public bool SaveStaffDepartmentManagement(StaffDepartmentManagementDto itemToAddEdit, out string error) { error = string.Empty; User curUser = UserDao.Load(AuthenticationService.CurrentUser.Id); StaffDepartmentManagement entity = itemToAddEdit.mId == 0 ? null : StaffDepartmentManagementDao.Load(itemToAddEdit.mId); if (entity == null) { entity = new StaffDepartmentManagement() { Code = itemToAddEdit.mCode, Name = itemToAddEdit.mName, DepartmentBranch = itemToAddEdit.BranchId == 0 ? null : StaffDepartmentBranchDao.Get(itemToAddEdit.BranchId), Department = itemToAddEdit.mDepartmentId == 0 ? null : DepartmentDao.Load(itemToAddEdit.mDepartmentId), Creator = curUser, CreateDate = DateTime.Now }; } else { entity.Code = itemToAddEdit.mCode; entity.Name = itemToAddEdit.mName; entity.DepartmentBranch = itemToAddEdit.BranchId == 0 ? null : StaffDepartmentBranchDao.Get(itemToAddEdit.BranchId); entity.Department = itemToAddEdit.mDepartmentId == 0 ? null : DepartmentDao.Load(itemToAddEdit.mDepartmentId); entity.Editor = curUser; entity.EditDate = DateTime.Now; } try { StaffDepartmentManagementDao.SaveAndFlush(entity); error = "Данные сохранены!"; } catch (Exception ex) { StaffDepartmentManagementDao.RollbackTran(); error = string.Format("Произошла ошибка при сохранении данных! Исключение:{0}", ex.GetBaseException().Message); return false; } return true; }
protected bool ValidateModel(StaffDepartmentManagementDto EditRow, out string error) { error = string.Empty; return StaffListBl.ValidateDepartmentManagementRow(EditRow, out error); }