/// <summary> /// The list. /// </summary> /// <param name="request"> /// The request. /// </param> /// <returns> /// The <see cref="Task"/>. /// </returns> /// <exception cref="ArgumentNullException"> /// The argument null exception. /// </exception> /// <exception cref="Exception"> /// The exception. /// </exception> public async Task <BankListResponse> List(BankListRequest request) { if (request == null) { throw new ArgumentNullException(nameof(request)); } if (request.Page == 0) { throw new Exception("Page must be bigger then 0."); } if (request.ItemsPerPage == 0) { throw new Exception("ItemsPerPage must be bigger then 0."); } if (request.Filter == null) { throw new ArgumentNullException(nameof(request.Filter)); } if (request.Order == null) { throw new ArgumentNullException(nameof(request.Order)); } return(await this.bankRepository.List(request)); }
public async void GetListOfBanks() { //Arrange var req = new BankListRequest(); //Act var res = await _gladepayService.PutAsync <BankListRequest>(req); //Assert Assert.True(res.StatusCode == HttpStatusCode.OK); Debug.WriteLine(res.Data); }
/// <summary> /// The list. /// </summary> /// <param name="parameters"> /// The parameters. /// </param> /// <returns> /// The <see cref="Task"/>. /// </returns> public async Task <BankListResponse> List(BankListRequest parameters) { IQueryable <BankEntity> listQuery = this.context.Banks; if (!string.IsNullOrEmpty(parameters.Filter.Name)) { listQuery = parameters.Filter.NameExact ? listQuery.Where(x => x.Name == parameters.Filter.Name) : listQuery.Where(x => x.Name.Contains(parameters.Filter.Name)); } if (!string.IsNullOrEmpty(parameters.Filter.Swift)) { listQuery = parameters.Filter.SwiftExact ? listQuery.Where(x => x.Name == parameters.Filter.Swift) : listQuery.Where(x => x.Swift.Contains(parameters.Filter.Swift)); } var queryResult = await listQuery.CountAsync(); var orderType = parameters.Order.IsDesc ? SortOrder.Descending : SortOrder.Ascending; var list = await listQuery .OrderByFieldBank(orderType, parameters.Order.Field) .Skip((parameters.Page - 1) * parameters.ItemsPerPage) .Take(parameters.ItemsPerPage) .Select(order => new BankOut { Code = order.Code, Name = order.Name, Country = order.Country, Url = order.Url, Swift = order.Swift, ChangeAt = order.ChangeAt, CreatedAt = order.CreatedAt }).ToListAsync(); var result = new BankListResponse { NumberOfItems = queryResult, Data = list }; return(result); }
/// <summary> /// The list. /// </summary> /// <param name="input"> /// The input. /// </param> /// <returns> /// The <see cref="Task"/>. /// </returns> public Task <HttpResponseMessage> List(BankListRequest input) { throw new NotImplementedException(); }
public async Task <HttpResponseMessage> List(BankListRequest request) { this.Validator.Page(request).Items(request); return(await this.ProcessActionAsync(request, this.bankService.List)); }