コード例 #1
0
ファイル: StaffListBl.cs プロジェクト: andreyu/Reports
        /// <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;
        }
コード例 #2
0
 protected bool ValidateModel(StaffDepartmentBusinessGroupDto EditRow, out string error)
 {
     error = string.Empty;
     return StaffListBl.ValidateDepartmentBusinessGroupRow(EditRow, out error);
 }
コード例 #3
0
ファイル: StaffListBl.cs プロジェクト: andreyu/Reports
        /// <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;
        }
コード例 #4
0
        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 });
        }