Ejemplo n.º 1
0
        public Task Consume(ConsumeContext <UpdateInvoiceCommand> context)
        {
            try
            {
                UpdateInvoiceCommand updateInvoice = context.Message;
                List <Item>          items         = new List <Item>();
                updateInvoice.Items.ToList().ForEach(x =>
                {
                    Item item = new Item(
                        new IsDeliveried(x.Deliveried),
                        new Quantity(x.DeliveriedQuantity),
                        new Price(x.Price),
                        new Name(x.ProductName),
                        new Quantity(x.Quantity),
                        new Price(x.TotalPrice),
                        new Unit(x.UnitName),
                        new Weight(Convert.ToDouble(x.Weight))
                        );
                    items.Add(item);
                });
                Model.Entity.Invoice invoice = new Model.Entity.Invoice(
                    new Code(updateInvoice.Code),
                    new Price(updateInvoice.TotalPrice),
                    new Weight(updateInvoice.WeightTotal),
                    items);

                return(_invoiceRepository.Update(invoice));
            }
            catch (Exception ex)
            {
                Console.Write(ex.Message);
                throw;
            }
        }
Ejemplo n.º 2
0
        public Task Consume(ConsumeContext <AddNewInvoiceCommand> context)
        {
            try
            {
                AddNewInvoiceCommand newInvoice   = context.Message;
                CustomerReadModel    customerRead = _invoiceRepository.GetCustomer(newInvoice.CustomerCode);
                Model.Entity.Invoice invoice;
                List <Item>          items = new List <Item>();
                newInvoice.Items.ToList().ForEach(x =>
                {
                    Item item = new Item(
                        new IsDeliveried(x.Deliveried),
                        new Quantity(x.DeliveriedQuantity),
                        new Price(x.Price),
                        new Name(x.ProductName),
                        new Quantity(x.Quantity),
                        new Price(x.TotalPrice),
                        new Unit(x.UnitName),
                        new Weight(Convert.ToDouble(x.Weight))
                        );
                    items.Add(item);
                });
                if (customerRead != null)
                {
                    invoice = new Model.Entity.Invoice(
                        new Code(newInvoice.Code),
                        new Note(newInvoice.Note),
                        new Status(newInvoice.Status),
                        new Price(newInvoice.TotalPrice),
                        new Weight(newInvoice.WeightTotal),
                        new Identity(customerRead.Id),
                        newInvoice.DeliveryTime,
                        new IsServed(newInvoice.Served),
                        items
                        );
                }
                else
                {
                    return(Task.FromException(new Exception("Lỗi dữ liệu")));
                }



                return(_invoiceRepository.Create(invoice));
            }
            catch (Exception ex)
            {
                Console.Write(ex.Message);
                throw;
            }
        }
Ejemplo n.º 3
0
 public Task Consume(ConsumeContext <CancelInvoiceModel> context)
 {
     try
     {
         CancelInvoiceModel   cancelInvoice = context.Message;
         Model.Entity.Invoice invoice       = new Model.Entity.Invoice(
             new Code(cancelInvoice.Code),
             new Status(cancelInvoice.Status)
             );
         return(_invoiceRepository.UpdateInvoiceStatus(invoice));
     }
     catch (Exception ex)
     {
         Console.Write(ex.Message);
         return(Task.CompletedTask);
     }
 }