public async Task <JsonResult> GetExContacts(ExContactIndexViewModel filterCond) { try { var contacts = await _extendedContactService.GetExternalContacts(); IList <ExternalContact> filteredData = contacts; if (!string.IsNullOrEmpty(filterCond.FullName)) { filteredData = filteredData.Where(x => x.FullName.ToLower().Contains(filterCond.FullName.Trim().ToLower())).ToList(); } if (!string.IsNullOrEmpty(filterCond.ContactNo1)) { filteredData = filteredData.Where(x => x.ContactNo1.ToLower().EndsWith(filterCond.ContactNo1.Trim())).ToList(); } if (!string.IsNullOrEmpty(filterCond.City)) { filteredData = filteredData.Where(x => x.City.EmptyIfNull().ToLower().Contains(filterCond.City.Trim().ToLower())).ToList(); } if (!string.IsNullOrEmpty(filterCond.District)) { filteredData = filteredData.Where(x => x.District.EmptyIfNull() == filterCond.District).ToList(); } if (!string.IsNullOrEmpty(filterCond.Class)) { filteredData = filteredData.Where(x => x.Class.EmptyIfNull().ToLower() == filterCond.Class.Trim().ToLower()).ToList(); } var orderedData = filteredData.OrderByDescending(x => x.Id); string strNums = String.Empty; string strEmails = String.Empty; if (filteredData.Count() > 0) { var nums = filteredData.ToList().Select(x => x.ContactNo1).Distinct(); var emails = filteredData.ToList().Select(x => x.Email1).Distinct(); strNums = string.Join(",", nums); strEmails = string.Join(",", emails); } return(Json(new { datas = orderedData, Emails = strEmails, Nums = strNums, tcount = contacts.Count(), rcount = filteredData.Count(), status = "Successful", message = "" })); } catch (Exception ex) { var contacts = new List <ExternalContact>(); return(Json(new { datas = contacts, Emails = string.Empty, Nums = string.Empty, tcount = contacts.Count(), rcount = contacts.Count(), status = "Successful", message = ex.Message })); } }
//[Authorize("Admin")] public async Task <IActionResult> Index() { ViewData["Title"] = $"{_appSettings.Value.AppTitle}-{Subtitle.OtherToolsExContactIndex}"; var noOfRowlst = _appSettings.Value.NoOfRowsOptions.Split(',').ToList(); var rowOption = _appSettings.Value.DefaultOptionRowSel; List <SelectListItem> NoOfRowsSelItemLst = new List <SelectListItem>(); foreach (var x in noOfRowlst) { NoOfRowsSelItemLst.Add(new SelectListItem() { Value = x, Text = x, Selected = (x == rowOption) }); } var indexVM = new ExContactIndexViewModel() { Districts = await _districtSerice.GetDistrictSelectList(), NoOfRows = NoOfRowsSelItemLst }; return(View(indexVM)); }