Exemple #1
0
    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);
                }
            }
        }
    }
Exemple #4
0
    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);
 }
Exemple #6
0
    /// <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;
        }
    }