public ActionResult AddEditStaffDepartmentBranch(StaffDepartmentBranchDto itemToAddEdit)
        {
            string error = String.Empty;
            bool result = false;

            if (ValidateModel(itemToAddEdit, out error))
            {
                if (StaffListBl.SaveStaffDepartmentBranch(itemToAddEdit, out error))
                    result = true;
            }

            StaffDepartmentBranchModel model = StaffListBl.GetStaffDepartmentBranch(new StaffDepartmentBranchModel());
            ViewBag.Error = error;

            return Json(new { ok = result, msg = error, model.Branches });
        }
Exemple #2
0
        /// <summary>
        /// Проверка сохраняемой строки справочника кодировок филиалов.
        /// </summary>
        /// <param name="Row">Строка.</param>
        /// <param name="error"></param>
        /// <returns></returns>
        public bool ValidateDepartmentBranchRow(StaffDepartmentBranchDto Row, out string error)
        {
            //решил сделать все проврки здесь, чтобы все было в одном месте.
            error = string.Empty;

            //проверка на заполнение полей
            if (string.IsNullOrEmpty(Row.Name) || string.IsNullOrWhiteSpace(Row.Name) || string.IsNullOrEmpty(Row.Code) || string.IsNullOrWhiteSpace(Row.Code))
            {
                error = "Поля Название и Код филиала должны быть заполнены!";
                return false;
            }

            //проверка на правильное заполнение поля с кодом
            if (Row.Code.Trim().Length != 2)
            {
                error = "Код филиала должен состоять из двух символов!";
                return false;
            }

            //проверка на повтор полей
            IList<StaffDepartmentBranch> db = StaffDepartmentBranchDao.LoadAll();
            if (db != null && db.Count != 0)
            {
                if (db.Where(x => x.Name == Row.Name && x.Id != Row.Id).Count() > 0)
                {
                    error = "Строка с таким названием филиала уже существует!";
                    return false;
                }

                if (db.Where(x => x.Code == Row.Code && x.Id != Row.Id).Count() > 0)
                {
                    error = "Строка с таким кодом филиала уже существует!";
                    return false;
                }

                //проверка на вторичную привязку к подразделениям СКД
                if (db.Where(x => x.Department != null).Where(x => x.Department.Id == Row.DepartmentId && x.Id != Row.Id).Count() > 0)
                {
                    error = "Это подразделение из СКД уже привязано к другому филиалу Финграда!";
                    return false;
                }
            }

            return true;
        }
Exemple #3
0
        /// <summary>
        /// Сохраняем данные справочника кодировок филиалов.
        /// </summary>
        /// <param name="itemToAddEdit"></param>
        /// <param name="error"></param>
        /// <returns></returns>
        public bool SaveStaffDepartmentBranch(StaffDepartmentBranchDto itemToAddEdit, out string error)
        {
            error = string.Empty;
            User curUser = UserDao.Load(AuthenticationService.CurrentUser.Id);

            StaffDepartmentBranch entity = itemToAddEdit.Id == 0 ? null : StaffDepartmentBranchDao.Load(itemToAddEdit.Id);
            if (entity == null)
            {
                entity = new StaffDepartmentBranch()
                {
                    Code = itemToAddEdit.Code,
                    Name = itemToAddEdit.Name,
                    Department = itemToAddEdit.DepartmentId == 0 ? null : DepartmentDao.Load(itemToAddEdit.DepartmentId),
                    Creator = curUser,
                    CreateDate = DateTime.Now
                };
            }
            else
            {
                entity.Code = itemToAddEdit.Code;
                entity.Name = itemToAddEdit.Name;
                entity.Department = itemToAddEdit.DepartmentId == 0 ? null : DepartmentDao.Load(itemToAddEdit.DepartmentId);
                entity.Editor = curUser;
                entity.EditDate = DateTime.Now;
            }

            try
            {
                StaffDepartmentBranchDao.SaveAndFlush(entity);
                error = "Данные сохранены!";
            }
            catch (Exception ex)
            {
                StaffDepartmentBranchDao.RollbackTran();
                error = string.Format("Произошла ошибка при сохранении данных! Исключение:{0}", ex.GetBaseException().Message);
                return false;
            }

            return true;
        }
 protected bool ValidateModel(StaffDepartmentBranchDto EditRow, out string error)
 {
     error = string.Empty;
     return StaffListBl.ValidateDepartmentBranchRow(EditRow, out error);
 }