本文整理汇总了C#中ObjectCriteria.AddEqCriteria方法的典型用法代码示例。如果您正苦于以下问题:C# ObjectCriteria.AddEqCriteria方法的具体用法?C# ObjectCriteria.AddEqCriteria怎么用?C# ObjectCriteria.AddEqCriteria使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ObjectCriteria
的用法示例。
在下文中一共展示了ObjectCriteria.AddEqCriteria方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Get
public static Department Get(long deptId)
{
Department _currentDepartment = null;
/*if (_currentDepartment == null)
{*/
IApplicationContext ctx = ContextRegistry.GetContext();
var departmentLogic = ctx.GetObject("AppFrame.Service.IDepartmentLogic") as IDepartmentLogic;
var criteria = new ObjectCriteria();
criteria.AddEqCriteria("Active", 1);
criteria.AddEqCriteria("DelFlg", (long)0);
criteria.AddEqCriteria("DepartmentId", deptId);
if (departmentLogic != null)
{
IList deptList = departmentLogic.FindAll(criteria);
if (deptList != null && deptList.Count > 0)
{
_currentDepartment = deptList[0] as Department;
}
}
if (_currentDepartment == null)
{
return null;
}
// detach object to session
return _currentDepartment;
/*}
else
{
return _currentDepartment;
}*/
}
示例2: ProcessList
public void ProcessList(IList list)
{
object maxId = DepartmentStockHistoryDAO.SelectSpecificType(null, Projections.Max("DepartmentStockDefectPK.DepartmentStockDefectId"));
long nextMaxId = maxId != null ? (long) maxId : 1;
foreach (DepartmentStockHistory defect in list)
{
// find exist stock base on productid
ObjectCriteria objectCriteria = new ObjectCriteria();
objectCriteria.AddEqCriteria("Product.ProductId", defect.Product.ProductId);
objectCriteria.AddEqCriteria("DepartmentStockDefectPK.DepartmentId",
CurrentDepartment.Get().DepartmentId);
IList existList = DepartmentStockHistoryDAO.FindAll(objectCriteria);
if (existList.Count > 0) // exist stock ?
{
DepartmentStockHistory existDefect = (DepartmentStockHistory) existList[0];
existDefect.DamageCount = defect.DamageCount;
existDefect.Description = defect.Description;
existDefect.ErrorCount = defect.ErrorCount;
existDefect.LostCount = defect.LostCount;
existDefect.GoodCount = defect.GoodCount;
existDefect.Product = defect.Product;
existDefect.ProductMaster = defect.ProductMaster;
existDefect.Quantity = defect.Quantity;
existDefect.DepartmentStock = defect.DepartmentStock;
existDefect.UnconfirmCount = defect.UnconfirmCount;
existDefect.UpdateDate = defect.UpdateDate;
existDefect.UpdateId = defect.UpdateId;
existDefect.ExclusiveKey = existDefect.ExclusiveKey + 1;
defect.DepartmentStockHistoryPK.DepartmentStockHistoryId =
existDefect.DepartmentStockHistoryPK.DepartmentStockHistoryId;
defect.DepartmentStockHistoryPK.DepartmentId = CurrentDepartment.Get().DepartmentId;
DepartmentStockHistoryDAO.Update(existDefect);
}
else
{
defect.DepartmentStockHistoryPK.DepartmentStockHistoryId = nextMaxId++;
defect.DepartmentStockHistoryPK.DepartmentId = CurrentDepartment.Get().DepartmentId;
DepartmentStockHistoryDAO.Add(defect);
}
}
}
示例3: TempSave
public void TempSave(IList saveStockViewList)
{
foreach (DepartmentStockView view in saveStockViewList)
{
foreach (DepartmentStock stock in view.DepartmentStocks)
{
DepartmentStockTemp temp = new DepartmentStockTempMapper().Convert(stock);
ObjectCriteria crit = new ObjectCriteria();
crit.AddEqCriteria("TempSave", 1);
crit.AddEqCriteria("Fixed", 0);
crit.AddEqCriteria("DelFlg", 0);
crit.AddEqCriteria("DepartmentStockTempPK.DepartmentId",temp.DepartmentStockTempPK.DepartmentId);
crit.AddEqCriteria("DepartmentStockTempPK.ProductId", temp.DepartmentStockTempPK.ProductId);
IList list =DepartmentStockTempDAO.FindAll(crit);
if(list == null || list.Count == 0)
{
temp.TempSave = 1;
DepartmentStockTempDAO.Add(temp);
}
else
{
DepartmentStockTemp tempSave = (DepartmentStockTemp) list[0];
tempSave.Quantity = temp.Quantity;
tempSave.GoodQuantity = temp.GoodQuantity;
tempSave.ErrorQuantity = temp.ErrorQuantity;
tempSave.LostQuantity = temp.LostQuantity;
tempSave.UnconfirmQuantity = temp.UnconfirmQuantity;
tempSave.DamageQuantity = temp.DamageQuantity;
tempSave.TempSave = 1;
DepartmentStockTempDAO.Update(tempSave);
}
}
}
}
示例4: Update
public void Update(StockOut stockOut)
{
int listCount = stockOut.StockOutDetails.Count;
int delCount = 0;
if(stockOut.ConfirmFlg == 1)
{
stockOut.NotUpdateMainStock = true;
}
var maxStockOutDetailIdStr = StockOutDetailDAO.SelectSpecificType(null, Projections.Max("StockOutDetailId"));
long maxStockOutDetailId = maxStockOutDetailIdStr != null ? Int64.Parse(maxStockOutDetailIdStr.ToString()) : 0;
maxStockOutDetailId = maxStockOutDetailId + 1;
IList productIds = new ArrayList();
foreach (StockOutDetail stockOutDetail in stockOut.StockOutDetails)
{
productIds.Add(stockOutDetail.Product.ProductId);
}
var criteria = new ObjectCriteria();
criteria.AddEqCriteria("DelFlg", CommonConstants.DEL_FLG_NO);
criteria.AddSearchInCriteria("Product.ProductId", productIds);
IList stockList = StockDAO.FindAll(criteria);
foreach (StockOutDetail stockOutDetail in stockOut.StockOutDetails)
{
if (stockOutDetail.StockOutDetailId != 0)
{
// if delete then delete it
if(stockOutDetail.DelFlg == 1)
{
StockOutDetailDAO.Delete(stockOutDetail);
delCount++;
continue;
}
// check number
var objectCriteria = new ObjectCriteria();
objectCriteria.AddEqCriteria("DelFlg", CommonConstants.DEL_FLG_NO);
objectCriteria.AddEqCriteria("Product.ProductId", stockOutDetail.Product.ProductId);
Stock stock = GetStock(stockOutDetail.Product.ProductId, stockList);
if (stock == null)
{
throw new BusinessException("Mặt hàng " + stockOutDetail.Product.ProductId + ", " +
stockOutDetail.Product.ProductFullName + " không có trong kho");
}
stockOutDetail.LostQuantity = 0;
stockOutDetail.UnconfirmQuantity = 0;
// xuất ra cửa hàng khác
if (stockOut.DefectStatus != null && stockOut.DefectStatus.DefectStatusId == 7)
{
stockOutDetail.Quantity = stockOutDetail.GoodQuantity;
stock.Quantity -= stockOutDetail.Quantity;
stockOutDetail.ErrorQuantity = 0;
stockOutDetail.DamageQuantity = 0;
stockOutDetail.LostQuantity = 0;
stockOutDetail.UnconfirmQuantity = 0;
}// xuất tạm
else if (stockOut.DefectStatus != null && stockOut.DefectStatus.DefectStatusId == 4)
{
// check whether it's has temp stockout enough ?
long totaltempErrorStockOut = 0;
long totalReStockCount = 0;
ObjectCriteria crit = new ObjectCriteria();
crit.AddEqCriteria("Product.ProductId", stockOutDetail.Product.ProductId)
.AddEqCriteria("DefectStatus.DefectStatusId", (long) 4)
.AddEqCriteria("DelFlg", (long) 0);
IList tempStockedOutList = StockOutDetailDAO.FindAll(crit);
if (tempStockedOutList != null)
{
foreach (StockOutDetail outDetail in tempStockedOutList)
{
totaltempErrorStockOut += outDetail.Quantity;
}
}
IList reStockList = StockInDetailDAO.FindReStock(stockOutDetail.Product.ProductId);
if (reStockList != null)
{
foreach (StockInDetail stockInDetail in reStockList)
{
totalReStockCount += stockInDetail.Quantity;
}
}
totaltempErrorStockOut = totaltempErrorStockOut - totalReStockCount;
if (stockOutDetail.ErrorQuantity > stock.ErrorQuantity - totaltempErrorStockOut)
{
throw new BusinessException("Lỗi: Mặt hàng " + stockOutDetail.Product.ProductFullName +
", mã vạch "
+ stockOutDetail.Product.ProductId + " có tồn " +
stock.ErrorQuantity + ", đã xuất tạm " + totaltempErrorStockOut +
", và đang xuất " + stockOutDetail.ErrorQuantity);
}
// update quantity
//.........这里部分代码省略.........
示例5: Add
public void Add(DepartmentStockIn data)
{
string deptStr = string.Format("{0:000}", data.DepartmentId);
string dateStr = data.StockInDate.ToString("yyMMdd");
var criteria = new ObjectCriteria();
criteria.AddGreaterCriteria("StockoutId", (long)0);
var maxId = StockOutDAO.SelectSpecificType(criteria, Projections.Max("StockoutId"));
var stockOutId = maxId == null ? 1 : Int64.Parse(maxId.ToString()) + 1;
//var stockInPk = new DepartmentStockInPK { DepartmentId = data.DepartmentId, StockInId = stockOutId + "" };
//data.DepartmentStockInPK = stockInPk;
data.CreateDate = DateTime.Now;
data.UpdateDate = DateTime.Now;
data.UpdateId = ClientInfo.getInstance().LoggedUser.Name;
data.CreateId = ClientInfo.getInstance().LoggedUser.Name;
StockOut stockOut = new StockOut();
stockOut.StockoutId = stockOutId;
stockOut.CreateDate = DateTime.Now;
stockOut.UpdateDate = DateTime.Now;
stockOut.StockOutDate = DateTime.Now;
stockOut.UpdateId = ClientInfo.getInstance().LoggedUser.Name;
stockOut.CreateId = ClientInfo.getInstance().LoggedUser.Name;
stockOut.NotUpdateMainStock = false;
stockOut.DefectStatus = new StockDefectStatus { DefectStatusId = 0};
stockOut.DelFlg = 0;
stockOut.DepartmentId = data.DepartmentId;
// we will get the stock to get the data
IList productMasterIds = new ArrayList();
foreach (DepartmentStockInDetail stockInDetail in data.DepartmentStockInDetails)
{
productMasterIds.Add(stockInDetail.Product.ProductMaster.ProductMasterId);
}
IList productIds = new ArrayList();
foreach (DepartmentStockInDetail stockInDetail in data.DepartmentStockInDetails)
{
productIds.Add(stockInDetail.Product.ProductId);
}
criteria = new ObjectCriteria();
criteria.AddEqCriteria("DelFlg", CommonConstants.DEL_FLG_NO);
criteria.AddGreaterCriteria("Quantity", (long)0);
//criteria.AddSearchInCriteria("ProductMaster.ProductMasterId", productMasterIds);
criteria.AddSearchInCriteria("Product.ProductId", productIds);
//criteria.AddOrder("ProductMaster.ProductMasterId", true);
criteria.AddOrder("Product.ProductId", true);
IList stockList = StockDAO.FindAll(criteria);
IList updateStockList = new ArrayList();
IList stockOutDetailList = new ArrayList();
var maxSODetailId = StockOutDetailDAO.SelectSpecificType(new ObjectCriteria(), Projections.Max("StockOutDetailId"));
long stockOutDetailId = (maxSODetailId == null ? 1 : Int64.Parse(maxSODetailId.ToString()) + 1);
foreach (DepartmentStockInDetail stockInDetail in data.DepartmentStockInDetails)
{
long quantity = stockInDetail.Quantity;
foreach (Stock stock in stockList)
{
long stockInQty = 0;
//if (stock.ProductMaster.ProductMasterId.Equals(stockInDetail.Product.ProductMaster.ProductMasterId) && stock.Quantity > 0)
if (stock.Product.ProductId.Equals(stockInDetail.Product.ProductId) && stock.Quantity > 0)
{
if (quantity > stock.GoodQuantity)
{
throw new BusinessException("Mặt hàng: " + stock.ProductMaster.ProductName
+ " - mã vạch: " + stock.Product.ProductId
+ " không đủ hàng! Tồn: " + stockInDetail.StockQuantity + " , cần xuất: " + quantity);
stockInQty = stock.GoodQuantity;
quantity -= stock.GoodQuantity;
stock.GoodQuantity = 0;
}
else
{
stockInQty = quantity;
stock.GoodQuantity -= quantity;
quantity = 0;
}
stock.Quantity = stock.GoodQuantity + stock.ErrorQuantity + stock.DamageQuantity +
stock.LostQuantity + stock.UnconfirmQuantity;
stock.UpdateDate = DateTime.Now;
stock.UpdateId = ClientInfo.getInstance().LoggedUser.Name;
updateStockList.Add(stock);
/*var pk = new StockOutDetailPK
{
//DepartmentId = data.DepartmentId,
ProductId = stock.Product.ProductId,
StockOutId = stockOutId
};*/
var detail = new StockOutDetail
{
//StockOutDetailPK = pk,
StockOutDetailId = stockOutDetailId++,
StockOutId = stockOutId,
//.........这里部分代码省略.........
示例6: Delete
public void Delete(ProductMaster data)
{
long deptId = CurrentDepartment.Get().DepartmentId;
// delete product master
ProductMaster master = ProductMasterDAO.FindById(data.ProductMasterId);
if (master != null)
{
master.UpdateDate = DateTime.Now;
master.UpdateId = ClientInfo.getInstance().LoggedUser.Name;
master.DelFlg = 1;
ProductMasterDAO.Update(master);
}
// delete product
var criteria = new ObjectCriteria();
criteria.AddEqCriteria("ProductMaster.ProductMasterId", data.ProductMasterId);
criteria.AddEqCriteria("DelFlg", CommonConstants.DEL_FLG_NO);
IList products = ProductDAO.FindAll(criteria);
IList productIds = new ArrayList();
foreach (Product product in products)
{
product.UpdateDate = DateTime.Now;
product.UpdateId = ClientInfo.getInstance().LoggedUser.Name;
product.DelFlg = 1;
ProductDAO.Update(product);
productIds.Add(product.ProductId);
}
if (productIds.Count > 0)
{
// delete stock in detail
criteria = new ObjectCriteria();
criteria.AddEqCriteria("DepartmentStockInDetailPK.DepartmentId", deptId);
criteria.AddSearchInCriteria("DepartmentStockInDetailPK.ProductId", productIds);
IList stockInDetails = DepartmentStockInDetailDAO.FindAll(criteria);
IList stockInIds = new ArrayList();
foreach (DepartmentStockInDetail detail in stockInDetails)
{
detail.UpdateDate = DateTime.Now;
detail.UpdateId = ClientInfo.getInstance().LoggedUser.Name;
detail.DelFlg = 1;
DepartmentStockInDetailDAO.Update(detail);
stockInIds.Add(detail.DepartmentStockInDetailPK.StockInId);
}
// delete stock in
if (stockInIds.Count > 0)
{
criteria = new ObjectCriteria();
criteria.AddEqCriteria("DepartmentStockInPK.DepartmentId", deptId);
criteria.AddSearchInCriteria("DepartmentStockInPK.StockInId", stockInIds);
IList stockIns = DepartmentStockInDAO.FindAll(criteria);
foreach (DepartmentStockIn stockIn in stockIns)
{
stockIn.UpdateDate = DateTime.Now;
stockIn.UpdateId = ClientInfo.getInstance().LoggedUser.Name;
stockIn.DelFlg = 1;
DepartmentStockInDAO.Update(stockIn);
}
}
// delete stock
criteria = new ObjectCriteria();
criteria.AddEqCriteria("DepartmentStockPK.DepartmentId", deptId);
criteria.AddSearchInCriteria("DepartmentStockPK.ProductId", productIds);
IList stocks = DepartmentStockDAO.FindAll(criteria);
foreach (DepartmentStock stock in stocks)
{
stock.UpdateDate = DateTime.Now;
stock.UpdateId = ClientInfo.getInstance().LoggedUser.Name;
stock.DelFlg = 1;
DepartmentStockDAO.Update(stock);
}
// delete purchase order detail
criteria = new ObjectCriteria();
criteria.AddEqCriteria("PurchaseOrderDetailPK.DepartmentId", deptId);
criteria.AddEqCriteria("ProductMaster.ProductMasterId", data.ProductMasterId);
IList purchaseOrderDetails = PurchaseOrderDetailDAO.FindAll(criteria);
IList purchaseOrderIds = new ArrayList();
foreach (PurchaseOrderDetail detail in purchaseOrderDetails)
{
detail.UpdateDate = DateTime.Now;
detail.UpdateId = ClientInfo.getInstance().LoggedUser.Name;
detail.DelFlg = 1;
PurchaseOrderDetailDAO.Update(detail);
purchaseOrderIds.Add(detail.PurchaseOrderDetailPK.PurchaseOrderId);
}
// delete purchase order
if (purchaseOrderIds.Count > 0)
{
criteria = new ObjectCriteria();
criteria.AddEqCriteria("PurchaseOrderPK.DepartmentId", deptId);
criteria.AddSearchInCriteria("PurchaseOrderPK.PurchaseOrderId", purchaseOrderIds);
IList purchaseOrders = PurchaseOrderDAO.FindAll(criteria);
foreach (PurchaseOrder po in purchaseOrders)
{
po.UpdateDate = DateTime.Now;
po.UpdateId = ClientInfo.getInstance().LoggedUser.Name;
//.........这里部分代码省略.........
示例7: GetSyncData
public SyncFromDepartmentToMain GetSyncData(bool IsSubmitPeriod,DateTime lastSyncTime)
{
// Save the end of period
// select 5 day nearest
var sync = new SyncFromDepartmentToMain();
// find unconfirm department stock
ObjectCriteria deptTempCrit = new ObjectCriteria();
//deptTempCrit.AddEqCriteria("DelFlg", CommonConstants.DEL_FLG_NO);
IList deptTempList = DepartmentStockTempDAO.FindAll(null);
sync.DepartmentStockTempList = deptTempList;
// find timeline
IList departmentTimelineList = DepartmentTimelineDAO.FindAll(null);
// find po
IList poList = PurchaseOrderDAO.FindAll(null);
// find po detail
foreach (PurchaseOrder po in poList)
{
var criteria = new ObjectCriteria();
criteria.AddEqCriteria("PurchaseOrderDetailPK.PurchaseOrderId", po.PurchaseOrderPK.PurchaseOrderId);
po.PurchaseOrderDetails = PurchaseOrderDetailDAO.FindAll(criteria);
}
// find stock history
ObjectCriteria incrementalCrit = new ObjectCriteria();
incrementalCrit.AddGreaterOrEqualsCriteria("CreateDate", lastSyncTime);
IList stockHistoryList = DepartmentStockHistoryDAO.FindAll(incrementalCrit);
// find dept stock out
IList deptStockOutList = DepartmentStockOutDAO.FindAll(incrementalCrit);
// find dept stock out detail
foreach (DepartmentStockOut so in deptStockOutList)
{
var criteria = new ObjectCriteria();
criteria.AddEqCriteria("DepartmentStockOut.DepartmentStockOutPK.StockOutId", so.DepartmentStockOutPK.StockOutId);
so.DepartmentStockOutDetails = DepartmentStockOutDetailDAO.FindAll(criteria);
}
// find dept stock
IList deptStock = DepartmentStockDAO.FindAll(null);
// find return PO
IList returnPoList = ReturnPoDAO.FindAll(null);
// dept restock in
/*var crit = new ObjectCriteria();
crit.AddEqCriteria("StockInType", (long) 1);*/
//IList deptReStockInList = DepartmentStockInDAO.FindAll(crit);
IList deptStockInList = DepartmentStockInDAO.FindAll(incrementalCrit);
foreach (DepartmentStockIn si in deptStockInList)
{
var criteria = new ObjectCriteria();
criteria.AddEqCriteria("DepartmentStockIn.DepartmentStockInPK.StockInId", si.DepartmentStockInPK.StockInId);
si.DepartmentStockInDetails = DepartmentStockInDetailDAO.FindAll(criteria);
}
sync.DepartmentStockOutList = deptStockOutList;
sync.DepartmentStockHistoryList = stockHistoryList;
sync.DepartmentStockList = deptStock;
sync.PurchaseOrderList = poList;
sync.ReturnPoList = returnPoList;
sync.DepartmentStockInList = deptStockInList;
sync.DepartmentTimelineList = departmentTimelineList;
// get money info
sync.EmployeeMoneyList = EmployeeMoneyDAO.FindAll(null);
sync.DepartmentCostList = DepartmentCostDAO.FindAll(null);
// end period confirmation
//DepartmentTimeline timeline = new DepartmentTimeline();
return sync;
}
示例8: FindQuantityById
public object FindQuantityById(ReturnPoPK pk)
{
ObjectCriteria objectCriteria = new ObjectCriteria();
objectCriteria.AddEqCriteria("ReturnPoPK.DepartmentId", pk.DepartmentId);
objectCriteria.AddEqCriteria("ReturnPoPK.PurchaseOrderId", pk.PurchaseOrderId);
objectCriteria.AddEqCriteria("ReturnPoPK.PurchaseOrderDetailId", pk.PurchaseOrderDetailId);
IList list = FindAll(objectCriteria);
long returnAmount = 0;
foreach (ReturnPo returnPo in list)
{
returnAmount += returnPo.Quantity;
}
return returnAmount;
}
示例9: Add
//.........这里部分代码省略.........
}
po.ReturnDate = DateTime.Now;
po.Product = detail.Product;
// hàng trả không xác định
if (detail.PurchaseOrder.PurchaseOrderPK.PurchaseOrderId.Equals("000"))
{
po.ReturnPoPK.PurchaseOrderId = undefinedPOId;
po.ReturnPoPK.PurchaseOrderDetailId = undefinedPODetailId++;
}
else // hàng trả có xác định
{
// xác định số hàng đã trả so với hóa đơn gốc.
long originAmount = FindOriginAmount(detail);
if (originAmount == 0)
{
throw new BusinessException("Có lỗi ở hoá đơn gốc, đề nghị kiểm tra");
}
long returnedQuantity = (long) ReturnPoDAO.FindQuantityById(poPK);
long currentReturnQuantity = returnedQuantity + po.Quantity;
if (originAmount < currentReturnQuantity)
{
throw new BusinessException(
"Lỗi :" + detail.Product.ProductMaster.ProductName +
" .Tổng cộng :" + originAmount +
" .Đã trả : " + returnedQuantity +
" .Số lượng muốn trả: " + po.Quantity + " !");
}
}
ObjectCriteria stockCrit = new ObjectCriteria();
stockCrit.AddEqCriteria("DepartmentStockPK.ProductId", detail.Product.ProductId);
IList deptStockList = DepartmentStockDAO.FindAll(stockCrit);
if (deptStockList != null && deptStockList.Count > 0)
{
bool hasPrdFound = false;
foreach (string productId in stockList.Keys)
{
if (productId.Equals(detail.Product.ProductId))
{
long qty = stockList[productId];
qty = qty + detail.Quantity;
stockList[productId] = qty;
hasPrdFound = true;
break;
}
}
if (!hasPrdFound)
{
stockList.Add(detail.Product.ProductId,detail.Quantity);
productList.Add(detail.Product.ProductId,detail.Product);
}
}
else
{
throw new BusinessException("Không có mặt hàng này trong kho. Xin vui lòng kiểm tra dữ liệu");
}
if(!isReturnOrder)
{
po.NextPurchaseOrderId = purchaseOrderId;
}
ReturnPoDAO.Add(po);
// go to next detail
示例10: Sync
//.........这里部分代码省略.........
}
if (!productIds.Contains(detail.Product.ProductId))
{
productIds.Add(detail.Product.ProductId);
quantityList.Add(detail.Quantity);
}
DepartmentStockInDetail DepartmentStockInDetail =
DepartmentStockInDetailDAO.FindById(detail.DepartmentStockInDetailPK);
if (DepartmentStockInDetail == null)
{
DepartmentStockInDetailDAO.Add(detail);
}
else
{
DepartmentStockInDetail.UpdateDate = detail.UpdateDate;
DepartmentStockInDetail.UpdateId = detail.UpdateId;
DepartmentStockInDetail.CreateDate = detail.CreateDate;
DepartmentStockInDetail.CreateId = detail.CreateId;
DepartmentStockInDetail.Quantity = DepartmentStockInDetail.Quantity;
DepartmentStockInDetail.Price = DepartmentStockInDetail.Price;
DepartmentStockInDetailDAO.Update(DepartmentStockInDetail);
}
}
// update price
if (productMasterIds.Count > 0)
{
/*IList NotDupPMList = new ArrayList();
NotDupPMList = CreateNotDuplicateList(productMasterIds);*/
var objectCriteria = new ObjectCriteria();
objectCriteria.AddEqCriteria("DelFlg", CommonConstants.DEL_FLG_NO);
objectCriteria.AddEqCriteria("DepartmentPricePK.DepartmentId", (long)0);
objectCriteria.AddSearchInCriteria("DepartmentPricePK.ProductMasterId", productMasterIds);
IList deptPriceList = DepartmentPriceDAO.FindAll(objectCriteria);
int i = 0;
IList newPriceList = new ArrayList();
foreach (string productMasterId in productMasterIds)
{
DepartmentPrice price = null;
bool found = false;
foreach (DepartmentPrice price1 in deptPriceList)
{
if (price1.DepartmentPricePK.ProductMasterId.Equals(productMasterId))
{
//price = price1;
found = true;
price1.Price = (Int64)priceList[i];
price1.WholeSalePrice = (Int64) whosalePriceList[i];
break;
}
}
if (!found)
{
foreach (DepartmentPrice price1 in newPriceList)
{
if (price1.DepartmentPricePK.ProductMasterId.Equals(productMasterId))
{
//price = price1;
found = true;
price1.Price = (Int64) priceList[i];
price1.WholeSalePrice = (Int64) whosalePriceList[i];
break;
}
示例11: AddStockInBack
public void AddStockInBack(DepartmentStockIn data)
{
long deptId = data.DepartmentStockInPK.DepartmentId;
string deptStr = "000";
if (deptId > 9999)
{
deptStr = deptId.ToString();
}
else
{
deptStr = string.Format("{0:000}", data.DepartmentStockInPK.DepartmentId);
}
string dateStr = data.StockInDate.ToString("yyMMdd");
var criteria = new ObjectCriteria();
string extraZero = "00000";
if(deptId > 9999)
{
extraZero = "000";
}
criteria.AddGreaterCriteria("DepartmentStockInPK.StockInId", dateStr + deptStr + extraZero);
var maxId = DepartmentStockInDAO.SelectSpecificType(criteria,
Projections.Max("DepartmentStockInPK.StockInId"));
string startNum = "00001";
if(deptId > 9999)
{
startNum = "001";
}
var stockInId = maxId == null
? dateStr + deptStr + startNum
: string.Format("{0:00000000000000}", (Int64.Parse(maxId.ToString()) + 1));
var stockInPk = new DepartmentStockInPK {DepartmentId = deptId, StockInId = stockInId + ""};
data.DepartmentStockInPK = stockInPk;
data.CreateDate = DateTime.Now;
data.UpdateDate = DateTime.Now;
data.UpdateId = ClientInfo.getInstance().LoggedUser.Name;
data.CreateId = ClientInfo.getInstance().LoggedUser.Name;
DepartmentStockInDAO.Add(data);
// we will get the stock to get the data
IList productMasterIds = new ArrayList();
IList productIds = new ArrayList();
foreach (DepartmentStockInDetail stockInDetail in data.DepartmentStockInDetails)
{
productIds.Add(stockInDetail.Product.ProductId);
}
criteria = new ObjectCriteria();
criteria.AddEqCriteria("DelFlg", CommonConstants.DEL_FLG_NO);
criteria.AddSearchInCriteria("DepartmentStockPK.ProductId", productIds);
criteria.AddOrder("Product.ProductId", true);
IList stockList = DepartmentStockDAO.FindAll(criteria);
IList updateStockList = new ArrayList();
IList stockInDetailList = new ArrayList();
foreach (DepartmentStockInDetail stockInDetail in data.DepartmentStockInDetails)
{
long quantity = stockInDetail.Quantity;
DepartmentStockPK stockPk = new DepartmentStockPK
{
DepartmentId = deptId,
ProductId = stockInDetail.Product.ProductId
};
DepartmentStock departmentStock = DepartmentStockDAO.FindById(stockPk);
if (departmentStock.DepartmentStockPK.ProductId.Equals(stockInDetail.Product.ProductId))
{
departmentStock.GoodQuantity += stockInDetail.Quantity;
departmentStock.Quantity += stockInDetail.Quantity;
departmentStock.UpdateDate = DateTime.Now;
departmentStock.UpdateId = ClientInfo.getInstance().LoggedUser.Name;
DepartmentStockDAO.Update(departmentStock);
var pk = new DepartmentStockInDetailPK
{
DepartmentId = data.DepartmentStockInPK.DepartmentId,
ProductId = departmentStock.Product.ProductId,
StockInId = stockInId
};
stockInDetail.DepartmentStockInDetailPK = pk;
DepartmentStockInDetailDAO.Add(stockInDetail);
}
}
}
示例12: Add
public DepartmentStockIn Add(DepartmentStockIn data)
{
string deptStr = "";
if(ClientSetting.IsSubStock())
{
deptStr = string.Format("{0:00000}", data.DepartmentStockInPK.DepartmentId);
}
else
{
deptStr = string.Format("{0:000}", data.DepartmentStockInPK.DepartmentId);
}
string dateStr = data.StockInDate.ToString("yyMMdd");
var criteria = new ObjectCriteria();
if(ClientSetting.IsSubStock())
{
criteria.AddGreaterCriteria("DepartmentStockInPK.StockInId", dateStr + deptStr + "000");
}
else
{
criteria.AddGreaterCriteria("DepartmentStockInPK.StockInId", dateStr + deptStr + "00000");
}
var maxId = DepartmentStockInDAO.SelectSpecificType(criteria, Projections.Max("DepartmentStockInPK.StockInId"));
string stockInId = "";
if(ClientSetting.IsSubStock())
{
stockInId = maxId == null ? dateStr + deptStr + "001" : string.Format("{0:00000000000000}", (Int64.Parse(maxId.ToString()) + 1));
}
else
{
stockInId = maxId == null ? dateStr + deptStr + "00001" : string.Format("{0:00000000000000}", (Int64.Parse(maxId.ToString()) + 1));
}
var stockInPk = new DepartmentStockInPK {DepartmentId = data.DepartmentId, StockInId = stockInId + ""};
data.DepartmentStockInPK = stockInPk;
data.CreateDate = DateTime.Now;
data.UpdateDate = DateTime.Now;
data.UpdateId = ClientInfo.getInstance().LoggedUser.Name;
data.CreateId = ClientInfo.getInstance().LoggedUser.Name;
DepartmentStockInDAO.Add(data);
// we will get the stock to get the data
IList productMasterIds = new ArrayList();
foreach (DepartmentStockInDetail stockInDetail in data.DepartmentStockInDetails)
{
productMasterIds.Add(stockInDetail.Product.ProductMaster.ProductMasterId);
}
criteria = new ObjectCriteria();
criteria.AddEqCriteria("DelFlg", CommonConstants.DEL_FLG_NO);
criteria.AddGreaterCriteria("Quantity", (long)0);
criteria.AddSearchInCriteria("ProductMaster.ProductMasterId", productMasterIds);
criteria.AddOrder("ProductMaster.ProductMasterId", true);
criteria.AddOrder("Product.ProductId", true);
IList stockList = DepartmentStockDAO.FindAll(criteria);
IList updateStockList = new ArrayList();
IList stockInDetailList = new ArrayList();
foreach (DepartmentStockInDetail stockInDetail in data.DepartmentStockInDetails)
{
long quantity = stockInDetail.Quantity;
foreach (DepartmentStock stock in stockList)
{
long stockInQty = 0;
if (stock.Product.ProductId.Equals(stockInDetail.ProductId) && stock.Quantity >= 0)
{
/*if (quantity >= stock.Quantity)
{
stockInQty = stock.Quantity;
quantity -= stock.Quantity;
stock.Quantity = 0;
}
else
{
stockInQty = quantity;
stock.Quantity -= quantity;
quantity = 0;
}*/
if (quantity >= stock.GoodQuantity)
{
stockInQty = stock.GoodQuantity;
quantity -= stock.GoodQuantity;
stock.GoodQuantity = 0;
}
else
{
stockInQty = quantity;
stock.GoodQuantity -= quantity;
quantity = 0;
}
stock.Quantity = stock.GoodQuantity + stock.ErrorQuantity + stock.DamageQuantity +
stock.LostQuantity + stock.UnconfirmQuantity;
stock.UpdateDate = DateTime.Now;
stock.UpdateId = ClientInfo.getInstance().LoggedUser.Name;
updateStockList.Add(stock);
var pk = new DepartmentStockInDetailPK
{
DepartmentId = data.DepartmentId,
//.........这里部分代码省略.........
示例13: SyncFromSubStock
//.........这里部分代码省略.........
Product.Quantity = detail.Product.Quantity;
Product.Price = detail.Product.Price;
ProductDAO.Update(Product);*/
}
if (!productIds.Contains(detail.Product.ProductId))
{
productIds.Add(detail.Product.ProductId);
quantityList.Add(detail.Quantity);
}
DepartmentStockInDetail DepartmentStockInDetail =
DepartmentStockInDetailDAO.FindById(detail.DepartmentStockInDetailPK);
if (DepartmentStockInDetail == null)
{
DepartmentStockInDetailDAO.Add(detail);
}
else
{
/*DepartmentStockInDetail.UpdateDate = detail.UpdateDate;
DepartmentStockInDetail.UpdateId = detail.UpdateId;
DepartmentStockInDetail.CreateDate = detail.CreateDate;
DepartmentStockInDetail.CreateId = detail.CreateId;
DepartmentStockInDetail.Quantity = DepartmentStockInDetail.Quantity;
DepartmentStockInDetail.Price = DepartmentStockInDetail.Price;
DepartmentStockInDetailDAO.Update(DepartmentStockInDetail);*/
}
}
// update price
if (productMasterIds.Count > 0)
{
var criteria = new ObjectCriteria();
criteria.AddEqCriteria("DelFlg", CommonConstants.DEL_FLG_NO);
criteria.AddEqCriteria("DepartmentPricePK.DepartmentId", (long)0);
criteria.AddSearchInCriteria("DepartmentPricePK.ProductMasterId", productMasterIds);
IList deptPriceList = DepartmentPriceDAO.FindAll(criteria);
int i = 0;
foreach (string productMasterId in productMasterIds)
{
DepartmentPrice price = null;
foreach (DepartmentPrice price1 in deptPriceList)
{
if (price1.DepartmentPricePK.ProductMasterId.Equals(productMasterId))
{
price = price1;
price.Price = (Int64)priceList[i];
break;
}
}
if (price == null)
{
price = new DepartmentPrice
{
DepartmentPricePK = new DepartmentPricePK { DepartmentId = 0, ProductMasterId = productMasterId },
Price = (Int64)priceList[i],
CreateDate = DateTime.Now,
CreateId = ClientInfo.getInstance().LoggedUser.Name,
UpdateDate = DateTime.Now,
UpdateId = ClientInfo.getInstance().LoggedUser.Name
};
DepartmentPriceDAO.Add(price);
}
else
{
price.UpdateDate = DateTime.Now;
示例14: Sync
//.........这里部分代码省略.........
Product.Price = detail.Product.Price;
ProductDAO.Update(Product);
}
if (!productIds.Contains(detail.Product.ProductId))
{
productIds.Add(detail.Product.ProductId);
quantityList.Add(detail.Quantity);
}
DepartmentStockInDetail DepartmentStockInDetail =
DepartmentStockInDetailDAO.FindById(detail.DepartmentStockInDetailPK);
if (DepartmentStockInDetail == null)
{
DepartmentStockInDetailDAO.Add(detail);
}
else
{
DepartmentStockInDetail.UpdateDate = detail.UpdateDate;
DepartmentStockInDetail.UpdateId = detail.UpdateId;
DepartmentStockInDetail.CreateDate = detail.CreateDate;
DepartmentStockInDetail.CreateId = detail.CreateId;
DepartmentStockInDetail.Quantity = DepartmentStockInDetail.Quantity;
DepartmentStockInDetail.Price = DepartmentStockInDetail.Price;
DepartmentStockInDetailDAO.Update(DepartmentStockInDetail);
}
}
// update price
if (productMasterIds.Count > 0)
{
var objectCriteria = new ObjectCriteria();
objectCriteria.AddEqCriteria("DelFlg", CommonConstants.DEL_FLG_NO);
objectCriteria.AddEqCriteria("DepartmentPricePK.DepartmentId", (long)0);
objectCriteria.AddSearchInCriteria("DepartmentPricePK.ProductMasterId", productMasterIds);
IList deptPriceList = DepartmentPriceDAO.FindAll(objectCriteria);
int i = 0;
foreach (string productMasterId in productMasterIds)
{
DepartmentPrice price = null;
foreach (DepartmentPrice price1 in deptPriceList)
{
if (price1.DepartmentPricePK.ProductMasterId.Equals(productMasterId))
{
price = price1;
price.Price = (Int64)priceList[i];
break;
}
}
if (price == null)
{
price = new DepartmentPrice
{
DepartmentPricePK = new DepartmentPricePK { DepartmentId = 0, ProductMasterId = productMasterId },
Price = (Int64)priceList[i],
CreateDate = DateTime.Now,
CreateId = ClientInfo.getInstance().LoggedUser.Name,
UpdateDate = DateTime.Now,
UpdateId = ClientInfo.getInstance().LoggedUser.Name
};
DepartmentPriceDAO.Add(price);
}
else
{
price.UpdateDate = DateTime.Now;
示例15: Update
public void Update(StockIn data)
{
string dateStr = data.StockInDate.ToString("yyMMdd");
var criteria = new ObjectCriteria();
criteria.AddGreaterCriteria("ProductId", dateStr + "000000");
var maxId = ProductDAO.SelectSpecificType(criteria, Projections.Max("ProductId"));
var productId = (maxId == null)
? Int64.Parse(dateStr + "000001")
: (Int64.Parse(maxId.ToString()) + 1);
maxId = StockDAO.SelectSpecificType(null, Projections.Max("StockId"));
var stockId = maxId == null ? 1 : Int64.Parse(maxId.ToString()) + 1;
data.UpdateDate = DateTime.Now;
data.UpdateId = ClientInfo.getInstance().LoggedUser.Name;
int delFlg = 0;
foreach (StockInDetail stockInDetail in data.StockInDetails)
{
// add product
Product product = stockInDetail.Product;
if (string.IsNullOrEmpty(product.ProductId))
{
product.ProductId = string.Format("{0:000000000000}", productId++);
product.CreateDate = DateTime.Now;
product.UpdateDate = DateTime.Now;
product.Quantity = stockInDetail.Quantity;
product.UpdateId = ClientInfo.getInstance().LoggedUser.Name;
product.CreateId = ClientInfo.getInstance().LoggedUser.Name;
ProductDAO.Add(product);
// add dept stock in
var detailPK = new StockInDetailPK { ProductId = product.ProductId, StockInId = data.StockInId };
stockInDetail.StockInDetailPK = detailPK;
stockInDetail.CreateDate = DateTime.Now;
stockInDetail.UpdateDate = DateTime.Now;
stockInDetail.UpdateId = ClientInfo.getInstance().LoggedUser.Name;
stockInDetail.CreateId = ClientInfo.getInstance().LoggedUser.Name;
stockInDetail.ProductMaster = product.ProductMaster;
StockInDetailDAO.Add(stockInDetail);
// dept stock
var departmentStock = new Stock
{
StockId = stockId++,
CreateDate = DateTime.Now,
UpdateDate = DateTime.Now,
Product = product,
ProductMaster = product.ProductMaster,
Quantity = stockInDetail.Quantity,
GoodQuantity = stockInDetail.Quantity
};
departmentStock.UpdateId = ClientInfo.getInstance().LoggedUser.Name;
departmentStock.CreateId = ClientInfo.getInstance().LoggedUser.Name;
StockDAO.Add(departmentStock);
var pricePk = new DepartmentPricePK { DepartmentId = 0, ProductMasterId = product.ProductMaster.ProductMasterId };
var price = DepartmentPriceDAO.FindById(pricePk);
if (price == null)
{
price = new DepartmentPrice { DepartmentPricePK = pricePk, Price = stockInDetail.SellPrice, UpdateDate = DateTime.Now, CreateDate = DateTime.Now };
price.UpdateId = ClientInfo.getInstance().LoggedUser.Name;
price.CreateId = ClientInfo.getInstance().LoggedUser.Name;
DepartmentPriceDAO.Add(price);
}
}
else
{
var temProduct = ProductDAO.FindById(product.ProductId);
if (stockInDetail.DelFlg == 0)
{
temProduct.Quantity = product.Quantity;
temProduct.Price = product.Price;
}
else
{
temProduct.DelFlg = 1;
delFlg++;
}
temProduct.UpdateDate = DateTime.Now;
product.UpdateId = ClientInfo.getInstance().LoggedUser.Name;
ProductDAO.Update(temProduct);
// update dept stock in
var detailPK = new StockInDetailPK { ProductId = product.ProductId, StockInId = data.StockInId };
stockInDetail.StockInDetailPK = detailPK;
stockInDetail.UpdateDate = DateTime.Now;
stockInDetail.UpdateId = ClientInfo.getInstance().LoggedUser.Name;
StockInDetailDAO.Update(stockInDetail);
// update stock
criteria = new ObjectCriteria();
criteria.AddEqCriteria("Product.ProductId", product.ProductId);
criteria.AddEqCriteria("DelFlg", CommonConstants.DEL_FLG_NO);
IList departmentStockList = StockDAO.FindAll(criteria);
//.........这里部分代码省略.........