Exemple #1
0
        /// <summary>
        /// Send order, and save to interface
        /// </summary>
        /// <param name="OrderId">The order Id</param>
        /// <param name="Resent">true if order already sent</param>
        public static void SendOrder(long OrderId, bool Resent)
        {
            var db = DCFactory.GetDataContext<PartDataContext>();
            var oh = db.OrderHeaders.SingleOrDefault(p => p.OrderHeaderId == OrderId);
            if (oh == null || (oh.Status != OrderStatus.OrderOpen && !Resent)) return;

            var idb = DCFactory.GetDataContext<PartDataContext>();
            if (Resent) DeleteInterface(OrderId);

            var ioh = new IOrderHeader
            {
                VDMSOrderId = oh.OrderHeaderId,
                DealerCode = oh.DealerCode,
                DeliveryCode = oh.Warehouse.Code,
                InvoiceCode = oh.DealerCode,
                OrderDate = new DateTime(oh.OrderDate.Year, oh.OrderDate.Month, oh.OrderDate.Day),
                OrderType = oh.OrderType == "N" ? "M" : "S",
                DatabaseCode = UserHelper.DatabaseCode.ToUpper().Replace("HTF", "HTP").Replace("DNF", "DNP"),
                Flag = "NE",
                TipTopProcess = "N"
            };
            foreach (var item in oh.OrderDetails)
            {
                var iod = new IOrderDetail
                {
                    LineNumber = item.LineNumber,
                    PartCode = item.PartCode,
                    OrderQuantity = item.OrderQuantity,
                    Price = 0,
                    TC_VDQ10 = "V",
                    IOrderHeader = ioh,
                    // mvbinh(19/01/2010)
                    OriginalQty = item.OriginalQty,
                    Quo_Status = item.Quo_Status
                };
            }
            idb.IOrderHeaders.InsertOnSubmit(ioh);
            idb.SubmitChanges();

            oh.Status = OrderStatus.OrderSent;
            oh.OrderDate = DateTime.Now;
            db.SubmitChanges();
        }
 private void detach_IOrderDetails(IOrderDetail entity)
 {
     this.SendPropertyChanging();
     entity.IOrderHeader = null;
 }
 private void attach_IOrderDetails(IOrderDetail entity)
 {
     this.SendPropertyChanging("IOrderDetails");
     entity.IOrderHeader = this;
 }