示例#1
0
        public static void CopyFromEntity(OrderFullDetailsBossDto dto, TeleOrder order, Driver drv = null)
        {
            dto.order_id      = order.TeleOrdID;
            dto.order_date    = Common.ToDateFormat(order.OrderDate);
            dto.delivery_date = Common.ToDateFormat(order.DeliveryDate.Value);

            //dto.delivery_date = order.DeliveryDate.ToDateTime();
            if (!(order.MDeliverySlot == null))
            {
                dto.time_slot_id   = order.MDeliverySlot.SlotID;
                dto.time_slot_name = order.MDeliverySlot.SlotName;
            }
            dto.invoice_number   = order.InvoiceNumber;
            dto.order_status     = order.StatusId;
            dto.consumer_name    = order.TeleCustomers?.FirstOrDefault()?.CustomerName;
            dto.consumer_mobile  = order.TeleCustomers?.FirstOrDefault()?.MobileNumber;
            dto.consumer_address = order.TeleCustomers?.FirstOrDefault()?.Address;
            dto.grand_total      = order.GrantTotal;
            if (drv != null)
            {
                dto.driver_details = new DriverDetailsBossDto();
                CopyFromEntity(dto.driver_details, drv);
                if (!(order.MOrderStatu == null))
                {
                    dto.driver_details.delivery_status = order.MOrderStatu.OrstID.ToInt();
                }
            }

            List <ProductsBossDto> pdtos = new List <ProductsBossDto>();

            foreach (TeleOrderDetail det in order.TeleOrderDetails)
            {
                ProductsBossDto pdt = new ProductsBossDto();
                pdt.product_name   = det.Product?.ProductName;
                pdt.product_promo  = det.PromoProduct.ToDecimal();
                pdt.quantity       = det.Quantity;
                pdt.shipping_cost  = det.ShippingCharge.ToDecimal();
                pdt.shipping_promo = det.PromoShipping.ToDecimal();
                pdt.sub_total      = det.SubTotal;
                pdt.unit_price     = det.UnitPrice;
                pdt.grand_total    = det.TotalAmount;
                pdtos.Add(pdt);
            }
            dto.product_details = pdtos;
            dto.has_exchange    = (order.TeleOrderPrdocuctExchanges.Count > 0 ? 1 : 0);
            if (dto.has_exchange == 1)
            {
                if (dto.exchange == null)
                {
                    dto.exchange = new List <ExchangeDto>();
                }
                foreach (var item in order.TeleOrderPrdocuctExchanges)
                {
                    ExchangeDto exDto = new ExchangeDto();
                    TeleOrderHelper.CopyFromEntity(exDto, item);
                    dto.exchange.Add(exDto);
                }
            }
        }
示例#2
0
        public static void CopyFromEntity(OrderFullDetailsBossDto dto, Order order, Driver drv = null)
        {
            dto.order_id      = order.OrdrID;
            dto.order_date    = Common.ToDateFormat(order.OrderDate);
            dto.delivery_date = Common.ToDateFormat(order.DeliveryDate);
            if (!(order.MDeliverySlot == null))
            {
                dto.time_slot_id   = order.MDeliverySlot.SlotID;
                dto.time_slot_name = order.MDeliverySlot.SlotName;
            }
            dto.invoice_number   = order.InvoiceNumber;
            dto.order_status     = order.StatusID;
            dto.consumer_name    = order.Consumer?.Name;
            dto.consumer_mobile  = order.Consumer?.PhoneNumber;
            dto.consumer_address = order.ConsumerAddress?.Address;
            dto.grand_total      = order.GrandTotal;
            if (order.OrderDeliveries != null && order.OrderDeliveries.Count > 0)
            {
                OrderDelivery od = order.OrderDeliveries.First();
                dto.driver_details = new DriverDetailsBossDto();
                drv = od.Driver;
                if (drv != null)
                {
                    CopyFromEntity(dto.driver_details, drv);
                    dto.driver_details.delivery_status = od.StatusId;
                }
            }

            List <ProductsBossDto> pdtos = new List <ProductsBossDto>();

            foreach (OrderDetail det in order.OrderDetails)
            {
                ProductsBossDto pdt = new ProductsBossDto();
                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;
                pdt.grand_total     = det.TotamAmount;
                pdtos.Add(pdt);
            }
            dto.product_details = pdtos;
            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();
                    CopyFromEntity(exDto, item);
                    dto.exchange.Add(exDto);
                }
            }
        }