private tblMove GetOrCreateOldContextOrder(InventoryShipmentOrder order, bool createdNew, out bool commitNewContext) { commitNewContext = false; if (createdNew || order.MoveNum == null) { commitNewContext = true; var tblMove = new tblMove { MoveNum = (order.MoveNum = GetNextMoveNum(order.DateCreated.Year)).Value, TTypeID = (int)order.OrderType.ToTransType(), EntryDate = DateTime.UtcNow.ConvertUTCToLocal(), tblMoveOrderDetails = new EntityCollection <tblMoveOrderDetail>(), tblMoveDetails = new EntityCollection <tblMoveDetail>(), Status = (int?)tblOrderStatus.Scheduled }; OldContext.tblMoves.AddObject(tblMove); return(tblMove); } return(OldContext.tblMoves .Where(m => m.MoveNum == order.MoveNum.Value) .Select(m => new { move = m, m.tblMoveOrderDetails, m.tblMoveDetails }) .ToList() .Select(m => m.move).Single()); }
public static void SetOrderShipment(InventoryShipmentOrder newOrder, tblMove oldOrder) { oldOrder.PalletOR = (decimal?)newOrder.ShipmentInformation.PalletWeight; oldOrder.PalletQty = newOrder.ShipmentInformation.PalletQuantity; oldOrder.FreightBillType = newOrder.ShipmentInformation.FreightBillType; oldOrder.ShipVia = newOrder.ShipmentInformation.ShipmentMethod; oldOrder.Driver = newOrder.ShipmentInformation.DriverName; oldOrder.Carrier = newOrder.ShipmentInformation.CarrierName; oldOrder.TrlNbr = newOrder.ShipmentInformation.TrailerLicenseNumber; oldOrder.ContSeal = newOrder.ShipmentInformation.ContainerSeal; oldOrder.InternalNotes = newOrder.ShipmentInformation.InternalNotes; oldOrder.ExternalNotes = newOrder.ShipmentInformation.ExternalNotes; oldOrder.SpclInstr = newOrder.ShipmentInformation.SpecialInstructions; oldOrder.PONbr = newOrder.PurchaseOrderNumber; oldOrder.DateRecd = newOrder.DateReceived; oldOrder.From = newOrder.RequestedBy; oldOrder.TakenBy = newOrder.TakenBy; oldOrder.DelDueDate = newOrder.ShipmentInformation.RequiredDeliveryDate; oldOrder.SchdShipDate = newOrder.ShipmentInformation.ShipmentDate; oldOrder.Date = newOrder.ShipmentInformation.ShipmentDate; oldOrder.CCompany = newOrder.ShipmentInformation.ShipFrom.Name; //oldOrder.CPhone = newOrder.ShipmentInformation.ShipFrom.Phone; //oldOrder.CEmail = newOrder.ShipmentInformation.ShipFrom.EMail; //oldOrder.CFax = newOrder.ShipmentInformation.ShipFrom.Fax; oldOrder.CAddress1 = newOrder.ShipmentInformation.ShipFrom.Address.AddressLine1; oldOrder.CAddress2 = newOrder.ShipmentInformation.ShipFrom.Address.AddressLine2; oldOrder.CAddress3 = newOrder.ShipmentInformation.ShipFrom.Address.AddressLine3; oldOrder.CCity = newOrder.ShipmentInformation.ShipFrom.Address.City; oldOrder.CState = newOrder.ShipmentInformation.ShipFrom.Address.State; oldOrder.CZip = newOrder.ShipmentInformation.ShipFrom.Address.PostalCode; oldOrder.CCountry = newOrder.ShipmentInformation.ShipFrom.Address.Country; oldOrder.SCompany = newOrder.ShipmentInformation.ShipTo.Name; oldOrder.SPhone = newOrder.ShipmentInformation.ShipTo.Phone; //oldOrder.SEmail = newOrder.ShipmentInformation.ShipTo.EMail; //oldOrder.SFax = newOrder.ShipmentInformation.ShipTo.Fax; oldOrder.SAddress1 = newOrder.ShipmentInformation.ShipTo.Address.AddressLine1; oldOrder.SAddress2 = newOrder.ShipmentInformation.ShipTo.Address.AddressLine2; oldOrder.SAddress3 = newOrder.ShipmentInformation.ShipTo.Address.AddressLine3; oldOrder.SCity = newOrder.ShipmentInformation.ShipTo.Address.City; oldOrder.SState = newOrder.ShipmentInformation.ShipTo.Address.State; oldOrder.SZip = newOrder.ShipmentInformation.ShipTo.Address.PostalCode; oldOrder.SCountry = newOrder.ShipmentInformation.ShipTo.Address.Country; oldOrder.Company = newOrder.ShipmentInformation.FreightBill.Name; oldOrder.Phone = newOrder.ShipmentInformation.FreightBill.Phone; oldOrder.Email = newOrder.ShipmentInformation.FreightBill.EMail; oldOrder.Fax = newOrder.ShipmentInformation.FreightBill.Fax; oldOrder.Address1 = newOrder.ShipmentInformation.FreightBill.Address.AddressLine1; oldOrder.Address2 = newOrder.ShipmentInformation.FreightBill.Address.AddressLine2; oldOrder.Address3 = newOrder.ShipmentInformation.FreightBill.Address.AddressLine3; oldOrder.City = newOrder.ShipmentInformation.FreightBill.Address.City; oldOrder.State = newOrder.ShipmentInformation.FreightBill.Address.State; oldOrder.Zip = newOrder.ShipmentInformation.FreightBill.Address.PostalCode; oldOrder.Country = newOrder.ShipmentInformation.FreightBill.Address.Country; }
private void SetPickedInventory(InventoryShipmentOrder newOrder, tblMove oldOrder, ref bool commitNewContext) { var MDetail = OldContext.tblMoveDetails.Any() ? OldContext.tblMoveDetails.Max(m => m.MDetail).AddSeconds(1) : DateTime.UtcNow.ConvertUTCToLocal(); var oldDetailsToRemove = oldOrder.tblMoveDetails.ToList(); foreach (var newItem in newOrder.PickedInventory.Items) { var oldItem = oldDetailsToRemove.FirstOrDefault(d => d.MDetail == newItem.DetailID) ?? oldDetailsToRemove.FirstOrDefault(); if (oldItem == null) { oldItem = new tblMoveDetail { MDetail = MDetail }; OldContext.tblMoveDetails.AddObject(oldItem); MDetail = MDetail.AddSeconds(1); } else { oldDetailsToRemove.Remove(oldItem); } oldItem.MoveNum = newOrder.MoveNum.Value; oldItem.Lot = LotNumberParser.BuildLotNumber(newItem); oldItem.TTypeID = (int?)newOrder.OrderType.ToTransType(); oldItem.PkgID = OldContextHelper.GetPackaging(newItem.PackagingProduct).PkgID; oldItem.Quantity = newItem.Quantity; oldItem.NetWgt = (decimal?)newItem.PackagingProduct.Weight; oldItem.TtlWgt = (decimal?)(newItem.Quantity * newItem.PackagingProduct.Weight); oldItem.LocID = newItem.FromLocation.LocID.Value; oldItem.Move2 = newItem.CurrentLocation.LocID.Value; oldItem.TrtmtID = OldContextHelper.GetTreatment(newItem).TrtmtID; oldItem.EmployeeID = newOrder.PickedInventory.EmployeeId; oldItem.CustProductCode = newItem.CustomerProductCode; oldItem.CustLot = newItem.CustomerLotCode; if (newItem.DetailID != oldItem.MDetail) { commitNewContext = true; newItem.DetailID = oldItem.MDetail; } } foreach (var o in oldDetailsToRemove) { OldContext.tblMoveDetails.DeleteObject(o); } }
private void SetPickOrder(InventoryShipmentOrder newOrder, tblMove oldOrder) { var MOrderDetail = OldContext.tblMoveOrderDetails.Any() ? OldContext.tblMoveOrderDetails.Max(m => m.MOrderDetail).AddSeconds(1) : DateTime.UtcNow.ConvertUTCToLocal(); var oldDetailsToRemove = oldOrder.tblMoveOrderDetails.ToList(); foreach (var newItem in newOrder.InventoryPickOrder.Items) { var oldItem = oldDetailsToRemove.FirstOrDefault(); if (oldItem == null) { oldItem = new tblMoveOrderDetail { MOrderDetail = MOrderDetail }; OldContext.tblMoveOrderDetails.AddObject(oldItem); MOrderDetail = MOrderDetail.AddSeconds(1); } else { oldDetailsToRemove.Remove(oldItem); } oldItem.MoveNum = newOrder.MoveNum.Value; oldItem.Quantity = newItem.Quantity; oldItem.ProdID = OldContextHelper.GetProduct(newItem.Product.ProductCode).ProdID; oldItem.PkgID = OldContextHelper.GetPackaging(newItem.PackagingProduct).PkgID; oldItem.NetWgt = (decimal?)newItem.PackagingProduct.Weight; oldItem.TtlWgt = (decimal?)(newItem.PackagingProduct.Weight * newItem.Quantity); oldItem.TrtmtID = OldContextHelper.GetTreatment(newItem).TrtmtID; oldItem.EmployeeID = null; oldItem.CustProductCode = newItem.CustomerProductCode; oldItem.CustLot = newItem.CustomerLotCode; oldItem.CustomerID = newItem.Customer != null ? newItem.Customer.Company.Name : null; } foreach (var o in oldDetailsToRemove) { OldContext.tblMoveOrderDetails.DeleteObject(o); } }