public IActionResult Grid(EmailSearchModel model) { model = InitializeModel(model); var result = _commonFacadeApiClient.GetEmails(model).Result; return(PartialView(result)); }
public async Task <EmailSearchModel> GetEmails(EmailSearchModel model) { var url = CRMApiUri + "/Email/GetEmails?" + GetFilterString(model); var result = await GetOdataResultFromApi(url); var searchResultCount = 0; if (result.Count != null) { int.TryParse(result.Count.ToString(), out searchResultCount); } model.TotalRows = searchResultCount; model.EmailSearchResult.Clear(); model.EmailSearchResult.AddRange(result.Items.Select(item => JsonConvert.DeserializeObject <EmailDto>(item.ToString()))); return(model); }
private string GetFilterString(EmailSearchModel searchModel) { var filterString = string.Empty; if (searchModel != null) { if (!string.IsNullOrWhiteSpace(searchModel.FilterText)) { if (string.IsNullOrWhiteSpace(filterString)) { filterString = ODataFilterConstant.Filter + $"contains(Forename,'{searchModel.FilterText}') eq true"; } else { filterString += $" or contains(Forename,'{searchModel.FilterText}') eq true"; } filterString += $" or contains(Surname,'{searchModel.FilterText}') eq true"; } AddPageSizeNumberAndSortingInFilterString(searchModel, ref filterString); } return(filterString); }
private EmailSearchModel InitializeModel(EmailSearchModel model) { if (model == null) { model = new EmailSearchModel { SortColumn = "Id", SortDirection = "Desc", PageSize = 8, PageNumber = 1 }; } else { if (string.IsNullOrWhiteSpace(model.SortColumn)) { model.SortColumn = "Id"; model.SortDirection = "Desc"; } } model.TargetGridId = "EmailGrid"; return(model); }
public async Task <EmailSearchModel> GetEmails(EmailSearchModel model) { return(await _emailApiClient.GetEmails(model)); }