/// <summary>
        /// Post Method to Load Dashboard grid
        /// </summary>
        /// <param name="sidx">the index id to be used in sorting</param>
        /// <param name="sord"> the sort order either ASC or DESC</param>
        /// <param name="page">the current page number</param>
        /// <param name="rows">the number of rows expected in the </param>
        /// <returns>as defined by the rowNum option or as selected by the user</returns>
        public JsonResult GetCampaignDashboardData(string sidx, string sord, int page, int rows, bool _search, string searchField, string searchOper, string searchString)
        {
            List <ACM.Model.Campaign> AcmCampaigns = new List <ACM.Model.Campaign>();
            string loginId = Utility.LoginId(User.Identity.Name);

            AcmCampaigns = campaignServiceClient.GetCampaignDashboard(loginId, "Active");

            if (_search)
            {
                if (searchField == "CampaignId")
                {
                    int field = 0;
                    if (int.TryParse(searchString, out field))
                    {
                        AcmCampaigns = AcmCampaigns.Where(x => x.CampaignId.Equals(field)).ToList();
                    }
                }
                else if ("CampaignName" == searchField)
                {
                    AcmCampaigns = AcmCampaigns.Where(x => x.CampaignName.Contains(searchString)).ToList();
                }
            }


            switch (sidx.Trim())
            {
            case "CampaignId":
                AcmCampaigns = (sord == "asc") ? AcmCampaigns.OrderBy(i => i.CampaignId).ToList() : AcmCampaigns.OrderByDescending(i => i.CampaignId).ToList();
                break;

            case "CampaignName":
                AcmCampaigns = (sord == "asc") ? AcmCampaigns.OrderBy(i => i.CampaignName).ToList() : AcmCampaigns.OrderByDescending(i => i.CampaignName).ToList();
                break;

            default:
                AcmCampaigns = (sord == "asc") ? AcmCampaigns.OrderBy(i => i.CampaignName).ToList() : AcmCampaigns.OrderByDescending(i => i.CampaignName).ToList();
                break;
            }

            var totalRecords = AcmCampaigns.Count();
            var assets       = from a in AcmCampaigns
                               select new
            {
                CampaignId   = a.CampaignId,
                CampaignName = a.CampaignName,
                PendingTasks = "",
                PriorityList = "",
                Regions      = "",
                States       = ""
            };
            var result = new
            {
                total   = (totalRecords + rows - 1) / rows, //number of pages
                page    = page,                             //current page
                records = totalRecords,                     //total items
                rows    = assets.AsEnumerable().Skip((page - 1) * rows).Take(rows)
            };

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
示例#2
0
        public ActionResult CampaignDashboard()
        {
            List <ACM.Model.Campaign> AcmCampaigns = new List <ACM.Model.Campaign>();
            string loginId = Utility.LoginId(User.Identity.Name);

            AcmCampaigns = clientBO.GetCampaignDashboard(loginId, "Active");
            return(View(AcmCampaigns));
        }