Exemplo n.º 1
0
        /// <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));
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        /// <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);
        }
Exemplo n.º 4
0
 /// <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();
 }
Exemplo n.º 5
0
 public async Task <HttpResponseMessage> List(BankListRequest request)
 {
     this.Validator.Page(request).Items(request);
     return(await this.ProcessActionAsync(request, this.bankService.List));
 }