public static OrderDetail GenerateOrderDetail(int unitId, int activityId, decimal pack, int orderId, int qtyPerPack, int itemId) { var ord = new OrderDetail(); ord.LoadByItemUnit(orderId,itemId,unitId,activityId); if (ord.RowCount == 0) { ord.AddNew(); ord.OrderID = orderId; ord.ItemID = itemId; ord.UnitID = unitId; ord.StoreID = activityId; ord.Pack = pack; ord.QtyPerPack = qtyPerPack; ord.Quantity = pack*qtyPerPack; ord.ApprovedQuantity = pack*qtyPerPack; } else { ord.Pack += pack; ord.Quantity += pack; ord.ApprovedQuantity += pack*qtyPerPack; } ord.Save(); return ord; }
public void Update(int OrderID,int ProductID,decimal UnitPrice,short Quantity,float Discount) { OrderDetail item = new OrderDetail(); item.MarkOld(); item.IsLoaded = true; item.OrderID = OrderID; item.ProductID = ProductID; item.UnitPrice = UnitPrice; item.Quantity = Quantity; item.Discount = Discount; item.Save(UserName); }
public void Insert(int OrderID,int ProductID,decimal UnitPrice,short Quantity,float Discount) { OrderDetail item = new OrderDetail(); item.OrderID = OrderID; item.ProductID = ProductID; item.UnitPrice = UnitPrice; item.Quantity = Quantity; item.Discount = Discount; item.Save(UserName); }
/// <summary> /// Computes the stock calculations for an order detail. /// </summary> /// <param name="currentMonth">The current month.</param> /// <param name="currentYear">The current year.</param> /// <param name="userID">The user ID.</param> /// <param name="orderDetail">The order detail.</param> /// <returns></returns> public DataRow ComputeStockCalculationsForAnOrderDetail(int currentMonth, int currentYear, int userID, OrderDetail orderDetail) { if (!IsOrderDetailTableReady(orderDetail)) { PrepareOrderDetailTable(orderDetail); } int? preferredManufacturer; int? preferredPhysicalStoreID; decimal usableStock; decimal approved; decimal availableQuantity; Balance bal = new Balance(); ItemManufacturer imf = new ItemManufacturer(); int? unitid = null; PriceSettings priceSettings = BLL.Settings.HandleDeliveryNotes ? PriceSettings.BOTH : PriceSettings.PRICED_ONLY; BLL.Order parentOrder = new Order(); parentOrder.LoadByPrimaryKey(orderDetail.OrderID); unitid = orderDetail.UnitID; preferredManufacturer = orderDetail.IsColumnNull("PreferredManufacturerID") ? null : new int?(orderDetail.PreferredManufacturerID); preferredPhysicalStoreID = orderDetail.IsColumnNull("PreferredPhysicalStoreID") ? null : new int?(orderDetail.PreferredPhysicalStoreID); if (orderDetail.IsColumnNull("StoreID")) { orderDetail.StoreID = BLL.Activity.GetActivityUsingFEFO(this.FromStore, orderDetail.ItemID, orderDetail.UnitID); orderDetail.Save(); } Activity storeObject = new Activity(); availableQuantity = storeObject.LoadOptionsForOrderDetail(userID, orderDetail.ID, priceSettings, bal, false, out usableStock, out approved); orderDetail.SetColumn("AvailableStores", storeObject.DefaultView); if (storeObject.RowCount == 1) { orderDetail.StoreID = storeObject.ID; // Avoid error if the column IsDeliveryNote doesn't exsit at all. orderDetail.DeliveryNote = storeObject.DefaultView.Table.Columns.IndexOf("IsDeliveryNote") >= 0 && !storeObject.IsColumnNull("IsDeliveryNote") && Convert.ToBoolean(storeObject.GetColumn("IsDeliveryNote")); availableQuantity = Convert.ToDecimal(storeObject.GetColumn("AvailableSKU")); } else if (storeObject.RowCount > 1) { //TOCLEAN: Lord have mercy. // // check if the default activity is selected // if it has been selected, then do a good job and select it. storeObject.Rewind(); while ( !storeObject.EOF && ( ( storeObject.ID == orderDetail.StoreID && !orderDetail.IsColumnNull("DeliveryNote") && orderDetail.DeliveryNote && !Convert.ToBoolean(storeObject.GetColumn("IsDeliveryNote")) ) || storeObject.ID != orderDetail.StoreID ) ) { storeObject.MoveNext(); } // the selected store is found, don't worry. if (!storeObject.EOF) { availableQuantity = Convert.ToDecimal(storeObject.GetColumn("AvailableSKU")); } else { // the selected store is not found, please do select the first store. storeObject.Rewind(); orderDetail.StoreID = storeObject.ID; orderDetail.DeliveryNote = (storeObject.DefaultView.Table.Columns.IndexOf("IsDeliveryNote") >= 0 && !storeObject.IsColumnNull("IsDeliveryNote") && Convert.ToBoolean(storeObject.GetColumn("IsDeliveryNote"))); availableQuantity = Convert.ToDecimal(storeObject.GetColumn("AvailableSKU")); } } orderDetail.SetColumn("HasStores", (storeObject.RowCount > 1) ? "*" : ""); // Precaution ... to hide -ve available quantity. if (availableQuantity < 0) { availableQuantity = 0; } orderDetail.StockedOut = availableQuantity <= 0; orderDetail.Save(); int qinBu = 1; if (unitid.HasValue) { ItemUnit itemUnit = new ItemUnit(); itemUnit.LoadByPrimaryKey(unitid.Value); qinBu = itemUnit.QtyPerUnit; //Checking if the columns from the vwGetAllItems have been filled in. var fullItemName = orderDetail.GetColumn("FullItemName").ToString(); if (string.IsNullOrEmpty(fullItemName)) { BLL.Order temp = new Order(); temp.LoadFromRawSql(HCMIS.Repository.Queries.Order.SelectItemDetail(orderDetail.ItemID)); orderDetail.SetColumn("Unit", itemUnit.Text); orderDetail.SetColumn("FullItemName", temp.GetColumn("FullItemName")); orderDetail.SetColumn("StockCode", temp.GetColumn("StockCode")); orderDetail.SetColumn("CategoryType", temp.GetColumn("CategoryType")); } } orderDetail.SetColumn("AvailableQuantity", availableQuantity); orderDetail.SetColumn("PricedQuantity", usableStock); if (orderDetail.IsColumnNull("ApprovedQuantity")) { if ((orderDetail.Quantity / ((long)qinBu)) < availableQuantity) { orderDetail.ApprovedQuantity = orderDetail.Quantity; } else { orderDetail.ApprovedQuantity = availableQuantity * qinBu; } } if (BLL.Settings.AllowPreferredManufacturers) { Manufacturer manuf = new Manufacturer(); manuf.LoadForItem(orderDetail.ItemID, orderDetail.StoreID, orderDetail.UnitID, true); manuf.AddNew(); manuf.ID = -1; manuf.Name = "Remove Preference"; orderDetail.SetColumn("AvailableManufacturer", manuf.DefaultView); orderDetail.SetColumn("HasManufacturers", (manuf.RowCount > 2) ? "*" : ""); if (manuf.RowCount == 2) { manuf.Rewind(); orderDetail.PreferredManufacturerID = manuf.ID; } } if (BLL.Settings.AllowPreferredPhysicalStore) { PhysicalStore phyStore = new PhysicalStore(); phyStore.LoadForItem(userID, orderDetail.ItemID, orderDetail.StoreID, orderDetail.UnitID); phyStore.AddNew(); phyStore.Name = "Remove Preference"; phyStore.ID = -1; orderDetail.SetColumn("AvailablePhysicalStore", phyStore.DefaultView); orderDetail.SetColumn("HasPhysicalStoreChoice", (phyStore.RowCount > 2) ? "*" : ""); if (phyStore.RowCount == 2) { phyStore.Rewind(); orderDetail.PreferredPhysicalStoreID = phyStore.ID; } } if (BLL.Settings.AllowPreferredExpiry) { ReceiveDoc rd = new ReceiveDoc(); rd.LoadExpiryDatesForItem(orderDetail.ItemID, orderDetail.StoreID, orderDetail.UnitID, true, preferredManufacturer, preferredPhysicalStoreID); rd.AddNew(); rd.SetColumn("ExpiryDateString", "Remove Preference"); orderDetail.SetColumn("AvailableExpiry", rd.DefaultView); orderDetail.SetColumn("HasExpiryChoice", (rd.RowCount > 2) ? "*" : ""); if (!orderDetail.IsColumnNull("PreferredExpiryDate")) { DateTime expDate = orderDetail.PreferredExpiryDate; string expDateStr = string.Format("{0}-{1:00}-{2:00}", expDate.Year, expDate.Month, expDate.Day, ""); orderDetail.SetColumn("ExpiryDateString", expDateStr); } } // do some reseting if the approved quanitty is greater than if (orderDetail.ApprovedQuantity / qinBu > availableQuantity) { orderDetail.ApprovedQuantity = availableQuantity * qinBu; } orderDetail.SetColumn("UsableStock", usableStock); orderDetail.SetColumn("PApprovedStock", approved); orderDetail.SetColumn("SKUBU", qinBu); orderDetail.SetColumn("AvailableSKU", availableQuantity); string TextID = ((orderDetail.IsColumnNull("DeliveryNote") || !orderDetail.DeliveryNote) ? "N" : "D") + orderDetail.StoreID.ToString(); orderDetail.SetColumn("TextID", TextID); orderDetail.SetColumn("ApprovedSKU", orderDetail.ApprovedQuantity / Convert.ToDecimal(qinBu)); orderDetail.SetColumn("RequestedSKU", orderDetail.Quantity / Convert.ToDecimal(qinBu)); if (availableQuantity == 0) { orderDetail.SetColumnNull("TextID"); orderDetail.SetColumnNull("StoreID"); } Item itm = new Item(); string warning = (itm.GetItemAllowStatus(orderDetail.ItemID, this.RequestedBy) == 0) ? "Warning" : ""; orderDetail.SetColumn("Warning", warning); //if (!orderDetail.IsColumnNull("StoreID")) //{ // var balance = new Balance(); //balance.LoadQuantityNotReceive(orderDetail.ItemID, orderDetail.UnitID, parentOrder.FromStore); //var totalrequested =balance.GetTotalApprovedQuantityByItem(parentOrder.ID, orderDetail.ItemID, orderDetail.UnitID,parentOrder.FromStore); orderDetail.SetColumn("GIT", 0); orderDetail.SetColumn("CRequested",0); orderDetail.SetColumn("CApproved",0); //orderDetail.SetColumn("DOS", balance.DOS); //orderDetail.SetColumn("TotalIssued", balance.TotalIssued); //orderDetail.SetColumn("FiscalYearDays", balance.FiscalYearDays); //decimal amc = 0; //decimal mos = 0; //var totalissued = balance.TotalIssued; //var totaldatediff = balance.FiscalYearDays - balance.DOS; //if (totalissued != 0) //{ // amc = Convert.ToDecimal(totalissued / totaldatediff) * 30; //} //else if (amc == 0) //{ // mos = Convert.ToDecimal(balance.FiscalYearDays / 30.0); //} //else if (amc != 0 && availableQuantity != 0) //{ // mos = Convert.ToDecimal(availableQuantity / amc); //} //else if (availableQuantity == 0 && amc != 0) //{ // mos = 0; //} //else //{ // amc = 0; // mos = 0; //} orderDetail.SetColumn("TotalRequested", 0); orderDetail.SetColumn("AMC", 0); orderDetail.SetColumn("MOS", 0); //} return orderDetail.DefaultView.ToTable().Rows[0]; }
public static Order SaveOrderToDB(int Status, int userID, int? orderID, int facilityID, int paymentType, int modeID, string remarks, string letterNumber, string contactPerson, DataView _dvOrderTable) { MyGeneration.dOOdads.TransactionMgr mgr = MyGeneration.dOOdads.TransactionMgr.ThreadTransactionMgr(); try { mgr.BeginTransaction(); BLL.Order or = new BLL.Order(); if (orderID == null) { or.AddNew(); or.RefNo = Order.GetNextOrderReference(); or.OrderTypeID = OrderType.CONSTANTS.STANDARD_ORDER; or.FiscalYearID = FiscalYear.Current.ID; } else { or.LoadByPrimaryKey(orderID.Value); } var oldOrderStatus = or.IsColumnNull("OrderStatusID") ? (int?)null : or.OrderStatusID; or.OrderStatusID = Status; or.RequisitionTypeID = RequisitionType.CONSTANTS.DEMAND; or.Remark = remarks; or.EurDate = or.Date = DateTimeHelper.ServerDateTime; //Both fields are assigned dates. or.RequestedBy = facilityID; or.FilledBy = userID; or.LetterNo = letterNumber; or.PaymentTypeID = paymentType; or.ContactPerson = contactPerson; or.FromStore = modeID; or.Save(); or.LogRequisitionStatus(or.ID, oldOrderStatus, Status, CurrentContext.UserId); //Log OrderStatus Change // this is a kind of initializing the data table. OrderDetail ord = new OrderDetail(); foreach (DataRowView r in _dvOrderTable) { int itemID = Convert.ToInt32(r["ItemID"]); int unitID = Convert.ToInt32(r["UnitID"]); ord.LoadByItemUnit(or.ID, itemID, unitID); if (ord.RowCount == 0) { ord.AddNew(); } ord.OrderID = or.ID; ord.ItemID = itemID; if (r["Pack"] != DBNull.Value) { ord.Pack = Convert.ToDecimal(r["Pack"]); } if (r["QtyPerPack"] != DBNull.Value) { ord.QtyPerPack = Convert.ToInt32(r["QtyPerPack"]); } if (r["StockOnHand"] != DBNull.Value) { ord.StockOnHand = Convert.ToDecimal(r["StockOnHand"]); } //if (r["ExpiredStock"] != DBNull.Value) //{ // ord.ExpiredStock = Convert.ToDecimal(r["ExpiredStock"]); //} //if (r["DamagedStock"] != DBNull.Value) //{ // ord.DamagedStock = Convert.ToDecimal(r["DamagedStock"]); //} ord.Quantity = Convert.ToDecimal(r["Quantity"]); ord.UnitID = unitID; //ord.StoreID = or.FromStore; ord.Save(); } //this.LogActivity("Save-Requisition", ord.ID); mgr.CommitTransaction(); return or; } catch (Exception exp) { mgr.RollbackTransaction(); throw; } //ResetOrder(); }
//~ This Method is Obsoleted ~// public static bool SaveBackOrderToDatabase(BLL.Order _order) { var _orderDetail = new OrderDetail(); _orderDetail.LoadAllByOrderID(_order.ID); MyGeneration.dOOdads.TransactionMgr mgr = MyGeneration.dOOdads.TransactionMgr.ThreadTransactionMgr(); try { mgr.BeginTransaction(); var or = new BLL.Order(); or.AddNew(); or.RefNo = Order.GetNextOrderReference(); or.SetColumn("OrderTypeID", _order.GetColumn("OrderTypeID")); or.SetColumn("HCTSReferenceID", _order.GetColumn("HCTSReferenceID")); or.OrderStatusID = OrderStatus.Constant.DRAFT_WISHLIST; or.RequisitionTypeID = RequisitionType.CONSTANTS.DEMAND; or.Remark = _order.ID.ToString(); //Store the Original ID here for the backorder. We need to have a standard way of marking backorders. or.EurDate = or.Date = DateTimeHelper.ServerDateTime; //Both fields are assigned dates. or.RequestedBy = _order.RequestedBy; or.FilledBy = _order.FilledBy; or.LetterNo = _order.LetterNo; or.PaymentTypeID = _order.PaymentTypeID; or.ContactPerson = _order.ContactPerson; or.FromStore = _order.FromStore; or.FiscalYearID = FiscalYear.Current.ID; or.OrderTypeID = _order.OrderTypeID == OrderType.CONSTANTS.PLITS ? _order.OrderTypeID : OrderType.CONSTANTS.BACK_ORDER; or.Save(); or.LogRequisitionStatus(or.ID,null,OrderStatus.Constant.DRAFT_WISHLIST,CurrentContext.UserId); _orderDetail.Rewind(); var orderDetail = new OrderDetail(); while (!_orderDetail.EOF) { if (_orderDetail.ApprovedQuantity >= _orderDetail.Quantity) { _orderDetail.MoveNext(); continue; //Backorder is only for those with approved quantity less than the requested quantity. } orderDetail.AddNew(); orderDetail.ItemID = _orderDetail.ItemID; orderDetail.OrderID = or.ID; orderDetail.Pack = (_orderDetail.Quantity - _orderDetail.ApprovedQuantity) / _orderDetail.QtyPerPack; orderDetail.QtyPerPack = _orderDetail.QtyPerPack; orderDetail.Quantity = orderDetail.Pack * orderDetail.QtyPerPack; orderDetail.SetColumn("HACTOrderDetailID", _orderDetail.GetColumn("HACTOrderDetailID")); orderDetail.UnitID = _orderDetail.UnitID; _orderDetail.MoveNext(); } orderDetail.Save(); mgr.CommitTransaction(); return true; } catch (Exception exp) { mgr.RollbackTransaction(); return false; } }
private void SaveOrder() { var order = GenerateOrder(); var picklist = PickList.GeneratePickList(order.ID); int lineNo = 0; // This is a kind of initializing the data table. OrderDetail ord = new OrderDetail(); PickListDetail pkDetail = new PickListDetail(); DataView dv = orderGrid.DataSource as DataView; foreach (DataRowView r in dv) { if (r["ApprovedPacks"] != null && r["ApprovedPacks"] != DBNull.Value && r["ApprovedPacks"].ToString() != "") { if (Convert.ToInt32(r["ApprovedPacks"]) != 0) { lineNo = lineNo + 1; int itemID = Convert.ToInt32(r["ItemID"]); int unitID = Convert.ToInt32(r["UnitID"]); ord.AddNew(); ord.OrderID = order.ID; ord.ItemID = itemID; if (r["ApprovedPacks"] != DBNull.Value) { ord.Pack = Convert.ToInt32(r["ApprovedPacks"]); } if (r["QtyPerPack"] != DBNull.Value) { ord.QtyPerPack = Convert.ToInt32(r["QtyPerPack"]); } ord.Quantity = Convert.ToInt32(r["ApprovedPacks"]) * Convert.ToInt32(r["QtyPerPack"]); ord.ApprovedQuantity = Convert.ToInt32(r["ApprovedPacks"]) * Convert.ToInt32(r["QtyPerPack"]); ord.UnitID = unitID; ord.StoreID = Convert.ToInt32(lkAccountType.EditValue); ord.Save(); pkDetail.AddNew(); pkDetail.PickListID = picklist.ID; pkDetail.ItemID = itemID; pkDetail.PalletLocationID = Convert.ToInt32(r["LocationID"]); pkDetail.BatchNumber = r["BatchNo"].ToString(); if (r["ExpDate"] != DBNull.Value) { pkDetail.ExpireDate = DateTime.Parse(r["ExpDate"].ToString()); } pkDetail.StoreID = Convert.ToInt32(r["StoreID"]); pkDetail.UnitID = unitID; pkDetail.ReceiveDocID = Convert.ToInt32(r["ReceiveDocID"]); if (r["UnitPrice"] != DBNull.Value) { pkDetail.Cost = Convert.ToInt32(r["ApprovedPacks"]) * Convert.ToDouble(r["UnitPrice"]); pkDetail.UnitPrice = Convert.ToDouble(r["UnitPrice"]); } pkDetail.Packs = Convert.ToInt32(r["ApprovedPacks"]); pkDetail.QtyPerPack = Convert.ToInt32(r["QtyPerPack"]); pkDetail.QuantityInBU = Convert.ToInt32(r["ApprovedPacks"]) * Convert.ToInt32(r["QtyPerPack"]); pkDetail.StoreID = Convert.ToInt32(r["StoreID"]); pkDetail.ReceivePalletID = Convert.ToInt32(r["ReceivingLocationID"]); pkDetail.ManufacturerID = Convert.ToInt32(r["ManufacturerID"]); pkDetail.BoxLevel = 0; pkDetail.DeliveryNote = true; pkDetail.Save(); //To Print The Picklist //Then reserve Items ReceivePallet receivepallet = new ReceivePallet(); receivepallet.LoadByPrimaryKey(Convert.ToInt32(r["ReceivingLocationID"])); receivepallet.ReservedStock = receivepallet.ReservedStock + Convert.ToInt32(r["ApprovedPacks"]); receivepallet.Save(); DataRow drvpl = dvPickList.NewRow(); drvpl["FullItemName"] = r["FullItemName"]; drvpl["StockCode"] = r["StockCode"]; drvpl["BatchNo"] = r["BatchNo"]; if (r["ExpDate"] != DBNull.Value) { drvpl["ExpDate"] = Convert.ToDateTime(r["ExpDate"]).ToString("MMM/yyyy"); } else { drvpl["ExpDate"] = DBNull.Value; } drvpl["LineNum"] = lineNo + 1; drvpl["ManufacturerName"] = r["Manufacturer"]; drvpl["Pack"] = r["ApprovedPacks"]; drvpl["UnitPrice"] = r["UnitPrice"]; drvpl["Unit"] = r["Unit"]; drvpl["PalletLocation"] = r["Location"]; drvpl["QtyInSKU"] = Convert.ToInt32(r["ApprovedPacks"]); if (r["UnitPrice"] != DBNull.Value) { drvpl["CalculatedCost"] = Convert.ToInt32(r["ApprovedPacks"]) * Convert.ToDouble(r["UnitPrice"]); } PalletLocation palletLocation = new PalletLocation(); palletLocation.LoadByPrimaryKey(pkDetail.PalletLocationID); drvpl["WarehouseName"] = palletLocation.WarehouseName; drvpl["PhysicalStoreName"] = palletLocation.PhysicalStoreName; var activity = new Activity(); activity.LoadByPrimaryKey(pkDetail.StoreID); drvpl["ActivityConcat"] = activity.FullActivityName; drvpl["AccountName"] = activity.AccountName; dvPickList.Rows.Add(drvpl); } } } if (lineNo == 0) { throw new System.ArgumentException("Please review your list,you haven't approved any Quantity"); } var plr = HCMIS.Desktop.Reports.WorkflowReportFactory.CreatePicklistReport(order, lkForHub.Text, dvPickList.DefaultView); plr.PrintDialog(); if (!BLL.Settings.IsCenter) { if (TransferTypeID == 3) { XtraMessageBox.Show("Your Store To Store Transfer will be Printed now", "Store To Store Transfer"); Transfer.Move(picklist.ID); HCMIS.Desktop.Reports.StoreTransferPrintOut STM = new HCMIS.Desktop.Reports.StoreTransferPrintOut(); STM.LoadByPickListID(picklist.ID); STM.PrintDialog(); } else if (TransferTypeID == 2) { XtraMessageBox.Show(ReceiveDoc.ReceiveFromAccountTransfer(picklist.ID, Convert.ToInt32(lkForHub.EditValue), CurrentContext.LoggedInUserName, CurrentContext.UserId)); } } else { XtraMessageBox.Show("Picklist Prepared!", "Successful", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
public void Save(Domain.Request _request, int userID, Domain.OrderStatus orderStatus = Domain.OrderStatus.Submitted) { var order = new Order(); order.LoadByPrimaryKey(_request.RequestID); var dborderStatus = new BLL.OrderStatus(); dborderStatus.LoadByCode(EnumService <Domain.OrderStatus> .GetCode(orderStatus)); order.ChangeStatus(dborderStatus.ID, CurrentContext.UserId); order.ApprovedBy = userID; order.ApprovedDate = DateTimeHelper.ServerDateTime; var orderDetail = new OrderDetail(); orderDetail.LoadAllByOrderID(_request.RequestID); while (!orderDetail.EOF) { var requestDetail = _request.RequestDetails.SingleOrDefault(r => r.RequestDetailId == orderDetail.ID); if (requestDetail == null) { orderDetail.MarkAsDeleted(); } else { //Set Activity if (requestDetail.ActivityGroup != null) { orderDetail.StoreID = requestDetail.ActivityGroup.Activity.ActivityID; orderDetail.DeliveryNote = requestDetail.ActivityGroup.IsDeliveryNote; } else { orderDetail.SetColumnNull("StoreID"); } //Set Manufacturer if (requestDetail.Manufacturer != null) { orderDetail.PreferredManufacturerID = requestDetail.Manufacturer.ManufacturerID; } else { orderDetail.SetColumnNull("PreferredManufacturerID"); } //Set PhysicalStore if (requestDetail.physicalStore != null) { orderDetail.PreferredPhysicalStoreID = requestDetail.physicalStore.PhysicalStoreID; } else { orderDetail.SetColumnNull("PreferredPhysicalStoreID"); } //Set ExpiryDate if (requestDetail.ExpiryDate.HasValue) { orderDetail.PreferredExpiryDate = requestDetail.ExpiryDate.Value; } else { orderDetail.SetColumnNull("PreferredExpiryDate"); } orderDetail.ApprovedQuantity = requestDetail.ApprovedQuantity; orderDetail.StockedOut = requestDetail.StockedOut; } orderDetail.MoveNext(); } foreach (var requestDetail in _request.RequestDetails.Where(r => r.RequestDetailId == 0).ToList()) { orderDetail.AddNew(); orderDetail.ItemID = requestDetail.Item.ItemID; orderDetail.UnitID = requestDetail.Unit.UnitID; orderDetail.Pack = requestDetail.RequestedQuantity; orderDetail.OrderID = order.ID; orderDetail.QtyPerPack = 1; orderDetail.Quantity = requestDetail.RequestedQuantity; orderDetail.ApprovedQuantity = requestDetail.ApprovedQuantity; orderDetail.StockedOut = requestDetail.StockedOut; if (requestDetail.ActivityGroup != null) { orderDetail.StoreID = requestDetail.ActivityGroup.Activity.ActivityID; orderDetail.DeliveryNote = requestDetail.ActivityGroup.IsDeliveryNote; } else { orderDetail.SetColumnNull("StoreID"); } //Set Manufacturer if (requestDetail.Manufacturer != null) { orderDetail.PreferredManufacturerID = requestDetail.Manufacturer.ManufacturerID; } else { orderDetail.SetColumnNull("PreferredManufacturerID"); } //Set PhysicalStore if (requestDetail.physicalStore != null) { orderDetail.PreferredPhysicalStoreID = requestDetail.physicalStore.PhysicalStoreID; } else { orderDetail.SetColumnNull("PreferredPhysicalStoreID"); } //Set ExpiryDate if (requestDetail.ExpiryDate.HasValue) { orderDetail.PreferredExpiryDate = requestDetail.ExpiryDate.Value; } else { orderDetail.SetColumnNull("PreferredExpiryDate"); } } order.Save(); orderDetail.Save(); }
public int Split() { OrderDetail ordDetail = new OrderDetail(); ordDetail.AddNew(); foreach (DataRow dr in this.DataTable.Rows) { foreach (DataColumn col in ordDetail.DataTable.Columns) { if (col.ColumnName != "ID" && col.ColumnName != "JTransactionGroupID" && col.ColumnName != "cMin" && col.ColumnName != "cAMC" && col.ColumnName != "cDaysOutofStock" && col.ColumnName != "cDamagedStock" && col.ColumnName != "cMin" && col.ColumnName != "cExpiredStock" && col.ColumnName != "cStockOnHand" && col.ColumnName != "cMOS" && col.ColumnName != "cMax" && col.ColumnName != "rowguid") ordDetail.SetColumn(col.ColumnName, this.GetColumn(col.ColumnName)); } } ordDetail.Save(); return ordDetail.ID; }