public decimal GetByPersonIdAndRuleCode(decimal personId, int ruleCode) { IList <decimal> kk = new List <decimal>(); UIValidationGrouping grouping = null; UIValidationGroup group = null; UIValidationRule rule = null; PersonTASpec person = null; IList <UIValidationGrouping> list = base.NHibernateSession.QueryOver <UIValidationGrouping>(() => grouping) .JoinAlias(() => grouping.ValidationGroup, () => group) .JoinAlias(() => group.PersonTAList, () => person) .JoinAlias(() => grouping.ValidationRule, () => rule) .Where(() => person.ID == personId) .And(() => rule.CustomCode == ruleCode.ToString()) .And(() => group.SubSystemId == (int)SubSystemIdentifier.TimeAtendance) .List <UIValidationGrouping>(); decimal result = list != null && list.Count > 0 ? list.First().ID : 0; return(result); }
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; } }