/// <summary> /// Проверка сохраняемой строки справочника кодировок бизнес-групп. /// </summary> /// <param name="Row">Строка.</param> /// <param name="error"></param> /// <returns></returns> public bool ValidateDepartmentBusinessGroupRow(StaffDepartmentBusinessGroupDto Row, out string error) { //решил сделать все проврки здесь, чтобы все было в одном месте. error = string.Empty; //проверка на заполнение полей if (string.IsNullOrEmpty(Row.bName) || string.IsNullOrWhiteSpace(Row.bName) || string.IsNullOrEmpty(Row.bCode) || string.IsNullOrWhiteSpace(Row.bCode)) { error = "Поля Название и Код бизнес-группы должны быть заполнены!"; return false; } //проверка на правильное заполнение поля с кодом if (Row.bCode.Trim().Length != 11) { error = "Код бизнес-группы должен состоять из 11 символов!"; return false; } //проверка на повтор полей IList<StaffDepartmentBusinessGroup> db = StaffDepartmentBusinessGroupDao.LoadAll(); if (db != null && db.Count != 0) { if (db.Where(x => x.Name == Row.bName && x.Id != Row.bId).Count() > 0) { error = "Строка с таким названием бизнес-группы уже существует!"; return false; } if (db.Where(x => x.Code == Row.bCode && x.Id != Row.bId).Count() > 0) { error = "Строка с таким кодом бизнес-группы уже существует!"; return false; } //проверка на вторичную привязку к подразделениям СКД if (db.Where(x => x.Department != null) .Where(x => x.Department.Id == Row.bDepartmentId && x.Id != Row.bId) .Count() > 0) { error = "Эта подразделение из СКД уже привязано к другой бизнес-группе Финграда!"; return false; } } return true; }
protected bool ValidateModel(StaffDepartmentBusinessGroupDto EditRow, out string error) { error = string.Empty; return StaffListBl.ValidateDepartmentBusinessGroupRow(EditRow, out error); }
/// <summary> /// Сохраняем данные справочника кодировок бизнес-групп. /// </summary> /// <param name="itemToAddEdit"></param> /// <param name="error"></param> /// <returns></returns> public bool SaveStaffDepartmentBusinessGroup(StaffDepartmentBusinessGroupDto itemToAddEdit, out string error) { error = string.Empty; User curUser = UserDao.Load(AuthenticationService.CurrentUser.Id); StaffDepartmentBusinessGroup entity = itemToAddEdit.bId == 0 ? null : StaffDepartmentBusinessGroupDao.Load(itemToAddEdit.bId); if (entity == null) { entity = new StaffDepartmentBusinessGroup() { Code = itemToAddEdit.bCode, Name = itemToAddEdit.bName, DepartmentAdministration = itemToAddEdit.AdminId == 0 ? null : StaffDepartmentAdministrationDao.Get(itemToAddEdit.AdminId), Department = itemToAddEdit.bDepartmentId == 0 ? null : DepartmentDao.Load(itemToAddEdit.bDepartmentId), Creator = curUser, CreateDate = DateTime.Now }; } else { entity.Code = itemToAddEdit.bCode; entity.Name = itemToAddEdit.bName; entity.DepartmentAdministration = itemToAddEdit.AdminId == 0 ? null : StaffDepartmentAdministrationDao.Get(itemToAddEdit.AdminId); entity.Department = itemToAddEdit.bDepartmentId == 0 ? null : DepartmentDao.Load(itemToAddEdit.bDepartmentId); entity.Editor = curUser; entity.EditDate = DateTime.Now; } try { StaffDepartmentBusinessGroupDao.SaveAndFlush(entity); error = "Данные сохранены!"; } catch (Exception ex) { StaffDepartmentBusinessGroupDao.RollbackTran(); error = string.Format("Произошла ошибка при сохранении данных! Исключение:{0}", ex.GetBaseException().Message); return false; } return true; }
public ActionResult AddEditStaffDepartmentBusinessGroup(StaffDepartmentBusinessGroupDto itemToAddEdit, int AdminFilterId, int ManagementFilterId, int BranchFilterId) { string error = String.Empty; bool result = false; if (ValidateModel(itemToAddEdit, out error)) { if (StaffListBl.SaveStaffDepartmentBusinessGroup(itemToAddEdit, out error)) result = true; } StaffDepartmentBusinessGroupModel model = StaffListBl.GetStaffDepartmentBusinessGroup(new StaffDepartmentBusinessGroupModel(), AdminFilterId, ManagementFilterId, BranchFilterId); ViewBag.Error = error; return Json(new { ok = result, msg = error, model.BusinessGroups }); }