public async Task <PersonDocumentSearchModel> GetPersonDocuments(PersonDocumentSearchModel model) { var url = ODataApiUri + "/PersonDocument?" + 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.PersonDocumentSearchResult.Clear(); try { model.PersonDocumentSearchResult.AddRange(result.Items.Select(item => JsonConvert.DeserializeObject <PersonDocumentDto>(item.ToString()))); } catch (Exception e) { Console.WriteLine(e); throw; } return(model); }
public IActionResult Document(PersonDocumentSearchModel model) { model = InitializePersonDocumentSearchModel(model); var documentTypes = _lookupApiClient.GetLookup().Result.DocumentTypes?.ConvertAll(x => (BaseLookupDto)x); model.DocumentTypeSelectList = SelectedListHelper.GetSelectListForItems(documentTypes, ""); return(PartialView(model)); }
public async Task <IActionResult> DocumentGrid(PersonDocumentSearchModel model) { model = InitializePersonDocumentSearchModel(model); var result = await _customerApiClient.GetPersonDocuments(model); var documentTypes = _lookupApiClient.GetLookup().Result.DocumentTypes?.ConvertAll(x => (BaseLookupDto)x); model.DocumentTypeSelectList = SelectedListHelper.GetSelectListForItems(documentTypes, ""); foreach (var personDocumentDto in result.PersonDocumentSearchResult) { personDocumentDto.DocumentTypeName = documentTypes?.FirstOrDefault(x => x.Id == personDocumentDto.Document.DocumentTypeId)?.Name; } var documents = await CreateThumbnail(result.PersonDocumentSearchResult.Where(x => x.Document.DocumentTypeId == 1).ToList()); return(PartialView(result)); }
private string GetFilterString(PersonDocumentSearchModel searchModel) { var filterString = string.Empty; if (searchModel != null) { if (searchModel.PersonId > 0) { filterString = ODataFilterConstant.Filter + $"PersonId eq {searchModel.PersonId}"; if (!string.IsNullOrWhiteSpace(filterString)) { filterString += $" and contains(Comment,'{searchModel.FilterText}') eq true"; } filterString += ODataFilterConstant.Expand + $"Document"; } AddPageSizeNumberAndSortingInFilterString(searchModel, ref filterString); } return(filterString); }
public async Task <PersonDocumentSearchModel> GetPersonDocuments(PersonDocumentSearchModel model) { return(await _personDocumentApiClient.GetPersonDocuments(model)); }
private PersonDocumentSearchModel InitializePersonDocumentSearchModel(PersonDocumentSearchModel model) { model = InitializeSearchModel(model, "PersonDocumentGrid", "Id", "Desc"); return(model); }