public async Task <CategoryViewModel> GetPage(Guid id, string?currentCustomerName = null) { var category = await _categoryService.Get(id); IReadOnlyCollection <CustomerDto> customers = new List <CustomerDto>(); if (!string.IsNullOrWhiteSpace(currentCustomerName)) { var customersFilter = new CustomerFilterBuilder() .SetEmail(currentCustomerName !) .Build(); customers = await _customerService.GetFiltered(customersFilter); } var result = new CategoryViewModel { Offers = await _offerService.GetByCategory(category.Id !.Value), Title = category.Name }; if (customers.Count > 0) { result.CurrentCustomerId = customers.First().Id; } return(result); } }
public async Task <Guid> GetCustomerId(string name) { #region validation if (string.IsNullOrWhiteSpace(name)) { throw new ArgumentNullException(nameof(name)); } #endregion var customersFilter = new CustomerFilterBuilder() .SetEmail(name) .Build(); var customers = await GetFiltered(customersFilter); return(customers.First().Id !.Value); }
public async Task <SearchResultsViewModel> GetSearchResults(string phrase, string?userName = null) { #region validation if (string.IsNullOrWhiteSpace(phrase)) { throw new ArgumentNullException(nameof(phrase)); } #endregion var offers = _unitOfWork.Offers .GetAll() .Where(x => x.Title.Contains(phrase)) .OrderByDescending(x => x.Sort) .ThenByDescending(x => x.UpdateDate); var offersDto = await Task.Run(() => _mapper.Map <List <OfferDto> >(offers)); IReadOnlyCollection <CustomerDto> customers = new List <CustomerDto>(); if (!string.IsNullOrWhiteSpace(userName)) { var customersFilter = new CustomerFilterBuilder() .SetEmail(userName !) .Build(); customers = await _customerService.GetFiltered(customersFilter); } var result = new SearchResultsViewModel { Title = phrase, Offers = offersDto }; if (customers.Count > 0) { result.CurrentCustomerId = customers.First().Id; } return(result); }