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