Exemplo n.º 1
0
        /// <summary>
        /// Проверка сохраняемой строки справочника кодировок РП-привязок.
        /// </summary>
        /// <param name="Row">Строка.</param>
        /// <param name="error"></param>
        /// <returns></returns>
        public bool ValidateDepartmentRPLinkRow(StaffDepartmentRPLinkDto Row, out string error)
        {
            //решил сделать все проврки здесь, чтобы все было в одном месте.
            error = string.Empty;

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

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

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

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

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

            return true;
        }
Exemplo n.º 2
0
        public ActionResult AddEditStaffDepartmentRPLink(StaffDepartmentRPLinkDto itemToAddEdit, int BGFilterId, int AdminFilterId, int ManagementFilterId, int BranchFilterId)
        {
            string error = String.Empty;
            bool result = false;

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

            StaffDepartmentRPLinkModel model = StaffListBl.GetStaffDepartmentRPLink(new StaffDepartmentRPLinkModel(), BGFilterId, AdminFilterId, ManagementFilterId, BranchFilterId);
            ViewBag.Error = error;

            return Json(new { ok = result, msg = error, model.RPLinks });
        }
Exemplo n.º 3
0
        /// <summary>
        /// Сохраняем данные справочника кодировок РП-привязок.
        /// </summary>
        /// <param name="itemToAddEdit"></param>
        /// <param name="error"></param>
        /// <returns></returns>
        public bool SaveStaffDepartmentRPLink(StaffDepartmentRPLinkDto itemToAddEdit, out string error)
        {
            error = string.Empty;
            User curUser = UserDao.Load(AuthenticationService.CurrentUser.Id);

            StaffDepartmentRPLink entity = itemToAddEdit.rId == 0 ? null : StaffDepartmentRPLinkDao.Load(itemToAddEdit.rId);
            if (entity == null)
            {
                entity = new StaffDepartmentRPLink()
                {
                    Code = itemToAddEdit.rCode,
                    Name = itemToAddEdit.rName,
                    DepartmentBG = itemToAddEdit.BGId == 0 ? null : StaffDepartmentBusinessGroupDao.Get(itemToAddEdit.BGId),
                    Department = itemToAddEdit.rDepartmentId == 0 ? null : DepartmentDao.Load(itemToAddEdit.rDepartmentId),
                    Creator = curUser,
                    CreateDate = DateTime.Now
                };
            }
            else
            {
                entity.Code = itemToAddEdit.rCode;
                entity.Name = itemToAddEdit.rName;
                entity.DepartmentBG = itemToAddEdit.BGId == 0 ? null : StaffDepartmentBusinessGroupDao.Get(itemToAddEdit.BGId);
                entity.Department = itemToAddEdit.rDepartmentId == 0 ? null : DepartmentDao.Load(itemToAddEdit.rDepartmentId);
                entity.Editor = curUser;
                entity.EditDate = DateTime.Now;
            }

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

            return true;
        }
Exemplo n.º 4
0
 protected bool ValidateModel(StaffDepartmentRPLinkDto EditRow, out string error)
 {
     error = string.Empty;
     return StaffListBl.ValidateDepartmentRPLinkRow(EditRow, out error);
 }