本文整理汇总了C#中ObjectCriteria.AddGreaterCriteria方法的典型用法代码示例。如果您正苦于以下问题:C# ObjectCriteria.AddGreaterCriteria方法的具体用法?C# ObjectCriteria.AddGreaterCriteria怎么用?C# ObjectCriteria.AddGreaterCriteria使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ObjectCriteria
的用法示例。
在下文中一共展示了ObjectCriteria.AddGreaterCriteria方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Add
public StockIn Add(StockIn data)
{
string dateStr = data.StockInDate.ToString("yyMMdd");
var criteria = new ObjectCriteria();
criteria.AddGreaterCriteria("StockInId", dateStr + "00000");
var maxId = StockInDAO.SelectSpecificType(criteria, Projections.Max("StockInId"));
var stockInId = maxId == null ? dateStr + "00001" : string.Format("{0:00000000000}", (Int64.Parse(maxId.ToString()) + 1));
data.StockInId = stockInId;
criteria = new ObjectCriteria();
criteria.AddGreaterCriteria("ProductId", dateStr + "000000");
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.CreateDate = DateTime.Now;
data.UpdateDate = DateTime.Now;
data.UpdateId = ClientInfo.getInstance().LoggedUser.Name;
data.CreateId = ClientInfo.getInstance().LoggedUser.Name;
StockInDAO.Add(data);
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);
criteria = new ObjectCriteria();
criteria.AddEqCriteria("DelFlg", CommonConstants.DEL_FLG_NO);
criteria.AddEqCriteria("ProductMaster.ProductMasterId", product.ProductMaster.ProductMasterId);
// var sum = StockDAO.SelectSpecificType(criteria, Projections.Sum("Quantity"));
// add dept stock in
var detailPK = new StockInDetailPK { ProductId = product.ProductId, StockInId = 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;
// stockInDetail.CurrentStockQuantity = (sum == null) ? 0 : Int64.Parse(sum.ToString());
StockInDetailDAO.Add(stockInDetail);
// dept stock
var stock = new Stock
{
StockId = stockId++,
CreateDate = DateTime.Now,
UpdateDate = DateTime.Now,
Product = product,
Quantity = stockInDetail.Quantity,
GoodQuantity = stockInDetail.Quantity,
ProductMaster = product.ProductMaster
};
stock.UpdateId = ClientInfo.getInstance().LoggedUser.Name;
stock.CreateId = ClientInfo.getInstance().LoggedUser.Name;
StockDAO.Add(stock);
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
{
price.Price = stockInDetail.SellPrice;
price.UpdateId = ClientInfo.getInstance().LoggedUser.Name;
price.UpdateDate = DateTime.Now;
DepartmentPriceDAO.Update(price);
}
}
}
return data;
}
示例2: 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,
//.........这里部分代码省略.........
示例3: FindMaxId
public string FindMaxId()
{
string dateStr = DateTime.Now.ToString("yyMMdd");
var criteria = new ObjectCriteria();
criteria.AddGreaterCriteria("StockInId", dateStr + "00000");
var maxId = StockInDAO.SelectSpecificType(criteria, Projections.Max("StockInId"));
var stockInId = maxId == null ? dateStr + "00001" : string.Format("{0:00000000000}", (Int64.Parse(maxId.ToString()) + 1));
return stockInId;
}
示例4: 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);
//.........这里部分代码省略.........
示例5: Add
public StockIn Add(StockIn data)
{
string dateStr = data.StockInDate.ToString("yyMMdd");
var criteria = new ObjectCriteria();
criteria.AddGreaterCriteria("StockInId", dateStr + "00000");
var maxId = StockInDAO.SelectSpecificType(criteria, Projections.Max("StockInId"));
var stockInId = maxId == null ? dateStr + "00001" : string.Format("{0:00000000000}", (Int64.Parse(maxId.ToString()) + 1));
data.StockInId = stockInId;
/*criteria = new ObjectCriteria();
criteria.AddGreaterCriteria("ProductId", dateStr + "000000");
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.CreateDate = DateTime.Now;
data.UpdateDate = DateTime.Now;
data.UpdateId = ClientInfo.getInstance().LoggedUser.Name;
data.CreateId = ClientInfo.getInstance().LoggedUser.Name;
StockInDAO.Add(data);
IDictionary<string, string> maxPrdIdList = new Dictionary<string, string>();
foreach (StockInDetail stockInDetail in data.StockInDetails)
{
// add product
Product product = stockInDetail.Product;
if (string.IsNullOrEmpty(product.ProductId))
{
// find master ID
string masterId = product.ProductMaster.ProductMasterId;
masterId = masterId.Substring(6);
// search in product table to get latest number
string nextPrdId = GetProductIdFromList(maxPrdIdList,masterId);
if (nextPrdId == null)
{
string shortDate = StringUtility.ConvertDateToFourChar(DateTime.Now);
ObjectCriteria prdCrit = new ObjectCriteria();
prdCrit.AddLikeCriteria("ProductId", masterId + shortDate + "%");
var maxIPrdId = ProductDAO.SelectSpecificType(prdCrit, Projections.Max("ProductId"));
string productId = (maxIPrdId == null)
? masterId + shortDate + "01"
: IncreaseMaxProductId(maxIPrdId.ToString());
nextPrdId = productId;
maxPrdIdList[masterId] = nextPrdId;
}
product.ProductId = nextPrdId;
// increase product id and grant to the dictionary
nextPrdId = IncreaseMaxProductId(nextPrdId);
maxPrdIdList[masterId] = nextPrdId;
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);
criteria = new ObjectCriteria();
criteria.AddEqCriteria("DelFlg", CommonConstants.DEL_FLG_NO);
criteria.AddEqCriteria("ProductMaster.ProductMasterId", product.ProductMaster.ProductMasterId);
// var sum = StockDAO.SelectSpecificType(criteria, Projections.Sum("Quantity"));
// add dept stock in
var detailPK = new StockInDetailPK { ProductId = product.ProductId, StockInId = 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;
// stockInDetail.CurrentStockQuantity = (sum == null) ? 0 : Int64.Parse(sum.ToString());
StockInDetailDAO.Add(stockInDetail);
// if do not needs to confirm then update stock.
if (data.ConfirmFlg != 1)
{
// add stock
var stock = new Stock
{
StockId = stockId++,
CreateDate = DateTime.Now,
UpdateDate = DateTime.Now,
Product = product,
Quantity = stockInDetail.Quantity,
GoodQuantity = stockInDetail.Quantity,
ProductMaster = product.ProductMaster
};
stock.UpdateId = ClientInfo.getInstance().LoggedUser.Name;
stock.CreateId = ClientInfo.getInstance().LoggedUser.Name;
StockDAO.Add(stock);
}
var pricePk = new DepartmentPricePK { DepartmentId = 0, ProductMasterId = product.ProductMaster.ProductMasterId };
var price = DepartmentPriceDAO.FindById(pricePk);
if (price == null)
//.........这里部分代码省略.........
示例6: AddReStock
public void AddReStock(StockIn data)
{
string dateStr = data.StockInDate.ToString("yyMMdd");
var criteria = new ObjectCriteria();
criteria.AddGreaterCriteria("StockInId", dateStr + "00000");
var maxId = StockInDAO.SelectSpecificType(criteria, Projections.Max("StockInId"));
var stockInId = maxId == null ? dateStr + "00001" : string.Format("{0:00000000000}", (Int64.Parse(maxId.ToString()) + 1));
data.CreateDate = DateTime.Now;
data.UpdateDate = DateTime.Now;
data.UpdateId = ClientInfo.getInstance().LoggedUser.Name;
data.CreateId = ClientInfo.getInstance().LoggedUser.Name;
data.StockInType = (long) 1;
data.StockInId = stockInId;
StockInDAO.Add(data);
foreach (StockInDetail stockInDetail in data.StockInDetails)
{
// add dept stock in
var detailPK = new StockInDetailPK { ProductId = stockInDetail.Product.ProductId, StockInId = 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 = stockInDetail.Product.ProductMaster;
// stockInDetail.CurrentStockQuantity = (sum == null) ? 0 : Int64.Parse(sum.ToString());
StockInDetailDAO.Add(stockInDetail);
ObjectCriteria stockCriteria = new ObjectCriteria();
stockCriteria.AddEqCriteria("Product.ProductId", stockInDetail.Product.ProductId);
IList stockList = StockDAO.FindAll(stockCriteria);
// decrease error and increase good
if(stockList != null)
{
Stock stock = (Stock)stockList[0];
stock.ErrorQuantity -= stockInDetail.Quantity;
stock.GoodQuantity += stockInDetail.Quantity;
stock.Quantity = stock.ErrorQuantity + stock.GoodQuantity + stock.DamageQuantity +
stock.UnconfirmQuantity + stock.LostQuantity;
StockDAO.Update(stock);
}
}
}
示例7: Sync
//.........这里部分代码省略.........
}
deptStockTemp.DelFlg = 1;
processedDeptStockTemp.Fixed = 1;
processedDeptStockTemp.DelFlg = 1;
DepartmentStockTempDAO.Update(processedDeptStockTemp);
}
if (deptStockOut.DepartmentStockOutDetails.Count > 0)
{
DepartmentStockOutDAO.Add(deptStockOut);
foreach (DepartmentStockOutDetail detail in deptStockOut.DepartmentStockOutDetails)
{
DepartmentStockOutDetailDAO.Add(detail);
}
}
}
IList stockOutList = syncFromMainToDepartment.StockOutList;
long deptId = syncFromMainToDepartment.Department.DepartmentId;
string deptStr = "000";
if(deptId > 9999)
{
deptStr = deptId.ToString();
}
else
{
deptStr = string.Format("{0:000}", deptId);
}
string dateStr = DateTime.Now.ToString("yyMMdd");
var criteria = new ObjectCriteria();
if(deptId > 9999)
{
criteria.AddGreaterCriteria("DepartmentStockInPK.StockInId", dateStr + deptStr + "000");
}
else
{
criteria.AddGreaterCriteria("DepartmentStockInPK.StockInId", dateStr + deptStr + "00000");
}
var maxId = DepartmentStockInDAO.SelectSpecificType(criteria, Projections.Max("DepartmentStockInPK.StockInId"));
var stockInId ="";
if(deptId > 9999)
{
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));
}
long nextDeptStockInId = Int64.Parse(stockInId);
foreach (StockOut stockOut in stockOutList)
{
// convert stock out to department stock in
DepartmentStockInMapper mapper = new DepartmentStockInMapper();
DepartmentStockIn data = mapper.Convert(stockOut);
data.Department = syncFromMainToDepartment.Department;
// sync department stock in
data.DepartmentStockInPK.StockInId = string.Format("{0:00000000000000}",nextDeptStockInId++);
/*DepartmentStockIn DepartmentStockIn = DepartmentStockInDAO.FindById(data.DepartmentStockInPK);
if (DepartmentStockIn == null)
{
DepartmentStockInDAO.Add(data);
}*/
示例8: UpdateDetail
public void UpdateDetail(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);*/
var 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;
IDictionary<string, string> maxPrdIdList = new Dictionary<string, string>();
foreach (StockInDetail stockInDetail in data.StockInDetails)
{
// add product
Product product = stockInDetail.Product;
if (string.IsNullOrEmpty(product.ProductId))
{
//product.ProductId = string.Format("{0:000000000000}", productId++);
// find master ID
string masterId = product.ProductMaster.ProductMasterId;
masterId = masterId.Substring(6);
// search in product table to get latest number
string nextPrdId = GetProductIdFromList(maxPrdIdList, masterId);
if (nextPrdId == null)
{
string shortDate = StringUtility.ConvertDateToFourChar(DateTime.Now);
ObjectCriteria prdCrit = new ObjectCriteria();
prdCrit.AddLikeCriteria("ProductId", masterId + shortDate + "%");
var maxIPrdId = ProductDAO.SelectSpecificType(prdCrit, Projections.Max("ProductId"));
string productId = (maxIPrdId == null)
? masterId + shortDate + "01"
: IncreaseMaxProductId(maxIPrdId.ToString());
nextPrdId = productId;
maxPrdIdList[masterId] = nextPrdId;
}
product.ProductId = nextPrdId;
// increase product id and grant to the dictionary
nextPrdId = IncreaseMaxProductId(nextPrdId);
maxPrdIdList[masterId] = nextPrdId;
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);
if (!ClientSetting.ImportConfirmation)
{
// dept stock
var stock = new Stock
{
StockId = stockId++,
CreateDate = DateTime.Now,
UpdateDate = DateTime.Now,
Product = product,
ProductMaster = product.ProductMaster,
Quantity = stockInDetail.Quantity,
GoodQuantity = stockInDetail.Quantity
};
stock.UpdateId = ClientInfo.getInstance().LoggedUser.Name;
stock.CreateId = ClientInfo.getInstance().LoggedUser.Name;
StockDAO.Add(stock);
}
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)
{
//.........这里部分代码省略.........
示例9: 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);
}
}
}
示例10: 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,
//.........这里部分代码省略.........
示例11: SyncFromSubStock
public LogicResult SyncFromSubStock(DepartmentStockIn stockIn)
{
LogicResult result = new LogicResult();
result.HasError = false;
string deptStr = string.Format("{0:000}", stockIn.DepartmentStockInPK.DepartmentId);
string dateStr = stockIn.StockInDate.ToString("yyMMdd");
var crit = new ObjectCriteria();
crit.AddGreaterCriteria("DepartmentStockInPK.StockInId", dateStr + deptStr + "00000");
var maxId = DepartmentStockInDAO.SelectSpecificType(crit, Projections.Max("DepartmentStockInPK.StockInId"));
var stockInId = maxId == null ? dateStr + deptStr + "00001" : string.Format("{0:00000000000000}", (Int64.Parse(maxId.ToString()) + 1));
var stockInPk = new DepartmentStockInPK
{ DepartmentId = stockIn.DepartmentStockInPK.DepartmentId,
StockInId = stockInId + ""
};
stockIn.DepartmentStockInPK = stockInPk;
IList productMasterIds = new ArrayList();
IList productIds = new ArrayList();
IList priceList = new ArrayList();
IList quantityList = new ArrayList();
if(stockIn.DepartmentStockInDetails== null || stockIn.DepartmentStockInDetails.Count == 0)
{
result.HasError = true;
result.Messages = new ArrayList();
result.Messages.Add("Stock-in do not have details ?!?!");
return result;
}
try
{
DepartmentStockIn DepartmentStockIn = DepartmentStockInDAO.FindById(stockIn.DepartmentStockInPK);
if (DepartmentStockIn == null)
{
DepartmentStockInDAO.Add(stockIn);
}
else
{
ObjectCriteria criteria = new ObjectCriteria();
// currently we do not accept update department-stock-in in
//return;
// amend for debug
return result;
}
// put master data first
foreach (DepartmentStockInDetail detail in stockIn.DepartmentStockInDetails)
{
detail.DepartmentStockInDetailPK.StockInId = stockInId;
if (detail.Product.ProductMaster.ProductColor != null)
{
ProductColor color = ProductColorDAO.FindById(detail.Product.ProductMaster.ProductColor.ColorId);
if (color == null)
{
ProductColorDAO.Add(detail.Product.ProductMaster.ProductColor);
}
}
if (detail.Product.ProductMaster.ProductSize != null)
{
ProductSize Size = ProductSizeDAO.FindById(detail.Product.ProductMaster.ProductSize.SizeId);
if (Size == null)
{
ProductSizeDAO.Add(detail.Product.ProductMaster.ProductSize);
}
}
if (detail.Product.ProductMaster.ProductType != null)
{
ProductType Type = ProductTypeDAO.FindById(detail.Product.ProductMaster.ProductType.TypeId);
if (Type == null)
{
ProductTypeDAO.Add(detail.Product.ProductMaster.ProductType);
}
}
if (detail.Product.ProductMaster.Country != null)
{
Country Country = CountryDAO.FindById(detail.Product.ProductMaster.Country.CountryId);
if (Country == null)
{
CountryDAO.Add(detail.Product.ProductMaster.Country);
}
}
if (detail.Product.ProductMaster.Distributor != null)
{
Distributor Distributor =
DistributorDAO.FindById(detail.Product.ProductMaster.Distributor.DistributorId);
if (Distributor == null)
{
DistributorDAO.Add(detail.Product.ProductMaster.Distributor);
}
}
if (detail.Product.ProductMaster.Packager != null)
{
Packager Packager = PackagerDAO.FindById(detail.Product.ProductMaster.Packager.PackagerId);
if (Packager == null)
{
PackagerDAO.Add(detail.Product.ProductMaster.Packager);
}
}
if (detail.Product.ProductMaster.Manufacturer != null)
{
//.........这里部分代码省略.........
示例12: Sync
//.........这里部分代码省略.........
long differGoodQty = stock.Quantity - deptStockTemp.Quantity;
stock.GoodQuantity = deptStockTemp.GoodQuantity + differGoodQty;
if(deptStockTemp.GoodQuantity > deptStockTemp.Quantity) // stock them vo
{
// lay so luong nguyen thuy de co the cong them khi stock in vao cua hang
stock.GoodQuantity = stock.Quantity;
}
stock.ErrorQuantity = deptStockTemp.ErrorQuantity;
stock.LostQuantity = deptStockTemp.LostQuantity;
stock.DamageQuantity = deptStockTemp.DamageQuantity;
stock.UnconfirmQuantity = deptStockTemp.UnconfirmQuantity;
stock.Quantity = stock.GoodQuantity + stock.ErrorQuantity + stock.LostQuantity +
stock.DamageQuantity + stock.UnconfirmQuantity;
needUpdateStocks.Add(stock);
}
deptStockTemp.DelFlg = 1;
DepartmentStockTempDAO.Update(deptStockTemp);
}
if (deptStockOut.DepartmentStockOutDetails.Count > 0)
{
DepartmentStockOutDAO.Add(deptStockOut);
foreach (DepartmentStockOutDetail detail in deptStockOut.DepartmentStockOutDetails)
{
DepartmentStockOutDetailDAO.Add(detail);
}
}
}
IList stockOutList = syncFromMainToDepartment.StockOutList;
string deptStr = string.Format("{0:000}", syncFromMainToDepartment.Department.DepartmentId);
string dateStr = DateTime.Now.ToString("yyMMdd");
var criteria = new ObjectCriteria();
criteria.AddGreaterCriteria("DepartmentStockInPK.StockInId", dateStr + deptStr + "00000");
var maxId = DepartmentStockInDAO.SelectSpecificType(criteria, Projections.Max("DepartmentStockInPK.StockInId"));
var stockInId = maxId == null ? dateStr + deptStr + "00001" : string.Format("{0:00000000000000}", (Int64.Parse(maxId.ToString()) + 1));
long nextDeptStockInId = Int64.Parse(stockInId);
foreach (StockOut stockOut in stockOutList)
{
// convert stock out to department stock in
DepartmentStockInMapper mapper = new DepartmentStockInMapper();
DepartmentStockIn data = mapper.Convert(stockOut);
data.Department = syncFromMainToDepartment.Department;
// sync department stock in
data.DepartmentStockInPK.StockInId = string.Format("{0:00000000000000}",nextDeptStockInId++);
/*DepartmentStockIn DepartmentStockIn = DepartmentStockInDAO.FindById(data.DepartmentStockInPK);
if (DepartmentStockIn == null)
{
DepartmentStockInDAO.Add(data);
}*/
StockOut oldStockOut = StockOutDAO.FindById(stockOut.StockoutId);
if (oldStockOut == null)
{
StockOutDAO.Add(stockOut);
DepartmentStockInDAO.Add(data);
}
else
{
//ObjectCriteria criteria = new ObjectCriteria();
// currently we do not accept update stock in
continue;
// amend for debug
//DepartmentStockInDAO.Update(data);
}
示例13: 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);
}
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 = 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);
/*if(stockOutIds!= null && ((long)stockOutIds) > 0)
{
stockOutDetailId = (long) stockOutIds + 1;
}
MessageBox.Show(stockOutDetailId)*/
/*if (stockOutIds != null && 1 == ((IList)stockOutIds).Count)
{
stockOutDetailId = (long)((IList)stockOutIds)[0] + 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 (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 StockOutDetailPK
{
//DepartmentId = data.DepartmentId,
ProductId = stock.Product.ProductId,
StockOutId = stockOutId
};*/
var detail = new StockOutDetail
{
//StockOutDetailPK = pk,
StockOutDetailId = stockOutDetailId++,
StockOutId = stockOutId,
StockOut = stockOut,
//.........这里部分代码省略.........