public async Task <PageModel <SupplierShortPublicProfileModel> > Handle(GetSuppliersRequest request, CancellationToken cancellationToken) { if (request == null) { throw new ArgumentNullException($"{nameof(request)} of type {nameof(GetSupplierEmailByInvitationTokenRequest)} argument cannot be null."); } var itemsToSkip = request.GetItemsToSkip(); var itemsToTake = request.GetItemsToTake(); var result = await supplierProfileRepository.GetSuppliers(itemsToSkip, itemsToTake) .ConfigureAwait(false); var models = mapper.Map <SupplierShortPublicProfileModel[]>(result.Items); foreach (var supplier in models) { if (!string.IsNullOrEmpty(supplier.LogoUrl)) { supplier.LogoUrl = await mediator.Send(new GetFileUrlRequest { FileName = supplier.LogoUrl }); } } return(new PageModel <SupplierShortPublicProfileModel> { TotalNumberOfItems = result.TotalNumberOfItems, Items = models }); }
public override Task <GetSuppliersResponse> GetSuppliers(GetSuppliersRequest request, ServerCallContext context) { var suppliers = _supplierDao.GetSuppliers(pageIndex: request.PageIndex, pageSize: request.PageSize, supplierRegionId: request.SupplierRegionId); var response = new GetSuppliersResponse(); response.Suppliers.AddRange(suppliers.List.Select(s => _mapper.Map <SupplierDTO>(s))); response.TotalCount = suppliers.TotalCount; return(Task.FromResult(response)); }
/// <summary> /// Request a list of suppliers from the server. /// </summary> /// <param name="request"> /// Request parameters. /// </param> /// <returns> /// Returns a <see cref="GetSuppliersResponse"/> object with the results of the operation /// </returns> public GetSuppliersResponse GetSuppliers(GetSuppliersRequest request) { GetSuppliersResponse responseObject = new GetSuppliersResponse() { ErrorCode = ResponseErrorCode.NoError }; using (IDataAccess dataAccess = GetDataAccessObject()) { DateTime serverUtcTime = dataAccess.GetDatabaseServerUtcTime(); TimeSpan clientServerTimeDifference = CalculateServerClientTimeDifference(serverUtcTime, request.ClientUtcTime); #if DEBUG // Some logging for debug puposes. Utility.EventLogger.Log ( LogLevel.Debug, String.Format ( "Server UTC time is [{0}] Client UTC time is [{1}] Time difference (ms) is [{2}]", serverUtcTime.ToString("yyyy-MM-dd HH:mm:ss.ffff"), request.ClientUtcTime.ToString("yyyy-MM-dd HH:mm:ss.ffff"), clientServerTimeDifference.Milliseconds ) ); #endif // DEBUG using (Mutex accessMutex = new Mutex(false, Utilities.Utility.SupplierMutexName)) { // Prevent other instance from accessing the table until we are done. accessMutex.WaitOne(); try { try { responseObject.Suppliers = new List <SupplierDTO>(dataAccess.GetSuppliers()); responseObject.Suppliers.ForEach ( u => u.LastUpdateTime = AdjustServerUtcTimeToClientTime(u.LastUpdateTime, clientServerTimeDifference) ); } catch (Exception ex) { Utility.EventLogger.Log(LogLevel.Error, ex); responseObject.ErrorCode = ResponseErrorCode.ExceptionCaught; responseObject.ErrorDescription = ex.Message; } } finally { accessMutex.ReleaseMutex(); } } } return(responseObject); }
public GetSuppliersResponse GetSuppliersByCriteria(GetSuppliersRequest request) { GetSuppliersResponse response = new GetSuppliersResponse(); SupplierBusinessComponent bc = DependencyInjectionHelper.GetSupplierBusinessComponent(); IQueryable <Supplier> suppliers = bc.GetSuppliersByCriteria(request.SearchType, request.Name); response.Suppliers = SupplierAdapter.SuppliersToDtos(suppliers); return(response); }
public GetSuppliersResponse GetSuppliersByProductId(GetSuppliersRequest request) { var bc = DependencyInjectionHelper.GetBusinessComponent <SupplierBusinessComponent>(); var suppliers = bc.GetSuppliersByProductId(request.ProductId); var response = new GetSuppliersResponse(); response.Suppliers = SupplierAdapter.SuppliersToDtos(suppliers); return(response); }
public Response <PagedList <SupplierDTO> > Get(int pageIndex = 1, int pageSize = 20, string regionId = "", string keyword = "") { var request = new GetSuppliersRequest(); request.PageIndex = pageIndex; request.PageSize = pageSize; request.SupplierRegionId = string.IsNullOrEmpty(regionId) ? 0 : Convert.ToInt32(regionId); var response = _client.GetSuppliers(request); return(new PagedList <SupplierDTO>() { List = response.Suppliers, TotalCount = response.TotalCount }); }
public IList <SupplierListDTO> GetAllSuppliers() { try { var request = new GetSuppliersRequest(); var response = this.Service.GetAllSuppliers(request); return(response.Suppliers); } catch (Exception ex) { if (ExceptionPolicy.HandleException(ex, "PL Policy")) { throw; } return(new List <SupplierListDTO>()); } }
private IList <SupplierDTO> GetSuppliers(SupplierSearchType searchType, string name) { try { GetSuppliersRequest request = new GetSuppliersRequest(); request.SearchType = searchType; request.Name = name; GetSuppliersResponse response = Service.GetSuppliersByCriteria(request); return(response.Suppliers); } catch (Exception ex) { if (ExceptionPolicy.HandleException(ex, "PL Policy")) { throw; } return(new List <SupplierDTO>()); } }
private ObservableCollection <SupplierRec> LoadSuppliers() { GetSuppliersRequest request = new GetSuppliersRequest() { ClientUtcTime = DateTime.UtcNow, SessionToken = String.Empty // TODO replace with security system value. }; var data = Utility.PriceListService.GetSuppliersAsync(request).Result; if (data.Suppliers == null) { return(new ObservableCollection <SupplierRec>()); } else { ObservableCollection <SupplierRec> result = new ObservableCollection <SupplierRec>(); foreach (var rec in data.Suppliers) { result.Add ( new SupplierRec ( new LocalSupplierDTO() { SupplierID = rec.SupplierID, Code = rec.Code, Descr = rec.Descr, Address = String.Join(Environment.NewLine, rec.Address) } ) ); } return(result); } }