本文整理汇总了C#中OrderDetail.MoveNext方法的典型用法代码示例。如果您正苦于以下问题:C# OrderDetail.MoveNext方法的具体用法?C# OrderDetail.MoveNext怎么用?C# OrderDetail.MoveNext使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OrderDetail
的用法示例。
在下文中一共展示了OrderDetail.MoveNext方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SaveBackOrderToDatabase
//~ 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;
}
}
示例2: GetPalletLocationChoice
/// <summary>
/// Generate the pick list
/// </summary>
/// <param name="orderId">The order id.</param>
/// <param name="bgWorker">The bg worker.</param>
/// <returns></returns>
public DataView GetPalletLocationChoice(int userID, int orderId, BackgroundWorker bgWorker)
{
var order = new Order();
// Load the order
order.LoadByPrimaryKey(orderId);
//TODO: check if the order is already approved or not.
// if not please return from here
// Load the order details
var orderDetail = new OrderDetail();
orderDetail.LoadAllByOrderID(orderId);
orderDetail.AddColumn("ActivityConcat", typeof(string));
// prepare the pick list data table with the proper fields
_pickList = GetPickListTable();
_replenishmentList = new DataTable();
_replenishmentList.Columns.Add("ItemID", typeof(int));
_replenishmentList.Columns.Add("StoreID", typeof(int));
int count = 0;
// iterate through the order detail and make the pick list
while (!orderDetail.EOF)
{
DateTime startTime = DateTime.Now;
System.Console.WriteLine("Processing - " + orderDetail.ItemID);
// check if there are enough priced items of the same or more quantity in the store
int? unitID = null;
if (!orderDetail.IsColumnNull("UnitID"))
{
unitID = orderDetail.UnitID;
}
if (!orderDetail.IsColumnNull("StockedOut") && (!orderDetail.StockedOut ||(orderDetail.ApprovedQuantity > 0 && orderDetail.Quantity > orderDetail.ApprovedQuantity)))
{
DateTime? preferredExpiry = new DateTime();
if (orderDetail.IsColumnNull("PreferredManufacturerID"))
orderDetail.PreferredManufacturerID = -1;
if (orderDetail.IsColumnNull("PreferredPhysicalStoreID"))
orderDetail.PreferredPhysicalStoreID = -1;
if (orderDetail.IsColumnNull("PreferredExpiryDate"))
preferredExpiry = null;
else
{
preferredExpiry = orderDetail.PreferredExpiryDate;
}
if (!orderDetail.IsColumnNull("ApprovedQuantity") && (orderDetail.ApprovedQuantity > 0 && !orderDetail.IsColumnNull("StoreID")))
{
AddToPickListFor(userID, orderDetail.ID, orderDetail.ItemID, unitID, orderDetail.ApprovedQuantity, orderDetail.StoreID,
orderDetail.PreferredManufacturerID, orderDetail.PreferredPhysicalStoreID,
!orderDetail.IsColumnNull("DeliveryNote") && orderDetail.DeliveryNote,
preferredExpiry);
}
}
System.Console.WriteLine(string.Format("Took - {0}:{1} for Item ID = {2}", DateTime.Now.Subtract(startTime).Minutes, DateTime.Now.Subtract(startTime).Seconds, orderDetail.ItemID));
orderDetail.MoveNext();
count++;
bgWorker.ReportProgress(count, null);
}
// A quick hack just to show the pallet location on the order form
var pl = new PalletLocation();
var im = new ItemManufacturer();
foreach (DataRowView drv in _pickList.DefaultView)
{
int plid = Convert.ToInt32(drv["PalletLocationID"]);
pl.LoadByPrimaryKey(plid);
drv["PalletLocation"] = pl.FullName;
im.LoadIMbyLevel(Convert.ToInt32(drv["ItemID"]), Convert.ToInt32(drv["ManufacturerID"]),
Convert.ToInt32(drv["BoxLevel"]));
drv["QtyInSKU"] = im.RowCount > 0
? Convert.ToDecimal(drv["Pack"]) * im.QuantityInSku
: Convert.ToDecimal(drv["Pack"]);
drv["BoxSizeDisplay"] = im.RowCount > 0 ? im.LevelView2 : ""; //im.RightName;
drv["WarehouseName"] = pl.WarehouseName;
drv["PhysicalStoreName"] = pl.PhysicalStoreName;
var activity = new Activity();
activity.LoadByPrimaryKey(Convert.ToInt32(drv["StoreID"]));
drv["ActivityConcat"] = activity.FullActivityName;
drv["AccountName"] = activity.AccountName;
}
//foreach (DataRowView v in _pickList.DefaultView)
//{
//}
return _pickList.DefaultView;
}