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); } }
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; } }