Exemple #1
0
        protected override void InsertValidate(RuleCategory ruleCategory)
        {
            if (!this.EnableInsertValidate)
            {
                return;
            }

            UIValidationExceptions exception = new UIValidationExceptions();

            if (Utility.IsEmpty(ruleCategory.Name))
            {
                exception.Add(ExceptionResourceKeys.RuleCategoryNameRequierd, "درج - نام دسته قانون نباید خالی باشد", ExceptionSrc);
            }
            else
            {
                if (RuleCategoryRep.GetCountByCriteria(new CriteriaStruct(Utility.GetPropertyName(() => ruleCategory.Name), ruleCategory.Name)) > 0)
                {
                    exception.Add(ExceptionResourceKeys.RuleCategoryNameRepeated, "درج - نام دسته قانون نباید تکراری باشد", ExceptionSrc);
                }
                //TODO: درصورتیکه نیاز شد عملیات به دلیل وارد نکردن قانون برای دسته قانون متوقف شود این کد اصلاح گردد
                //else if (ruleCategory.InsertedTemplateIDs == null
                //            ||
                //         ruleCategory.InsertedTemplateIDs.Count() == 0)
                //{
                //    return ;
                //}
            }

            if (exception.Count > 0)
            {
                throw exception;
            }
        }
Exemple #2
0
        /// <summary>
        /// اعتبارسنجی عملیات درج
        /// </summary>
        /// <param name="assignRule">قوانین تخصیص داده شده به پرسنل</param>
        protected override void InsertValidate(PersonRuleCatAssignment assignRule)
        {
            UIValidationExceptions exception = new UIValidationExceptions();
            RuleCategoryRepository catRep = new RuleCategoryRepository(false);
            PersonRepository       personRep = new PersonRepository(false);
            DateTime fromDate, toDate;

            this.CheckUserInterfaceRuleGroup(assignRule.Person);
            if (assignRule.Person == null || personRep.GetCountByCriteria(new CriteriaStruct(Utility.GetPropertyName(() => new Person().ID), assignRule.Person.ID)) == 0)
            {
                exception.Add(new ValidationException(ExceptionResourceKeys.AssignRulePersonIdNotExsits, "پرسنلی با این مشخصات یافت نشد", ExceptionSrc));
            }
            if (assignRule.RuleCategory == null || catRep.GetCountByCriteria(new CriteriaStruct(Utility.GetPropertyName(() => new RuleCategory().ID), assignRule.RuleCategory.ID)) == 0)
            {
                exception.Add(new ValidationException(ExceptionResourceKeys.AssignRuleIdNotExsits, "گروه قانون با این مشخصات یافت نشد", ExceptionSrc));
            }
            if (!DateTime.TryParse(assignRule.FromDate, out fromDate) || !DateTime.TryParse(assignRule.ToDate, out toDate))
            {
                exception.Add(new ValidationException(ExceptionResourceKeys.AssignRuleDateFormatProblem, "فرمت تاریخ انتساب گروه قانون نادرست میباشد", ExceptionSrc));
            }
            else if (fromDate < Utility.GTSMinStandardDateTime || toDate < Utility.GTSMinStandardDateTime)
            {
                exception.Add(new ValidationException(ExceptionResourceKeys.AssignRuleDateSmallerThanStandardValue, "مقدار تاریخ انتساب گروه قانون از حد مجاز کمتر میباشد", ExceptionSrc));
            }
            else if (toDate != Utility.GTSMinStandardDateTime && fromDate >= toDate)
            {
                exception.Add(new ValidationException(ExceptionResourceKeys.AssignRuleFromDateGreaterThanToDate, "تاریخ انتساب گروه قانون ابتدا از انتها بزرگتر است", ExceptionSrc));
            }
            else if (exception.Count == 0)
            {
                IList <PersonRuleCatAssignment> list = asignRepository.GetByCriteria(new CriteriaStruct(Utility.GetPropertyName(() => new PersonRuleCatAssignment().PersonId), assignRule.Person.ID));
                //IList<PersonRuleCatAssignment> sortedList = list.OrderBy(o => o.FromDate).ToList();
                //if (Utility.ToMildiDateTime(sortedList.Last().ToDate).AddDays(1) != Utility.ToMildiDateTime(assignRule.FromDate) && Utility.ToMildiDateTime(assignRule.FromDate) > Utility.ToMildiDateTime(sortedList.Last().ToDate))
                //{
                //    exception.Add(ExceptionResourceKeys.AssignParameterHasNotSpace, "بین محدوده انتسابها فاصله  انتساب داده نشده نباید وجود داشته باشد", ExceptionSrc);
                //}
                if (list.Where(x => Utility.ToMildiDateTime(x.FromDate) <= Utility.ToMildiDateTime(assignRule.ToDate) && Utility.ToMildiDateTime(x.ToDate) >= Utility.ToMildiDateTime(assignRule.ToDate)).Count() > 0
                    ||
                    list.Where(x => Utility.ToMildiDateTime(x.FromDate) <= Utility.ToMildiDateTime(assignRule.FromDate) && Utility.ToMildiDateTime(x.ToDate) >= Utility.ToMildiDateTime(assignRule.FromDate)).Count() > 0
                    ||
                    list.Where(x => Utility.ToMildiDateTime(x.FromDate) >= Utility.ToMildiDateTime(assignRule.FromDate) && Utility.ToMildiDateTime(x.FromDate) <= Utility.ToMildiDateTime(assignRule.ToDate)).Count() > 0
                    )
                {
                    exception.Add(new ValidationException(ExceptionResourceKeys.AssignRuleDateHasConfilict, "تاریخ انتساب گروه قانون با تاریخ های قبلی همپوشانی دارد", ExceptionSrc));
                }
            }
            if (exception.Count > 0)
            {
                throw exception;
            }
        }
Exemple #3
0
        /// <summary>
        /// اعتبارسنجی عملیات ویرایش
        /// </summary>
        /// <param name="assignRule">قوانین تخصیص داده شده به پرسنل</param>
        protected override void UpdateValidate(PersonRuleCatAssignment assignRule)
        {
            UIValidationExceptions exception = new UIValidationExceptions();
            RuleCategoryRepository catRep = new RuleCategoryRepository(false);
            DateTime         fromDate, toDate;
            PersonRepository personRep = new PersonRepository(false);

            if (assignRule.Person == null || personRep.GetCountByCriteria(new CriteriaStruct(Utility.GetPropertyName(() => new Person().ID), assignRule.Person.ID)) == 0)
            {
                exception.Add(new ValidationException(ExceptionResourceKeys.AssignRulePersonIdNotExsits, "پرسنلی با این مشخصات یافت نشد", ExceptionSrc));
            }
            if (assignRule.RuleCategory == null || catRep.GetCountByCriteria(new CriteriaStruct(Utility.GetPropertyName(() => new RuleCategory().ID), assignRule.RuleCategory.ID)) == 0)
            {
                exception.Add(new ValidationException(ExceptionResourceKeys.AssignRuleIdNotExsits, "گروه قانون با این مشخصات یافت نشد", ExceptionSrc));
            }
            if (!DateTime.TryParse(assignRule.FromDate, out fromDate) || !DateTime.TryParse(assignRule.ToDate, out toDate))
            {
                exception.Add(new ValidationException(ExceptionResourceKeys.AssignRuleDateFormatProblem, "فرمت تاریخ انتساب گروه قانون نادرست میباشد", ExceptionSrc));
            }
            else if (fromDate < Utility.GTSMinStandardDateTime || toDate < Utility.GTSMinStandardDateTime)
            {
                exception.Add(new ValidationException(ExceptionResourceKeys.AssignRuleDateSmallerThanStandardValue, "مقدار تاریخ انتساب گروه قانون از حد مجاز کمتر میباشد", ExceptionSrc));
            }
            else if (toDate != Utility.GTSMinStandardDateTime && fromDate >= toDate)
            {
                exception.Add(new ValidationException(ExceptionResourceKeys.AssignRuleFromDateGreaterThanToDate, "تاریخ انتساب گروه قانون ابتدا از انتها بزرگتر است", ExceptionSrc));
            }
            else if (exception.Count == 0)
            {
                IList <PersonRuleCatAssignment> list = asignRepository.GetByCriteria(new CriteriaStruct(Utility.GetPropertyName(() => new PersonRuleCatAssignment().PersonId), assignRule.Person.ID),
                                                                                     new CriteriaStruct(Utility.GetPropertyName(() => new PersonRuleCatAssignment().ID), assignRule.ID, CriteriaOperation.NotEqual));
                if (list.Where(x => Utility.ToMildiDateTime(x.FromDate) <= Utility.ToMildiDateTime(assignRule.ToDate) && Utility.ToMildiDateTime(x.ToDate) >= Utility.ToMildiDateTime(assignRule.ToDate)).Count() > 0
                    ||
                    list.Where(x => Utility.ToMildiDateTime(x.FromDate) <= Utility.ToMildiDateTime(assignRule.FromDate) && Utility.ToMildiDateTime(x.ToDate) >= Utility.ToMildiDateTime(assignRule.FromDate)).Count() > 0
                    ||
                    list.Where(x => Utility.ToMildiDateTime(x.FromDate) >= Utility.ToMildiDateTime(assignRule.FromDate) && Utility.ToMildiDateTime(x.FromDate) <= Utility.ToMildiDateTime(assignRule.ToDate)).Count() > 0
                    )
                {
                    exception.Add(new ValidationException(ExceptionResourceKeys.AssignRuleDateHasConfilict, "تاریخ انتساب گروه قانون با تاریخ های قبلی همپوشانی دارد", ExceptionSrc));
                }
            }
            if (exception.Count > 0)
            {
                throw exception;
            }
        }