public static void CopyFromEntity(OrderFullDetailsDto dto, TeleOrder teleOrder, Driver drv = null) { dto.order_id = teleOrder.TeleOrdID; dto.delivery_date = Common.ToDateFormat(teleOrder.DeliveryDate.HasValue ? teleOrder.DeliveryDate.Value : DateTime.MinValue); dto.delivery_time_slot = teleOrder.MDeliverySlot.SlotName; dto.invoice_number = teleOrder.InvoiceNumber; dto.order_status = teleOrder.StatusId; if (teleOrder.TeleCustomers.Count > 0) { var teleConsumer = teleOrder.TeleCustomers.Where(x => x.TeleOrdID == teleOrder.TeleOrdID).FirstOrDefault(); if (teleConsumer != null) { dto.consumer_name = teleConsumer.CustomerName; dto.consumer_mobile = teleConsumer.MobileNumber; dto.consumer_address = teleConsumer.Address; dto.consumer_location = teleConsumer.Address; //dto.latitude = teleConsumer.Latitude; //dto.longitude = teleConsumer.Longitude; } } dto.driver = new DriverDetailsDto(); if (teleOrder.TeleOrderDetails.Count > 0) { TeleOrderDetail od = teleOrder.TeleOrderDetails.First(); dto.driver = new DriverDetailsDto(); if (drv == null) { drv = teleOrder.Driver; } CopyFromEntity(dto.driver, drv); //dto.driver.driver_id = od.Driver.DrvrID; //dto.driver.driver_image = od.Driver.ProfileImage; //dto.driver.driver_mobile = od.Driver.MobileNumber; //dto.driver.driver_name = od.Driver.DriverName; ////dto.driver.driver_rating = od.Driver.ra } 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.HasValue ? det.PromoProduct.Value : 0; pdt.quantity = det.Quantity; pdt.shipping_cost = det.ShippingCharge.HasValue ? det.ShippingCharge.Value : 0; pdt.shipping_promo = det.PromoShipping.HasValue ? det.PromoShipping.Value : 0; 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); } dto.grand_total = teleOrder.GrantTotal; dto.products = pdtos.ToArray(); 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) { ExchangeDto exDto = new ExchangeDto(); TeleOrderHelper.CopyFromEntity(exDto, item); dto.exchange.Add(exDto); } } }
public static void CopyFromEntity(OrderFullDetailsDto dto, Order order, Driver drv = null) { dto.order_id = order.OrdrID; dto.delivery_date = Common.ToDateFormat(order.DeliveryDate); dto.delivery_time_slot = order.MDeliverySlot.SlotName; dto.invoice_number = order.InvoiceNumber; dto.order_status = order.StatusID; dto.order_date = Common.ToDateFormat(order.OrderDate); 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.driver = new DriverDetailsDto(); if (order.OrderDeliveries.Count > 0) { OrderDelivery od = order.OrderDeliveries.First(); dto.driver = new DriverDetailsDto(); if (drv == null) { drv = od.Driver; } CopyFromEntity(dto.driver, drv); //dto.driver.driver_id = od.Driver.DrvrID; //dto.driver.driver_image = od.Driver.ProfileImage; //dto.driver.driver_mobile = od.Driver.MobileNumber; //dto.driver.driver_name = od.Driver.DriverName; ////dto.driver.driver_rating = od.Driver.ra } List <ProductsDto> pdtos = new List <ProductsDto>(); 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); } dto.grand_total = order.GrandTotal; dto.products = pdtos.ToArray(); dto.has_exchange = (order.OrderPrdocuctExchanges.Count > 0 ? 1 : 0); if (dto.has_exchange == 1) { if (dto.exchange == null) { dto.exchange = new List <ExchangeDto>(); } foreach (var item in order.OrderPrdocuctExchanges) { ExchangeDto exDto = new ExchangeDto(); OrdersHelper.CopyFromEntity(exDto, item); dto.exchange.Add(exDto); } } }