예제 #1
0
        public ActionResult AddEditStaffDepartmentAdministration(StaffDepartmentAdministrationDto itemToAddEdit, int ManagementFilterId, int BranchFilterId)
        {
            string error = String.Empty;
            bool result = false;

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

            StaffDepartmentAdministrationModel model = StaffListBl.GetStaffDepartmentAdministration(new StaffDepartmentAdministrationModel(), ManagementFilterId, BranchFilterId);
            ViewBag.Error = error;

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

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

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

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

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

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

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

            StaffDepartmentAdministration entity = itemToAddEdit.aId == 0 ? null : StaffDepartmentAdministrationDao.Load(itemToAddEdit.aId);
            if (entity == null)
            {
                entity = new StaffDepartmentAdministration()
                {
                    Code = itemToAddEdit.aCode,
                    Name = itemToAddEdit.aName,
                    DepartmentManagement = itemToAddEdit.ManagementId == 0 ? null : StaffDepartmentManagementDao.Get(itemToAddEdit.ManagementId),
                    Department = itemToAddEdit.aDepartmentId == 0 ? null : DepartmentDao.Load(itemToAddEdit.aDepartmentId),
                    Creator = curUser,
                    CreateDate = DateTime.Now
                };
            }
            else
            {
                entity.Code = itemToAddEdit.aCode;
                entity.Name = itemToAddEdit.aName;
                entity.DepartmentManagement = itemToAddEdit.ManagementId == 0 ? null : StaffDepartmentManagementDao.Get(itemToAddEdit.ManagementId);
                entity.Department = itemToAddEdit.aDepartmentId == 0 ? null : DepartmentDao.Load(itemToAddEdit.aDepartmentId);
                entity.Editor = curUser;
                entity.EditDate = DateTime.Now;
            }

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

            return true;
        }
예제 #4
0
 protected bool ValidateModel(StaffDepartmentAdministrationDto EditRow, out string error)
 {
     error = string.Empty;
     return StaffListBl.ValidateDepartmentAdministrationRow(EditRow, out error);
 }