Пример #1
0
        public void Deve_Gerar_Fatura()
        {
            var messageEvent = new AutomaticBillingCustomerEvent {
                BillingFrequency = "0",
                BillingType      = "2"
            };

            _genereteInvoice.GenerateAsync(messageEvent).GetAwaiter().GetResult();
        }
Пример #2
0
        public async Task GenerateAsync(AutomaticBillingCustomerEvent filter)
        {
            /// ... Validations

            var freights = await _freight.GenerateFreightsModelForAutomaticBillingAsync(new FreightForBillingFilter { CustomerId = filter.CustomerId });

            if (freights != null && freights.Count > 0)
            {
                var(ableForBilling, invalidForBilling) = await _freightSearchStrategy.FindAsync(freights,
                                                                                                (BillingScheduleFrequencyEnum)Enum.Parse(typeof(BillingScheduleFrequencyEnum), filter.BillingFrequency),
                                                                                                (BillingScheduleTypeEnum)Enum.Parse(typeof(BillingScheduleTypeEnum), filter.BillingType));
            }

            // ... continue process to generate invoice
        }
Пример #3
0
        public async Task <IActionResult> GerarFatura([FromBody] AutomaticBillingCustomerEvent filter)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            await _generateInvoice.GenerateAsync(filter);

            if (filter.BillingType == "2")
            {
                return(Ok("Gerado com sucesso a fatura com fretes de perda"));
            }
            else
            {
                return(Ok("Gerado com sucesso a fatura"));
            }
        }