public ActionResult Index(string id, int? page, string order) { if (string.IsNullOrEmpty(id)) return RedirectToAction("Index", new { id = "New" }); string message = (string)TempData["StatusMessage"]; ViewBag.message = message; var campaigns = (List<Campaign>)TempData["SelectedCampaigns"]; TempData.Keep("SelectedCampaigns"); var tags = (List<Tag>)TempData["SelectedTags"]; TempData.Keep("SelectedCampaigns"); var options = new LeadFilterOptions() { Order = string.IsNullOrEmpty(order) ? string.Empty : order.ToLower(), Campaigns = campaigns != null ? campaigns.ToList<object>() : null, Tags = tags != null ? tags.ToList<object>() : null }; ViewBag.order = order; var model = new LeadViewModel(); model.LeadType = (LeadType)Enum.Parse(typeof(CrumbCRM.LeadType), id, true); model.TotalNew = _leadService.GetAll(options).Where(x => x.Status.HasValue && x.Status.Value == LeadType.New).Count(); model.TotalEmailed = _leadService.GetAll(options).Where(x => x.Status.HasValue && x.Status.Value == LeadType.Emailed).Count(); model.TotalNoAnswer = _leadService.GetAll(options).Where(x => x.Status.HasValue && x.Status.Value == LeadType.NoAnswer).Count(); model.TotalNotInterested = _leadService.GetAll(options).Where(x => x.Status.HasValue && x.Status.Value == LeadType.NotInterested).Count(); model.TotalCallback = _leadService.GetAll(options).Where(x => x.Status.HasValue && x.Status.Value == LeadType.Callback).Count(); model.TotalDoNotContact = _leadService.GetAll(options).Where(x => x.Status.HasValue && x.Status.Value == LeadType.DoNotContact).Count(); ViewData.SelectListEnumViewData<NoteActionType>("ActionType", true); int pageNo = page ?? 1; int total = _leadService.Total(options); int totalPages = System.Convert.ToInt32(Math.Ceiling((decimal)total / (decimal)10)); if (totalPages > pageNo) ViewBag.Next = (pageNo + 1); return View("Index", model); }
public ActionResult RenderItems(string id, int? page, string order) { var campaigns = (List<Campaign>)TempData["SelectedCampaigns"]; TempData.Keep("SelectedCampaigns"); var tags = (List<Tag>)TempData["SelectedTags"]; TempData.Keep("SelectedCampaigns"); var options = new LeadFilterOptions() { Order = string.IsNullOrEmpty(order) ? string.Empty : order.ToLower(), Campaigns = campaigns != null ? campaigns.ToList<object>() : null, Tags = tags != null ? tags.ToList<object>() : null }; ViewBag.order = order; int pageNo = page ?? 1; int total = _leadService.Total(options); int totalPages = System.Convert.ToInt32(Math.Ceiling((decimal)total / (decimal)10)); //default lead type if (string.IsNullOrEmpty(id)) id = "New"; if (totalPages > pageNo) ViewBag.Next = (pageNo + 1); var leadType = (LeadType)Enum.Parse(typeof(CrumbCRM.LeadType), id, true); var model = _leadService.GetAll(options, new PagingSettings() { PageCount = 10, PageIndex = pageNo }).Where(x => (string.IsNullOrEmpty(id) || (x.Status.HasValue && x.Status.Value == leadType))).ToList(); return PartialView("Controls/_RenderItems", model); }