Пример #1
0
    private void Fill_GridRulePrecards_RulePrecards(decimal groupId, decimal ruleId, int ruleGroupType, int ruleType, string searchValue, int customCode, bool ruleTagExist)
    {
        string[] retMessage = new string[4];
        try
        {
            IList <UiValidationRulePrecardParamProxy> rulePrecardParamProxyList = new List <UiValidationRulePrecardParamProxy>();
            if (ruleType == (int)UIValidationRuleType.RuleParameter)
            {
                this.GridRulePrecards_RulePrecards.Levels.Remove(0);
                this.GridRulePrecards_RulePrecards.Width = 910;
                IList <UIValidationRuleParameterProxy> ruleParameterProxyList = this.UiValidationBusiness.GetRuleParameters(ruleId, groupId, null);
                IList <UIValidationRuleParameterProxy> ruleParameterList      = ruleParameterProxyList.Where(x => x.ExistParam == (int)UIValidationExistance.Exist).ToList <UIValidationRuleParameterProxy>();
                if (ruleParameterList.Count > 0)
                {
                    UiValidationRulePrecardParamProxy RulePrecardParamProxy = this.GetRulePrcardParamValue(null, ruleParameterList);
                    rulePrecardParamProxyList.Add(RulePrecardParamProxy);
                }
                this.GridRulePrecards_RulePrecards.PageSize   = ruleParameterProxyList.Count();
                this.GridRulePrecards_RulePrecards.DataSource = ruleParameterProxyList;
                this.GridRulePrecards_RulePrecards.DataBind();
            }
            else
            {
                if (ruleType == (int)UIValidationRuleType.RulePrecard || ruleType == (int)UIValidationRuleType.RulePrecardParameter)
                {
                    if (ruleType == (int)UIValidationRuleType.RulePrecard)
                    {
                        this.GridRulePrecards_RulePrecards.Levels.RemoveAt(1);
                    }
                    IList <UIValidationRulePrecardProxy> RulePrecardProxyList = this.UiValidationBusiness.GetRulePrecards(groupId, ruleId, ruleGroupType, searchValue, ruleType);

                    this.GridRulePrecards_RulePrecards.PageSize = RulePrecardProxyList.Count();
                    foreach (UIValidationRulePrecardProxy rulePrecard in RulePrecardProxyList)
                    {
                        GridItem gridItemPrecard = new GridItem(this.GridRulePrecards_RulePrecards, 0, rulePrecard);
                        IList <UIValidationRuleParameterProxy> ruleParameterProxyList = this.UiValidationBusiness.GetRuleParameters(ruleId, groupId, rulePrecard);
                        if (rulePrecard.ExistPrecard == 1)
                        {
                            UiValidationRulePrecardParamProxy RulePrecardParamProxy = this.GetRulePrcardParamValue(rulePrecard, ruleParameterProxyList);
                            rulePrecardParamProxyList.Add(RulePrecardParamProxy);
                        }
                        foreach (UIValidationRuleParameterProxy rulePrameterProxy in ruleParameterProxyList)
                        {
                            GridItem gridItemParameter = new GridItem(this.GridRulePrecards_RulePrecards, 1, rulePrameterProxy);
                            gridItemPrecard.Items.Add(gridItemParameter);
                        }
                        this.GridRulePrecards_RulePrecards.Items.Add(gridItemPrecard);
                        this.GridRulePrecards_RulePrecards.ExpandAll();
                    }
                }
            }
            if (ruleType == (int)UIValidationRuleType.Rule)
            {
                IList <UIValidationRulePrecardProxy> RulePrecardProxyList = this.UiValidationBusiness.GetRulePrecards(groupId, ruleId, ruleGroupType, string.Empty, ruleType);
                foreach (UIValidationRulePrecardProxy rulePrecard in RulePrecardProxyList)
                {
                    if (rulePrecard.ExistPrecard == 1)
                    {
                        UiValidationRulePrecardParamProxy RulePrecardParamProxy = this.GetRulePrcardParamValue(rulePrecard, null);
                        rulePrecardParamProxyList.Add(RulePrecardParamProxy);
                    }
                }
            }
            this.RulePrecardParamObjHiddenField_RulePrecards.Value = this.JsSerializer.Serialize(rulePrecardParamProxyList);
            if (ruleTagExist)
            {
                UIValidationRuleGroup ruleGroup = this.UiValidationBusiness.GetRuleGroup(ruleId, groupId);
                this.RuleDetailObjHiddenField_RulePrecards.Value = ruleGroup.Tag;
            }
        }
        catch (UIValidationExceptions ex)
        {
            retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.UIValidationExceptions, ex, retMessage);
            this.ErrorHiddenField_RulePrecards_RulePrecards.Value = this.exceptionHandler.CreateErrorMessage(retMessage);
        }
        catch (UIBaseException ex)
        {
            retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.UIBaseException, ex, retMessage);
            this.ErrorHiddenField_RulePrecards_RulePrecards.Value = this.exceptionHandler.CreateErrorMessage(retMessage);
        }
        catch (Exception ex)
        {
            retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.Exception, ex, retMessage);
            this.ErrorHiddenField_RulePrecards_RulePrecards.Value = this.exceptionHandler.CreateErrorMessage(retMessage);
        }
    }
Пример #2
0
        public void InsertRequestSubstitute(Request request)
        {
            try
            {
                RequestSubstitute            requestSubstitute                     = null;
                Person                       person                                = null;
                Precard                      precardAlias                          = null;
                UIValidationGroup            uiValidationGroupAlias                = null;
                UIValidationRule             uiValidationRuleAlias                 = null;
                UIValidationRuleGroup        uiValidationRuleGroupAlias            = null;
                UIValidationRuleGroupPrecard uiValidationRuleGroupPrecardAlias     = null;
                const string                 requestSubstituteUIValidationRuleCode = "33";
                BPerson                      bPerson                               = new BPerson();
                BUIValidationGroup           bUIValidationGroup                    = new BUIValidationGroup();
                UIValidationRuleGroup        RuleGroup                             = new UIValidationRuleGroup();
                JavaScriptSerializer         JsSerializer                          = new JavaScriptSerializer();
                NHibernate.IQueryOver <UIValidationRuleGroup, UIValidationRuleGroup> uiValidationRuleGroup = null;

                if (request != null && request.Person != null && request.Person.ID != 0)
                {
                    person = NHSession.QueryOver <Person>()
                             .Where(x => x.ID == request.Person.ID)
                             .SingleOrDefault();
                    if (person != null && person.PersonTASpec != null && person.PersonTASpec.UIValidationGroup != null)
                    {
                        uiValidationRuleGroup = this.NHSession.QueryOver <UIValidationRuleGroup>(() => uiValidationRuleGroupAlias)
                                                .JoinAlias(() => uiValidationRuleGroupAlias.ValidationGroup, () => uiValidationGroupAlias)
                                                .JoinAlias(() => uiValidationRuleGroupAlias.ValidationRule, () => uiValidationRuleAlias)
                                                .JoinAlias(() => uiValidationRuleGroupAlias.PrecardList, () => uiValidationRuleGroupPrecardAlias)
                                                .JoinAlias(() => uiValidationRuleGroupPrecardAlias.Precard, () => precardAlias)
                                                .Where(() => uiValidationGroupAlias.ID == person.PersonTASpec.UIValidationGroup.ID &&
                                                       uiValidationRuleGroupAlias.Active &&
                                                       uiValidationRuleAlias.ExistTag &&
                                                       uiValidationRuleAlias.CustomCode == requestSubstituteUIValidationRuleCode &&
                                                       uiValidationRuleGroupPrecardAlias.Active &&
                                                       precardAlias.ID == request.Precard.ID
                                                       );

                        if (request.Person.ID != request.User.Person.ID)
                        {
                            RuleGroup = uiValidationRuleGroup.Where(x => uiValidationRuleGroupPrecardAlias.Operator).SingleOrDefault();
                        }
                        else
                        {
                            RuleGroup = uiValidationRuleGroup.SingleOrDefault();
                        }
                        if (RuleGroup != null && RuleGroup.Tag != null && RuleGroup.Tag != string.Empty)
                        {
                            R33_UiValidationRuleTagValueProxy r33_UiValidationRuleTagValueProxy = JsSerializer.Deserialize <R33_UiValidationRuleTagValueProxy>(RuleGroup.Tag);
                            if (r33_UiValidationRuleTagValueProxy.IsForceConfirmByRequestSubstitute)
                            {
                                requestSubstitute                  = new RequestSubstitute();
                                requestSubstitute.Request          = request;
                                requestSubstitute.SubstitutePerson = request.SubstitutePerson;
                                requestSubstitute.OperationDate    = DateTime.Now;
                                this.SaveChanges(requestSubstitute, UIActionType.ADD);
                            }
                        }
                    }
                    NHSession.Evict(person);
                }
            }
            catch (Exception ex)
            {
                BaseBusiness <RequestSubstitute> .LogException(ex, "BRequestSubstitute", "InsertRequestSubstitute");

                throw ex;
            }
        }