예제 #1
0
        public static void BindBuckets(RadDropDownList dd_Projects, RadDropDownList dd_Buckets, String BucketID, bool SelectCurrentlyViewed, bool ShowOnlyInactiveBuckets = false, bool OnlyCountContactsWithEmail = false)
        {
            if (dd_Projects.Items.Count > 0 && dd_Projects.SelectedItem != null)
            {
                String OnlyWithEmailExpr = String.Empty;
                if (OnlyCountContactsWithEmail)
                {
                    OnlyWithEmailExpr = " AND (Email IS NOT NULL OR PersonalEmail IS NOT NULL)";
                }

                String SumLeadsExpr = "SUM(CASE WHEN l.Active=1" + OnlyWithEmailExpr + " THEN 1 ELSE 0 END)";
                if (ShowOnlyInactiveBuckets)
                {
                    SumLeadsExpr = "SUM(CASE WHEN l.Active=0" + OnlyWithEmailExpr + " THEN 1 ELSE 0 END)";
                }

                String qry = "SELECT p.ProjectID, CONCAT(Name,' (',IFNULL(" + SumLeadsExpr + ",0),CASE WHEN IFNULL(" + SumLeadsExpr + ",0)=1 THEN ' lead)' ELSE ' leads)' END) as 'Name' " +
                             "FROM dbl_project p LEFT JOIN dbl_lead l ON p.ProjectID = l.ProjectID LEFT JOIN db_contact c ON c.ContactID = l.ContactID " +
                             "WHERE p.Active=@active AND p.IsBucket=1 AND ParentProjectID=@project_id GROUP BY p.ProjectID ORDER BY Name";
                DataTable dt_buckets = SQL.SelectDataTable(qry,
                                                           new String[] { "@project_id", "@active" },
                                                           new Object[] { dd_Projects.SelectedItem.Value, !ShowOnlyInactiveBuckets });

                dd_Buckets.DataSource     = dt_buckets;
                dd_Buckets.DataTextField  = "Name";
                dd_Buckets.DataValueField = "ProjectID";
                dd_Buckets.DataBind();

                if (SelectCurrentlyViewed)
                {
                    LeadsUtil.SelectCurrentlyViewedProject(dd_Buckets, BucketID);
                }
            }
        }
예제 #2
0
        public static void ReactivateOrDeactivateProject(String ProjectID, String UserID, bool Activate, String CustomLogEntry = "")
        {
            String Active = "1";

            if (!Activate)
            {
                Active = "0";
            }

            String uqry = "UPDATE dbl_Project SET Active=@active, DateModified=CURRENT_TIMESTAMP WHERE UserID=@user_id AND (ProjectID=@project_id OR ParentProjectID=@project_id); " +
                          "UPDATE dbl_lead JOIN db_contact ON dbl_lead.ContactID = db_contact.ContactID " +
                          "SET dbl_lead.Active=@active " +
                          "WHERE (ProjectID=@project_id OR ProjectID IN (SELECT ProjectID FROM dbl_Project WHERE ParentProjectID=@project_id)) AND DontContactDateSet IS NULL;";

            SQL.Update(uqry,
                       new String[] { "@user_id", "@project_id", "@active" },
                       new Object[] { UserID, ProjectID, Active });

            String LogMsg = "Project Reactivated";

            if (CustomLogEntry != String.Empty)
            {
                LogMsg = CustomLogEntry;
            }

            // Log
            LeadsUtil.AddProjectHistoryEntry(ProjectID, null, GetProjectFullNameFromID(ProjectID), LogMsg);
        }
예제 #3
0
        public static void BindProjects(RadDropDownList dd_Projects, RadDropDownList dd_Buckets, String ProjectID, String BucketID, bool SelectCurrentlyViewedParent, bool SelectCurrentlyViewedChild = true, bool ExcludeThisProject = false, bool OnlyCountContactsWithEmail = false)
        {
            String[] pn = new String[] { "@UserID", "@ThisProjectID" };
            Object[] pv = new Object[] { Util.GetUserId(), ProjectID };

            String exclude_expr = String.Empty;

            if (ExcludeThisProject)
            {
                exclude_expr = " AND dbl_project.ProjectID!=@ThisProjectID";
            }

            // Bind projects and buckets for moving leads
            String qry =
                "SELECT p.ProjectID, CONCAT(Name,CASE WHEN s.UserID IS NOT NULL THEN ' [Shared]' ELSE '' END) as Name " +
                "FROM dbl_project p " +
                "LEFT JOIN dbl_project_share s ON p.ProjectID = s.ProjectID " +
                "LEFT JOIN dbl_lead l ON p.ProjectID = l.ProjectID " +
                "WHERE p.Active=1 AND p.IsBucket=0 AND (p.UserID=@UserId OR s.UserID=@UserId)" + exclude_expr + " " +
                "GROUP BY p.ProjectID ORDER BY Name";
            DataTable dt_projects = SQL.SelectDataTable(qry, pn, pv);

            dd_Projects.DataSource     = dt_projects;
            dd_Projects.DataTextField  = "Name";
            dd_Projects.DataValueField = "ProjectID";
            dd_Projects.DataBind();

            if (SelectCurrentlyViewedParent)
            {
                LeadsUtil.SelectCurrentlyViewedProject(dd_Projects, ProjectID);
            }

            if (dd_Buckets != null)
            {
                BindBuckets(dd_Projects, dd_Buckets, BucketID, SelectCurrentlyViewedChild, false, OnlyCountContactsWithEmail);
            }
        }