public async Task <OpportunityIndexViewModel> GetAllAsync(int pageIndex, int itemsPage, string requestId = "") { _logger.LogInformation($"RequestId: {requestId} - GetAllAsync called."); Guard.Against.Null(pageIndex, nameof(pageIndex), requestId); Guard.Against.Null(itemsPage, nameof(itemsPage), requestId); try { var listItems = (await _opportunityRepository.GetAllAsync(requestId)).ToList(); Guard.Against.Null(listItems, nameof(listItems), requestId); var vmListItems = new List <OpportunityViewModel>(); foreach (var item in listItems) { try { vmListItems.Add(await _opportunityHelpers.ToOpportunityViewModelAsync(item, requestId)); } catch (Exception ex) { _logger.LogError($"Opportunity Id: {item.Id} - GetAllAsync Opportunity Service Exception: {ex}"); } } if (vmListItems.Count == 0) { _logger.LogWarning($"RequestId: {requestId} - GetAllAsync no items found"); throw new NoItemsFound($"RequestId: {requestId} - Method name: GetAllAsync - No Items Found"); } return(new OpportunityIndexViewModel { ItemsList = vmListItems.Select(item => new OpportunityIndexModel { Id = item.Id, DisplayName = item.DisplayName, Customer = item.Customer, OpportunityState = item.OpportunityState, Template = item.Template, Dealsize = item.MetaDataFields.ToList().Find(x => x.DisplayName == "Deal Size")?.Values.ToString(), OpenedDate = item.MetaDataFields.ToList().Find(x => x.DisplayName == "Opened Date").Values.ToString() }).ToList(), PaginationInfo = new PaginationInfoViewModel { ActualPage = 1, ItemsPerPage = itemsPage, TotalItems = 0, TotalPages = 0, Next = String.Empty, Previous = String.Empty } }); } catch (Exception ex) { _logger.LogError($"RequestId: {requestId} - GetAllAsync Service Exception: {ex}"); throw new ResponseException($"RequestId: {requestId} - GetAllAsync Service Exception: {ex}"); } }
public async Task <OpportunityIndexViewModel> GetAllAsync(int pageIndex, int itemsPage, string requestId = "") { _logger.LogInformation($"RequestId: {requestId} - GetAllAsync called."); Guard.Against.Null(pageIndex, nameof(pageIndex), requestId); Guard.Against.Null(itemsPage, nameof(itemsPage), requestId); try { var listItems = (await _opportunityRepository.GetAllAsync(requestId)).ToList(); Guard.Against.Null(listItems, nameof(listItems), requestId); var vmListItems = new List <OpportunityViewModel>(); foreach (var item in listItems) { vmListItems.Add(await _opportunityHelpers.ToOpportunityViewModelAsync(item, requestId)); } if (vmListItems.Count == 0) { _logger.LogWarning($"RequestId: {requestId} - GetAllAsync no items found"); throw new NoItemsFound($"RequestId: {requestId} - Method name: GetAllAsync - No Items Found"); } //Reduce to opportunityIndexModel var vimListItems = new List <OpportunityIndexModel>(); foreach (var item in vmListItems) { var vimItem = new OpportunityIndexModel { Id = item.Id, DisplayName = item.DisplayName, Customer = item.Customer, DealSize = item.DealSize, OpenedDate = item.OpenedDate, OpportunityState = item.OpportunityState }; vimListItems.Add(vimItem); } var indexListItems = new OpportunityIndexViewModel { ItemsList = vimListItems, PaginationInfo = new PaginationInfoViewModel { ActualPage = 1, ItemsPerPage = itemsPage, TotalItems = 0, TotalPages = 0, Next = String.Empty, Previous = String.Empty } }; return(indexListItems); } catch (Exception ex) { _logger.LogError($"RequestId: {requestId} - GetAllAsync Service Exception: {ex}"); throw new ResponseException($"RequestId: {requestId} - GetAllAsync Service Exception: {ex}"); } }