public async Task <ResponseModel <List <PaymentDto> > > Handle(ViewPaymentProcess request, CancellationToken cancellationToken)
        {
            var response = new ResponseModel <List <PaymentDto> >();
            var cheap    = await _dbcheapcontext.Payments.ToListAsync();

            var expensive = await _dbexpensivecontext.Payments.ToListAsync();

            var premium = await _dbpremiumcontext.Payments.ToListAsync();


            if (cheap == null || expensive == null || premium == null)
            {
                response        = Utils.GetResponse <List <PaymentDto> >(false, "No Payment Found", null);
                response.Result = null;
            }
            else
            {
                response.IsSuccessResponse = true;
            }
            response.Message = $"{cheap.Count} Record(s) selected";
            response.Message = $"{expensive.Count} Record(s) selected";
            response.Message = $"{premium.Count} Record(s) selected";

            response.ResponseCode = (int)PaymentEnum.Processed;
            response.Result       = cheap.Select(c => new PaymentDto
            {
                Id               = c.Id,
                CardHolder       = c.CardHolder,
                CreditCardNumber = c.CreditCardNumber,
                Amount           = c.Amount,
                ExpirationDate   = c.ExpirationDate,
                SecurityCode     = c.SecurityCode
            }).ToList();
            response.Result = expensive.Select(c => new PaymentDto
            {
                Id               = c.Id,
                CardHolder       = c.CardHolder,
                CreditCardNumber = c.CreditCardNumber,
                Amount           = c.Amount,
                ExpirationDate   = c.ExpirationDate,
                SecurityCode     = c.SecurityCode
            }).ToList();
            response.Result = premium.Select(c => new PaymentDto
            {
                Id               = c.Id,
                CardHolder       = c.CardHolder,
                CreditCardNumber = c.CreditCardNumber,
                Amount           = c.Amount,
                ExpirationDate   = c.ExpirationDate,
                SecurityCode     = c.SecurityCode
            }).ToList();
            return(response);
        }
Exemplo n.º 2
0
        public async Task <IActionResult> ViewPaymentProcess()
        {
            var command = new ViewPaymentProcess();
            var res     = await Mediator.Send(command);

            if (res.IsSuccessResponse)
            {
                return(Ok(res));
            }
            else
            {
                return(new BadRequestObjectResult((ResponseModel)res));
            }
        }