コード例 #1
0
        public override async Task <ActionResult <List <PaymentMethodDto> > > Handle(ListPaymentMethodsCommand command)
        {
            var paymentMethods = await _listPaymentMethodsQuery.Query(command);

            if (paymentMethods == null)
            {
                return(Error());
            }

            var phrases = await _listPhrasesByNameQuery.Query(new ListPhrasesByNameCommand(paymentMethods.Select(o => o.Code).Concat(paymentMethods.SelectMany(o => o.PaymentMethodTypes.Select(i => i.Code)))));

            var paymentMethodsDto = new List <PaymentMethodDto>();

            foreach (var paymentMethod in paymentMethods)
            {
                var paymentMethodDto = new PaymentMethodDto()
                {
                    Text  = phrases.FirstOrDefault(o => o.Code == paymentMethod.Code)?.Value ?? paymentMethod.Code,
                    Value = paymentMethod.Code
                };

                foreach (var paymentMethodType in paymentMethod.PaymentMethodTypes)
                {
                    var paymentMethodTypeDto = new PaymentMethodTypeDto()
                    {
                        Text  = phrases.FirstOrDefault(o => o.Code == paymentMethodType.Code)?.Value ?? paymentMethodType.Code,
                        Value = paymentMethodType.Code
                    };

                    paymentMethodDto.PaymentMethodTypes.Add(paymentMethodTypeDto);
                }

                paymentMethodsDto.Add(paymentMethodDto);
            }

            return(Ok(paymentMethodsDto));
        }
コード例 #2
0
        private Command GenerateCommand(int optionId)
        {
            Command cmd = null;

            switch (optionId)
            {
            case 1:
                cmd = new ListPaymentMethodsCommand(this.context);
                break;

            case 2:
                cmd = new PayBillsCommand(this.context);
                break;

            case 3:
                Environment.Exit(0);
                break;

            default:
                return(null);
            }

            return(cmd);
        }
コード例 #3
0
        public override async Task <List <PaymentMethod> > Query(ListPaymentMethodsCommand command)
        {
            var query = DbContext.PaymentMethods.Include(o => o.PaymentMethodTypes);

            return(await query.ToListAsync());
        }