Example #1
0
 private static void updateOrders(List <long> tobeUpdated)
 {
     tobeUpdated = tobeUpdated.Distinct().ToList();
     foreach (var orderId in tobeUpdated)
     {
         List <OrderDetailModel> orderDetailQty = OrderHelper.GetOrderDetail(orderId.ToString());
         string status = "";
         foreach (var orderDetailItem in orderDetailQty)
         {
             List <ShipmentModel> ShippedQty = GetShipments(orderDetailItem.Id);
             if (ShippedQty != null && ShippedQty.Count() > 0)
             {
                 if (ShippedQty.Sum(x => x.Quantity) < orderDetailItem.Quantity)
                 {
                     status = "Partially Shipped";
                     break;
                 }
                 else
                 {
                     status = "Shipped";
                 }
             }
             else
             {
                 status = "Booked";
                 break;
             }
         }
         OrderModel updatedOrder = OrderHelper.GetOrder(orderId.ToString());
         updatedOrder.Status = status;
         string result = OrderHelper.UpdateOrder(updatedOrder);
     }
 }
Example #2
0
        public static OrderShipmentModel GetShipmentEdit(string deliveryNo, DateTime date)
        {
            List <ShipmentModel> shipmentDetail = service.GetDelivery(AuthenticationHelper.CompanyId.Value, SessionHelper.SOBId, deliveryNo, date).Select(x => new ShipmentModel(x)).ToList();

            OrderModel order = OrderHelper.GetOrder(shipmentDetail.First().OrderId.ToString());

            //Can be multiple, showing the first one on the header..
            OrderShipmentModel orderShipment = new OrderShipmentModel(shipmentDetail.First());

            orderShipment.CreateBy       = shipmentDetail.First().CreateBy;
            orderShipment.CreateDate     = shipmentDetail.First().CreateDate;
            orderShipment.CustomerId     = order.CustomerId;
            orderShipment.CustomerSiteId = order.CustomerSiteId;
            orderShipment.UpdateBy       = shipmentDetail.First().UpdateBy;
            orderShipment.UpdateDate     = shipmentDetail.First().UpdateDate;

            orderShipment.OrderShipments = new List <OrderShipmentLine>();
            foreach (var item in shipmentDetail)
            {
                OrderDetailModel orderDetail = OrderHelper.GetSingleOrderDetail(item.LineId);

                OrderShipmentLine shipmentLine = new OrderShipmentLine(item);
                decimal           shippedQty   = GetShipments(item.LineId).Where(rec => rec.Id < item.Id).Sum(x => x.Quantity);
                shipmentLine.BalanceQuantity  = orderDetail.Quantity - (shippedQty + item.Quantity);
                shipmentLine.OrderQuantity    = orderDetail.Quantity;
                shipmentLine.ShipedQuantity   = shippedQty;
                shipmentLine.ThisShipQuantity = item.Quantity;

                shipmentLine.ItemName         = ItemHelper.GetItem(orderDetail.ItemId.ToString()).ItemName;
                shipmentLine.CustomerId       = OrderHelper.GetSingleOrder(item.OrderId.ToString()).CustomerId;
                shipmentLine.CustomerName     = OrderHelper.GetSingleOrder(item.OrderId.ToString()).CustomerName;
                shipmentLine.CustomerSiteId   = OrderHelper.GetSingleOrder(item.OrderId.ToString()).CustomerSiteId;
                shipmentLine.CustomerSiteName = OrderHelper.GetSingleOrder(item.OrderId.ToString()).CustomerSiteName;

                orderShipment.OrderShipments.Add(shipmentLine);
            }

            return(orderShipment);
        }