private IList <IProcess> GetProcessList() { IRepository <IProcess> cRep = EntityFactory.GetRepository <IProcess>(); IExpressionFactory ep = ((IQueryable)cRep).GetExpressionFactory(); ICriteria crit = ((IQueryable)cRep).CreateCriteria(); // limit the number of Processes a user can see by joining to Contact table. crit = crit.CreateAlias("Contact", "C"); // build criteria based on currently selected tab switch (ID) { case "Starting": crit = crit.Add(ep.And(ep.Eq("Suspended", 0), ep.Eq("Status", 2))); break; case "InProcess": crit = crit.Add(ep.And(ep.Eq("Suspended", 0), ep.Eq("Status", 1))); break; case "Suspended": crit = crit.Add(ep.Eq("Suspended", 1)); break; case "Waiting": crit = crit.Add(ep.And(ep.Eq("Suspended", 0), ep.Eq("Status", -2))); break; case "Completed": crit = crit.Add(ep.And(ep.Eq("Suspended", 0), ep.Eq("Status", -100))); break; case "Aborted": crit = crit.Add(ep.Eq("Status", -101)); break; } if (SlxGridView1.CurrentSortExpression == "LFName") { crit.AddOrder(SlxGridView1.CurrentSortDirection == "Ascending" ? ep.Asc("C.LastName") : ep.Desc("C.LastName")); crit.AddOrder(SlxGridView1.CurrentSortDirection == "Ascending" ? ep.Asc("C.FirstName") : ep.Desc("C.FirstName")); } else { if (SlxGridView1.CurrentSortExpression.Length > 0 && // is expression specified? SlxGridView1.CurrentSortExpression != "C.S.") // no sorting on ChangeStatus column { crit.AddOrder(SlxGridView1.CurrentSortDirection == "Ascending" ? ep.Asc(SlxGridView1.CurrentSortExpression) : ep.Desc(SlxGridView1.CurrentSortExpression)); } } try { return(crit.List <IProcess>()); } catch { return(null); } }
/// <summary> /// Adds the distinct CampaignStage stage names to list. /// </summary> private void AddDistinctStageItemsToList() { lbxStages.Items.Clear(); lbxStages.Items.Add(""); IRepository <ICampaignStage> rep = EntityFactory.GetRepository <ICampaignStage>(); IQueryable query = (IQueryable)rep; IExpressionFactory expressions = query.GetExpressionFactory(); IProjections projections = query.GetProjectionsFactory(); ICriteria criteria = query.CreateCriteria() .SetProjection(projections.Distinct(projections.Property("Description"))) .Add(expressions.And(expressions.Eq("Campaign.Id", EntityContext.EntityID), expressions.IsNotNull("Description"))); IList <object> stages = criteria.List <object>(); if (stages != null) { foreach (string stage in stages) { if (!String.IsNullOrEmpty(stage)) { ListItem item = new ListItem { Text = stage }; lbxStages.Items.Add(item); } } } }
/// <summary> /// Adds the distinct CampaignTarget group names to list. /// </summary> private void AddDistinctGroupItemsToList() { lbxGroups.Items.Clear(); lbxGroups.Items.Add(String.Empty); IRepository <ICampaignTarget> rep = EntityFactory.GetRepository <ICampaignTarget>(); IQueryable query = (IQueryable)rep; IExpressionFactory expressions = query.GetExpressionFactory(); IProjections projections = query.GetProjectionsFactory(); ICriteria criteria = query.CreateCriteria() .SetProjection(projections.Distinct(projections.Property("GroupName"))) .Add(expressions.And(expressions.Eq("Campaign.Id", EntityContext.EntityID), expressions.IsNotNull("GroupName"))); IList <object> groups = criteria.List <object>(); if (groups != null) { foreach (string group in groups) { if (!String.IsNullOrEmpty(group)) { ListItem item = new ListItem { Text = @group }; lbxGroups.Items.Add(item); } } } }
private void LoadIndexes() { if ((_Indexes == null) || (_Indexes.Count == 0)) { IRepository <IIndexDefinition> rep = EntityFactory.GetRepository <IIndexDefinition>(); IQueryable qry = (IQueryable)rep; IExpressionFactory ef = qry.GetExpressionFactory(); ICriteria crit = qry.CreateCriteria(); IExpression accessExp = ef.Le("UserAccess", _UserType); crit.Add(ef.And(accessExp, ef.Eq("Enabled", true))); crit.AddOrder(ef.Asc("IndexName")); IList <IIndexDefinition> tempIndexes = crit.List <IIndexDefinition>(); //c.Add(NHibernate.Expression.Expression.Eq("Enabled", true)); //c.Add(Expression.Le("UserAccess", _UserType)); //c.AddOrder(Order.Asc("IndexName")); //List<IndexDefinition> tempIndexes = (List<IndexDefinition>)c.List<IndexDefinition>(); Assembly interfaceAsm = Assembly.GetAssembly(typeof(IIndexDefinition)); Type[] types = interfaceAsm.GetTypes(); _TablesEntities = new Dictionary <string, Type>(); foreach (Type entity in types) { AttributeCollection attrs = TypeDescriptor.GetAttributes(entity); foreach (Attribute attr in attrs) { ActiveRecordAttribute activeRecord = attr as ActiveRecordAttribute; if (activeRecord != null) { _TablesEntities.Add(activeRecord.Table.ToUpper(), entity); } } } _Indexes = new List <IIndexDefinition>(); foreach (IIndexDefinition index in tempIndexes) { if (index.Type == 1) // database index { DBIndexDefinition dbid = DBIndexDefinition.SetFromString(index.MetaData); if (_TablesEntities.ContainsKey(dbid.MainTable.ToUpper())) { _Indexes.Add(index); } } else { _Indexes.Add(index); } } } }
private string GetFromUserId() { if (string.IsNullOrEmpty(_FromUser)) { IRepository <UserNotification> notifRep = EntityFactory.GetRepository <UserNotification>(); IQueryable qry = (IQueryable)notifRep; IExpressionFactory ef = qry.GetExpressionFactory(); ICriteria crit = qry.CreateCriteria(); IExpression userExp = ef.Eq("ToUserId", _UserId); IExpression activityExp = ef.Eq("ActivityId", _ActivityId); IList <UserNotification> confirms = crit.Add(ef.And(userExp, activityExp)).List <UserNotification>(); _FromUser = confirms.Count > 0 ? confirms[0].FromUserId : _CurrentActivity.UserId; } return(_FromUser); }
/// <summary> /// Assigns the campaign target. /// </summary> private void AssignCampaignTarget() { ITargetResponse targetResponse = BindingSource.Current as ITargetResponse; if (targetResponse.Campaign != null) { ICampaignTarget campaignTarget = targetResponse.CampaignTarget; if (targetResponse.CampaignTarget == null) { ICampaign campaign = (ICampaign)lueCampaign.LookupResultValue; Object entityId; if (rdgTargetType.SelectedIndex == 1) { entityId = targetResponse.Lead.Id; } else { entityId = targetResponse.Contact.Id; } IRepository <ICampaignTarget> repository = EntityFactory.GetRepository <ICampaignTarget>(); IQueryable query = (IQueryable)repository; IExpressionFactory expFactory = query.GetExpressionFactory(); ICriteria criteria = query.CreateCriteria() .Add(expFactory.And( expFactory.Eq("EntityId", entityId), expFactory.Eq("Campaign.Id", campaign.Id))); IList <ICampaignTarget> targets = criteria.List <ICampaignTarget>(); if (targets.Count > 0) { campaignTarget = targets[0]; } else { campaignTarget = EntityFactory.Create <ICampaignTarget>(); campaignTarget.Stage = targetResponse.Stage; if (rdgTargetType.SelectedIndex == 1) { if (targetResponse.Lead != null) { campaignTarget.EntityId = targetResponse.Lead.Id.ToString(); campaignTarget.TargetType = "Lead"; } } else if (targetResponse.Contact != null) { campaignTarget.EntityId = targetResponse.Contact.Id.ToString(); campaignTarget.TargetType = "Contact"; } campaignTarget.Campaign = targetResponse.Campaign; campaignTarget.Status = GetLocalResourceObject("CampaignTargetStatus").ToString(); } } else { if (rdgTargetType.SelectedIndex == 1) { if (targetResponse.Lead != null) { campaignTarget.EntityId = targetResponse.Lead.Id.ToString(); campaignTarget.TargetType = "Lead"; } } else if (targetResponse.Contact != null) { campaignTarget.EntityId = targetResponse.Contact.Id.ToString(); campaignTarget.TargetType = "Contact"; } campaignTarget.Campaign = targetResponse.Campaign; campaignTarget.Status = GetLocalResourceObject("CampaignTargetStatus").ToString(); } targetResponse.CampaignTarget = campaignTarget; } else { //don't create a campaignTarget targetResponse.CampaignTarget = null; } }