/// <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; }