public static OrderInvoiceDto GetOrderInvoiceOrReciept(int user_id, OrdersServices.OrderType order_type, int order_id, bool isConReceipt) { OrderInvoiceDto response = new OrderInvoiceDto(); if (order_type == OrdersServices.OrderType.OrderApp) { using (OrderDao dao = new OrderDao()) { //Order ord = (isConReceipt ? dao.GetConsumerOrder(user_id, order_id) : dao.GetAgentOrder(user_id, order_id)); Order ord = dao.GetDriverOrder(user_id, order_id); OrderInvoiceDto dto = new OrderInvoiceDto(); DriverHelper.CopyFromEntity(dto, ord); response = dto; } } else if (order_type == OrdersServices.OrderType.OrderTelp) { using (TeleOrderDao dao = new TeleOrderDao()) { TeleOrder ord = dao.GetDriverOrder(user_id, order_id); OrderInvoiceDto dto = new OrderInvoiceDto(); DriverHelper.CopyFromEntity(dto, ord); response = dto; } } return(response); }
public async Task <bool> NewOrder(OrderInvoiceDto order) { if (order == null || order.OrderedItems.Count == 0 || !ValidConfigStrings()) { return(false); } HttpClient httpClient = await _handler.GetClient(staffAuthUrl, invoiceApi, invoiceScope); if (httpClient != null) { if ((await httpClient.PostAsJsonAsync <OrderInvoiceDto>(invoiceUri, order)).IsSuccessStatusCode) { return(true); } } return(false); }
private void SetupOrder() { order = new OrderInvoiceDto { CustomerId = 1, OrderId = 1, OrderDate = new DateTime(), Total = 9.99, OrderedItems = new List <InvoiceItemDto> { new InvoiceItemDto { OrderId = 1, ProductId = 1, Quantity = 1, Price = 1, Name = "Product Name" }, new InvoiceItemDto { OrderId = 2, ProductId = 2, Quantity = 2, Price = 2, Name = "Another Product Name" } } }; }
public static void CopyFromEntity(OrderInvoiceDto dto, Order order) { dto.order_id = order.OrdrID; dto.invoice_number = order.InvoiceNumber; dto.consumer_name = order.Consumer.Name; dto.consumer_mobile = order.Consumer.PhoneNumber; dto.consumer_address = order.ConsumerAddress.Address; dto.consumer_location = order.ConsumerAddress.RegionName; dto.order_date = Common.ToDateFormat(order.OrderDate); List <ProductsDto> pdtos = new List <ProductsDto>(); decimal sumPromoProduct = 0; decimal sumPromoShipping = 0; decimal sumPromoRefill = 0; decimal sumPromoExchange = 0; foreach (OrderDetail det in order.OrderDetails) { ProductsDto pdt = new ProductsDto(); pdt.product_id = det.Product.ProdID; pdt.product_name = det.Product.ProductName; pdt.product_promo = det.PromoProduct; pdt.quantity = det.Quantity; pdt.shipping_cost = det.ShippingCharge; pdt.shipping_promo = det.PromoShipping; pdt.sub_total = det.SubTotal; pdt.unit_price = det.UnitPrice; pdt.refill_price = det.RefillPrice; pdt.refill_promo = det.PromoRefill; pdt.refill_quantity = det.RefillQuantity; pdtos.Add(pdt); if (det.PromoProduct != Convert.ToDecimal(0)) { sumPromoShipping += det.PromoShipping; } if (det.RefillQuantity > 0) { sumPromoShipping += det.PromoShipping; } sumPromoProduct += det.PromoProduct; sumPromoRefill += det.PromoRefill; dto.has_exchange = (order.OrderPrdocuctExchanges.Count > 0 ? 1 : 0); if (dto.has_exchange == 1) { if (dto.exchange == null) { dto.exchange = new List <Pertamina.LPG.API.DTOs.Orders.ExchangeDto>(); } foreach (var item in order.OrderPrdocuctExchanges) { Pertamina.LPG.API.DTOs.Orders.ExchangeDto exDto = new Pertamina.LPG.API.DTOs.Orders.ExchangeDto(); OrdersHelper.CopyFromEntity(exDto, item); dto.exchange.Add(exDto); sumPromoExchange += exDto.exchange_promo_price; sumPromoShipping += det.PromoShipping; } } } dto.agency_id = order.AgentAdmin.Agency.AgenID; dto.agency_name = order.AgentAdmin.Agency.AgencyName; dto.agency_address = order.AgentAdmin.Agency.MRegion.RegionName; dto.agency_location = order.AgentAdmin.Agency.MRegion.RegionName; //dto.agency_address = order.AgentAdmin.Agency.Region; //dto.agency_location = order.AgentAdmin.Agency.Region; dto.grand_total = order.GrandTotal; dto.grand_discount = (Math.Abs(sumPromoProduct) + Math.Abs(sumPromoShipping) + Math.Abs(sumPromoRefill) + Math.Abs(sumPromoExchange)) * -1; dto.grand_total_with_discount = dto.grand_total + Math.Abs(dto.grand_discount); dto.products = pdtos.ToArray(); }
public static void CopyFromEntity(OrderInvoiceDto dto, TeleOrder teleOrder) { dto.order_id = teleOrder.TeleOrdID; dto.invoice_number = teleOrder.InvoiceNumber; dto.order_date = Common.ToDateFormat(teleOrder.OrderDate); dto.order_time = teleOrder.OrderTime; if (teleOrder.TeleCustomers.Count > 0) { TeleCustomer cust = teleOrder.TeleCustomers.First(); dto.consumer_name = cust.CustomerName; dto.consumer_mobile = cust.MobileNumber; dto.consumer_address = cust.Address; } decimal sumPromoProduct = 0; decimal sumPromoShipping = 0; decimal sumPromoRefill = 0; decimal sumPromoExchange = 0; List <ProductsDto> pdtos = new List <ProductsDto>(); foreach (TeleOrderDetail det in teleOrder.TeleOrderDetails) { ProductsDto pdt = new ProductsDto(); pdt.product_id = det.Product.ProdID; pdt.product_name = det.Product.ProductName; pdt.product_promo = det.PromoProduct ?? 0.0M; pdt.quantity = det.Quantity; pdt.shipping_cost = det.ShippingCharge ?? 0M; pdt.shipping_promo = det.PromoShipping ?? 0M; pdt.refill_price = det.RefillPrice; pdt.refill_promo = det.PromoRefill; pdt.refill_quantity = det.RefillQuantity; pdt.sub_total = det.SubTotal; pdt.unit_price = det.UnitPrice; pdtos.Add(pdt); if (teleOrder.DeliveryType) { if (det.Quantity > 0) { sumPromoShipping += (det.PromoShipping * det.Quantity) ?? 0.0M; } if (det.RefillQuantity > 0) { sumPromoShipping += (det.PromoShipping * det.RefillQuantity) ?? 0.0M; } } sumPromoProduct += det.PromoProduct ?? 0.0M; sumPromoRefill += det.PromoRefill; dto.has_exchange = (teleOrder.TeleOrderPrdocuctExchanges.Count > 0 ? 1 : 0); if (dto.has_exchange == 1) { if (dto.exchange == null) { dto.exchange = new List <ExchangeDto>(); } foreach (var item in teleOrder.TeleOrderPrdocuctExchanges) { if (item.ProdID == det.ProdID) { ExchangeDto exDto = new ExchangeDto(); CopyFromEntity(exDto, item); dto.exchange.Add(exDto); sumPromoExchange += item.ExchangePromoPrice; if (teleOrder.DeliveryType) { sumPromoShipping += (det.PromoShipping * item.ExchangeQuantity) ?? 0.0M; } } } } } dto.agency_id = teleOrder.AgentAdmin.Agency.AgenID; dto.agency_name = teleOrder.AgentAdmin.Agency.AgencyName; dto.agency_address = teleOrder.AgentAdmin.Agency.MRegion.RegionName; dto.agency_location = teleOrder.AgentAdmin.Agency.MRegion.RegionName; //dto.agency_address = teleOrder.AgentAdmin.Agency.Region; //dto.agency_location = teleOrder.AgentAdmin.Agency.Region; dto.grand_total = teleOrder.GrantTotal; dto.grand_discount = (Math.Abs(sumPromoProduct) + (teleOrder.DeliveryType ? Math.Abs(sumPromoShipping) : 0) + Math.Abs(sumPromoRefill) + Math.Abs(sumPromoExchange)) * -1; dto.grand_total_with_discount = dto.grand_total + Math.Abs(dto.grand_discount); dto.products = pdtos.ToArray(); }
public async Task <bool> NewOrder(OrderInvoiceDto order) { Order = order; return(Succeeds); }