本文整理汇总了C#中AceSoft.RetailPlus.Data.Products.UpdatePurchasing方法的典型用法代码示例。如果您正苦于以下问题:C# Products.UpdatePurchasing方法的具体用法?C# Products.UpdatePurchasing怎么用?C# Products.UpdatePurchasing使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AceSoft.RetailPlus.Data.Products
的用法示例。
在下文中一共展示了Products.UpdatePurchasing方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddItemToInventory
private void AddItemToInventory(long pvtDebitMemoID)
{
DebitMemoDetails clsDebitMemoDetails = Details(pvtDebitMemoID);
ERPConfig clsERPConfig = new ERPConfig(base.Connection, base.Transaction);
ERPConfigDetails clsERPConfigDetails = clsERPConfig.Details();
DebitMemoItems clsDebitMemoItems = new DebitMemoItems(base.Connection, base.Transaction);
ProductUnit clsProductUnit = new ProductUnit(base.Connection, base.Transaction);
ProductDetails clsProductDetails = new ProductDetails();
Products clsProduct = new Products(base.Connection, base.Transaction);
ProductVariationsMatrix clsProductVariationsMatrix = new ProductVariationsMatrix(base.Connection, base.Transaction);
ProductPackage clsProductPackage = new ProductPackage(base.Connection, base.Transaction);
MatrixPackage clsMatrixPackage = new MatrixPackage(base.Connection, base.Transaction);
Inventory clsInventory = new Inventory(base.Connection, base.Transaction);
ProductPackagePriceHistoryDetails clsProductPackagePriceHistoryDetails;
ProductPackagePriceHistory clsProductPackagePriceHistory = new ProductPackagePriceHistory(base.Connection, base.Transaction);
System.Data.DataTable dt = clsDebitMemoItems.ListAsDataTable(pvtDebitMemoID, SortField: "DebitMemoItemID", SortOrder: SortOption.Ascending);
foreach (System.Data.DataRow dr in dt.Rows)
{
long lngProductID = Convert.ToInt64(dr["ProductID"]);
int intProductUnitID = Convert.ToInt16(dr["ProductUnitID"]);
decimal decItemQuantity = Convert.ToDecimal(dr["Quantity"]);
decimal decQuantity = clsProductUnit.GetBaseUnitValue(lngProductID, intProductUnitID, decItemQuantity);
long lngVariationMatrixID = Convert.ToInt64(dr["VariationMatrixID"]);
string strMatrixDescription = dr["MatrixDescription"].ToString();
string strProductCode = dr["ProductCode"].ToString();
string strProductUnitCode = dr["ProductUnitCode"].ToString();
decimal decNewUnitCost = Convert.ToDecimal(dr["UnitCost"]);
decimal decAmount = Convert.ToDecimal(dr["Amount"]);
//decimal decSellingPrice = Convert.ToDecimal(dr["SellingPrice"]);
decimal decVAT = Convert.ToDecimal(dr["VAT"]);
//decimal decEVAT = Convert.ToDecimal(dr["EVAT"]);
//decimal decLocalTax = Convert.ToDecimal(dr["LocalTax"]);
clsProductDetails = clsProduct.Details1(clsDebitMemoDetails.BranchID, lngProductID);
/*******************************************
* Add in the Purchase Price History based on Debit Memo
* ****************************************/
// Update ProductPackagePriceHistory first to get the history
clsProductPackagePriceHistoryDetails = new ProductPackagePriceHistoryDetails();
clsProductPackagePriceHistoryDetails.UID = clsDebitMemoDetails.PurchaserID;
clsProductPackagePriceHistoryDetails.PackageID = clsProductPackage.GetPackageID(lngProductID, intProductUnitID);
clsProductPackagePriceHistoryDetails.ChangeDate = DateTime.Now;
clsProductPackagePriceHistoryDetails.PurchasePrice = decNewUnitCost * (decItemQuantity / decQuantity);
clsProductPackagePriceHistoryDetails.Price = -1;
clsProductPackagePriceHistoryDetails.VAT = -1;
clsProductPackagePriceHistoryDetails.EVAT = -1;
clsProductPackagePriceHistoryDetails.LocalTax = -1;
clsProductPackagePriceHistoryDetails.Remarks = "Based on DebitMemo #: " + clsDebitMemoDetails.MemoNo;
clsProductPackagePriceHistory.Insert(clsProductPackagePriceHistoryDetails);
/*******************************************
* Subtract from Inventory : Remove this since this is a Debit Memo
* ****************************************/
//clsProduct.SubtractQuantity(lngProductID, decQuantity);
//if (lngVariationMatrixID != 0)
//{
// clsProductVariationsMatrix.SubtractQuantity(lngVariationMatrixID, decQuantity);
//}
/*******************************************
* Update Purchasing Information
* ****************************************/
int iBaseUnitID = clsProduct.get_BaseUnitID(lngProductID);
if (iBaseUnitID != intProductUnitID)
{
clsProduct.UpdatePurchasing(lngProductID, lngVariationMatrixID, clsDebitMemoDetails.SupplierID, iBaseUnitID, (decItemQuantity * decNewUnitCost) / decQuantity);
}
clsProduct.UpdatePurchasing(lngProductID, lngVariationMatrixID, clsDebitMemoDetails.SupplierID, intProductUnitID, decNewUnitCost);
/*******************************************
* Add to Inventory Analysis
* ****************************************/
InventoryDetails clsInventoryDetails = new InventoryDetails();
clsInventoryDetails.PostingDateFrom = clsERPConfigDetails.PostingDateFrom;
clsInventoryDetails.PostingDateTo = clsERPConfigDetails.PostingDateTo;
clsInventoryDetails.PostingDate = clsDebitMemoDetails.PostingDate;
clsInventoryDetails.ReferenceNo = clsDebitMemoDetails.MemoNo;
clsInventoryDetails.ContactID = clsDebitMemoDetails.SupplierID;
clsInventoryDetails.ContactCode = clsDebitMemoDetails.SupplierCode;
clsInventoryDetails.ProductID = lngProductID;
clsInventoryDetails.ProductCode = strProductCode;
clsInventoryDetails.VariationMatrixID = lngVariationMatrixID;
clsInventoryDetails.MatrixDescription = strMatrixDescription;
clsInventoryDetails.PDebitQuantity = decQuantity;
clsInventoryDetails.PDebitCost = decAmount - decVAT;
clsInventoryDetails.PDebitVAT = decAmount;
clsInventory.Insert(clsInventoryDetails);
}
}
示例2: AddItemToInventory
private void AddItemToInventory(long POID)
{
PODetails clsPODetails = Details(POID);
ERPConfig clsERPConfig = new ERPConfig(base.Connection, base.Transaction);
ERPConfigDetails clsERPConfigDetails = clsERPConfig.Details();
POItem clsPOItem = new POItem(base.Connection, base.Transaction);
ProductUnit clsProductUnit = new ProductUnit(base.Connection, base.Transaction);
Products clsProduct = new Products(base.Connection, base.Transaction);
ProductVariationsMatrix clsProductVariationsMatrix = new ProductVariationsMatrix(base.Connection, base.Transaction);
ProductPackage clsProductPackage = new ProductPackage(base.Connection, base.Transaction);
Inventory clsInventory = new Inventory(base.Connection, base.Transaction);
InventoryDetails clsInventoryDetails;
ProductPackagePriceHistoryDetails clsProductPackagePriceHistoryDetails;
//MySqlDataReader myReader = clsPOItem.List(POID, "POItemID", SortOption.Ascending);
System.Data.DataTable dt = clsPOItem.ListAsDataTable(POID, "POItemID", SortOption.Ascending);
//while (myReader.Read())
foreach (System.Data.DataRow dr in dt.Rows)
{
long lngProductID = Convert.ToInt64(dr["ProductID"]);
int intProductUnitID = Convert.ToInt16(dr["ProductUnitID"]);
decimal decItemQuantity = Convert.ToDecimal(dr["Quantity"]);
decimal decQuantity = clsProductUnit.GetBaseUnitValue(lngProductID, intProductUnitID, decItemQuantity);
long lngVariationMatrixID = Convert.ToInt64(dr["VariationMatrixID"]);
string strMatrixDescription = dr["MatrixDescription"].ToString();
string strProductCode = dr["ProductCode"].ToString();
string strProductUnitCode = dr["ProductUnitCode"].ToString();
decimal decUnitCost = Convert.ToDecimal(dr["UnitCost"]);
decimal decItemCost = Convert.ToDecimal(dr["Amount"]);
decimal decSellingPrice = Convert.ToDecimal(dr["SellingPrice"]);
decimal decVAT = Convert.ToDecimal(dr["VAT"]);
decimal decEVAT = Convert.ToDecimal(dr["EVAT"]);
decimal decLocalTax = Convert.ToDecimal(dr["LocalTax"]);
/*******************************************
* Add in the Price History
* ****************************************/
// Update ProductPackagePriceHistory first to get the history
clsProductPackagePriceHistoryDetails = new ProductPackagePriceHistoryDetails();
clsProductPackagePriceHistoryDetails.UID = clsPODetails.PurchaserID;
clsProductPackagePriceHistoryDetails.PackageID = clsProductPackage.GetPackageID(lngProductID, intProductUnitID);
clsProductPackagePriceHistoryDetails.ChangeDate = DateTime.Now;
clsProductPackagePriceHistoryDetails.PurchasePrice = (decItemQuantity * decUnitCost) / decQuantity;
clsProductPackagePriceHistoryDetails.Price = decSellingPrice;
clsProductPackagePriceHistoryDetails.VAT = decVAT;
clsProductPackagePriceHistoryDetails.EVAT = decEVAT;
clsProductPackagePriceHistoryDetails.LocalTax = decLocalTax;
clsProductPackagePriceHistoryDetails.Remarks = "Based on PO #: " + clsPODetails.PONo;
ProductPackagePriceHistory clsProductPackagePriceHistory = new ProductPackagePriceHistory(base.Connection, base.Transaction);
clsProductPackagePriceHistory.Insert(clsProductPackagePriceHistoryDetails);
/*******************************************
* Add to Inventory
* ****************************************/
//clsProduct.AddQuantity(lngProductID, decQuantity);
//if (lngVariationMatrixID != 0) { clsProductVariationsMatrix.AddQuantity(lngVariationMatrixID, decQuantity); }
// July 26, 2011: change the above codes to the following
clsProduct.AddQuantity(clsPODetails.BranchID, lngProductID, lngVariationMatrixID, decQuantity, Products.getPRODUCT_INVENTORY_MOVEMENT_VALUE(PRODUCT_INVENTORY_MOVEMENT.ADD_PURCHASE) + " @ " + decUnitCost.ToString("#,##0.#0") + "/" + strProductUnitCode, DateTime.Now, clsPODetails.PONo, clsPODetails.PurchaserName);
/*******************************************
* Update Purchasing Information
*
* 30May2013 Include variation in the package.
* ****************************************/
int iBaseUnitID = clsProduct.get_BaseUnitID(lngProductID);
if (iBaseUnitID != intProductUnitID)
{
clsProduct.UpdatePurchasing(lngProductID, lngVariationMatrixID, clsPODetails.SupplierID, iBaseUnitID, (decItemQuantity * decUnitCost) / decQuantity);
}
clsProduct.UpdatePurchasing(lngProductID, lngVariationMatrixID, clsPODetails.SupplierID, intProductUnitID, decUnitCost);
/*******************************************
* Add to Inventory Analysis
* ****************************************/
clsInventoryDetails = new InventoryDetails();
clsInventoryDetails.BranchID = clsPODetails.BranchID;
clsInventoryDetails.PostingDateFrom = clsERPConfigDetails.PostingDateFrom;
clsInventoryDetails.PostingDateTo = clsERPConfigDetails.PostingDateTo;
clsInventoryDetails.PostingDate = clsPODetails.DeliveryDate;
clsInventoryDetails.ReferenceNo = clsPODetails.PONo;
clsInventoryDetails.ContactID = clsPODetails.SupplierID;
clsInventoryDetails.ContactCode = clsPODetails.SupplierCode;
clsInventoryDetails.ProductID = lngProductID;
clsInventoryDetails.ProductCode = strProductCode;
clsInventoryDetails.VariationMatrixID = lngVariationMatrixID;
clsInventoryDetails.MatrixDescription = strMatrixDescription;
clsInventoryDetails.PurchaseQuantity = decQuantity;
clsInventoryDetails.PurchaseCost = decItemCost - decVAT;
clsInventoryDetails.PurchaseVAT = decItemCost; // Purchase Cost with VAT
clsInventory.Insert(clsInventoryDetails);
//.........这里部分代码省略.........
示例3: AddItemToInventory
private void AddItemToInventory(long TransferInID)
{
try
{
TransferInDetails clsTransferInDetails = Details(TransferInID);
ERPConfig clsERPConfig = new ERPConfig(base.Connection, base.Transaction);
ERPConfigDetails clsERPConfigDetails = clsERPConfig.Details();
TransferInItem clsTransferInItem = new TransferInItem(base.Connection, base.Transaction);
ProductUnit clsProductUnit = new ProductUnit(base.Connection, base.Transaction);
Products clsProduct = new Products(base.Connection, base.Transaction);
ProductPackage clsProductPackage = new ProductPackage(base.Connection, base.Transaction);
Inventory clsInventory = new Inventory(base.Connection, base.Transaction);
InventoryDetails clsInventoryDetails;
ProductPackagePriceHistoryDetails clsProductPackagePriceHistoryDetails;
System.Data.DataTable dt = clsTransferInItem.ListAsDataTable(TransferInID, "TransferInItemID", SortOption.Ascending);
foreach(System.Data.DataRow dr in dt.Rows)
{
long lngProductID = long.Parse(dr["ProductID"].ToString());
int intProductUnitID = int.Parse(dr["ProductUnitID"].ToString());
decimal decItemQuantity = decimal.Parse(dr["Quantity"].ToString());
decimal decQuantity = new ProductUnit().GetBaseUnitValue(lngProductID, intProductUnitID, decItemQuantity);
long lngVariationMatrixID = long.Parse(dr["VariationMatrixID"].ToString());
string strMatrixDescription = "" + dr["MatrixDescription"].ToString();
string strProductCode = "" + dr["ProductCode"].ToString();
decimal decUnitCost = decimal.Parse(dr["UnitCost"].ToString());
decimal decItemCost = decimal.Parse(dr["Amount"].ToString());
decimal decSellingPrice = Convert.ToDecimal(dr["SellingPrice"]);
decimal decVAT = Convert.ToDecimal(dr["VAT"]); // myReader.GetDecimal("VAT");
decimal decEVAT = Convert.ToDecimal(dr["EVAT"]);
decimal decLocalTax = Convert.ToDecimal(dr["LocalTax"]);
/*******************************************
* Add in the Price History
* ****************************************/
// Update ProductPackagePriceHistory first to get the history
clsProductPackagePriceHistoryDetails = new ProductPackagePriceHistoryDetails();
clsProductPackagePriceHistoryDetails.UID = clsTransferInDetails.TransferrerID;
clsProductPackagePriceHistoryDetails.PackageID = new ProductPackage().GetPackageID(lngProductID, intProductUnitID);
clsProductPackagePriceHistoryDetails.ChangeDate = DateTime.Now;
clsProductPackagePriceHistoryDetails.PurchasePrice = (decItemQuantity * decUnitCost) / decQuantity;
clsProductPackagePriceHistoryDetails.Price = decSellingPrice;
clsProductPackagePriceHistoryDetails.VAT = decVAT;
clsProductPackagePriceHistoryDetails.EVAT = decEVAT;
clsProductPackagePriceHistoryDetails.LocalTax = decLocalTax;
clsProductPackagePriceHistoryDetails.Remarks = "Based on TransferIn #: " + clsTransferInDetails.TransferInNo;
ProductPackagePriceHistory clsProductPackagePriceHistory = new ProductPackagePriceHistory(base.Connection, base.Transaction);
clsProductPackagePriceHistory.Insert(clsProductPackagePriceHistoryDetails);
/*******************************************
* Add to Inventory
* ****************************************/
//clsProduct.AddQuantity(lngProductID, decQuantity);
//if (lngVariationMatrixID != 0)
//{
// clsProductVariationsMatrix.AddQuantity(lngVariationMatrixID, decQuantity);
//}
// July 26, 2011: change the above codes to the following
clsProduct.AddQuantity(clsTransferInDetails.BranchID, lngProductID, lngVariationMatrixID, decQuantity, Products.getPRODUCT_INVENTORY_MOVEMENT_VALUE(PRODUCT_INVENTORY_MOVEMENT.ADD_TRANSFER_IN), DateTime.Now, clsTransferInDetails.TransferInNo, clsTransferInDetails.TransferrerName);
/*******************************************
* Update Purchasing Information
* ****************************************/
int iBaseUnitID = clsProduct.get_BaseUnitID(lngProductID);
if (iBaseUnitID != intProductUnitID)
{
clsProduct.UpdatePurchasing(lngProductID, lngVariationMatrixID, clsTransferInDetails.SupplierID, iBaseUnitID, (decItemQuantity * decUnitCost) / decQuantity);
}
clsProduct.UpdatePurchasing(lngProductID, lngVariationMatrixID, clsTransferInDetails.SupplierID, intProductUnitID, decUnitCost);
/*******************************************
* Add to Inventory Analysis
* ****************************************/
clsInventoryDetails = new InventoryDetails();
clsInventoryDetails.PostingDateFrom = clsERPConfigDetails.PostingDateFrom;
clsInventoryDetails.PostingDateTo = clsERPConfigDetails.PostingDateTo;
clsInventoryDetails.PostingDate = clsTransferInDetails.DeliveryDate;
clsInventoryDetails.ReferenceNo = clsTransferInDetails.TransferInNo;
clsInventoryDetails.ContactID = clsTransferInDetails.SupplierID;
clsInventoryDetails.ContactCode = clsTransferInDetails.SupplierCode;
clsInventoryDetails.ProductID = lngProductID;
clsInventoryDetails.ProductCode = strProductCode;
clsInventoryDetails.VariationMatrixID = lngVariationMatrixID;
clsInventoryDetails.MatrixDescription = strMatrixDescription;
clsInventoryDetails.TransferInQuantity = decQuantity;
clsInventoryDetails.TransferInCost = decItemCost - decVAT;
clsInventoryDetails.TransferInVAT = decItemCost; // TransferIn Cost with VAT
clsInventory.Insert(clsInventoryDetails);
/*******************************************
* Added April 28, 2010 4:20PM
* Update Selling Information when TransferIn is posted
* ****************************************/
//.........这里部分代码省略.........
示例4: AddItemToInventory
private void AddItemToInventory(long ClosingID)
{
ClosingDetails clsClosingDetails = Details(ClosingID);
ERPConfig clsERPConfig = new ERPConfig(base.Connection, base.Transaction);
ERPConfigDetails clsERPConfigDetails = clsERPConfig.Details();
ClosingItem clsClosingItem = new ClosingItem(base.Connection, base.Transaction);
ProductUnit clsProductUnit = new ProductUnit(base.Connection, base.Transaction);
Products clsProduct = new Products(base.Connection, base.Transaction);
ProductVariationsMatrix clsProductVariationsMatrix = new ProductVariationsMatrix(base.Connection, base.Transaction);
Inventory clsInventory = new Inventory(base.Connection, base.Transaction);
MySqlDataReader myReader = clsClosingItem.List(ClosingID, "ClosingItemID", SortOption.Ascending);
while (myReader.Read())
{
long lngProductID = myReader.GetInt64("ProductID");
int intProductUnitID = myReader.GetInt16("ProductUnitID");
decimal decItemQuantity = myReader.GetDecimal("Quantity");
decimal decQuantity = clsProductUnit.GetBaseUnitValue(lngProductID, intProductUnitID, decItemQuantity);
long lngMatrixID = myReader.GetInt64("VariationMatrixID");
string strMatrixDescription = "" + myReader["MatrixDescription"].ToString();
string strProductCode = "" + myReader["ProductCode"].ToString();
decimal decUnitCost = myReader.GetDecimal("UnitCost");
decimal decItemCost = myReader.GetDecimal("Amount");
decimal decVAT = myReader.GetDecimal("VAT");
/*******************************************
* Update Purchasing Information
* ****************************************/
clsProduct.UpdatePurchasing(lngProductID, lngMatrixID, clsClosingDetails.SupplierID, intProductUnitID, (decItemQuantity * decUnitCost) / decQuantity);
///*******************************************
// * Add to Inventory
// * ****************************************/
//clsProduct.AddQuantity(ProductID, Quantity);
//if (VariationMatrixID != 0)
//{ clsProductVariationsMatrix.AddQuantity(VariationMatrixID, Quantity);}
// July 26, 2011: change the above codes to the following
clsProduct.AddQuantity(clsClosingDetails.BranchID, lngProductID, lngMatrixID, decQuantity, Products.getPRODUCT_INVENTORY_MOVEMENT_VALUE(PRODUCT_INVENTORY_MOVEMENT.ADD_PURCHASE) + " @ " + decUnitCost.ToString("#,##0.#0"), DateTime.Now, clsClosingDetails.ClosingNo, clsClosingDetails.TransferredByID.ToString());
/*******************************************
* Add to Inventory Analysis
* ****************************************/
InventoryDetails clsInventoryDetails = new InventoryDetails();
clsInventoryDetails.PostingDateFrom = clsERPConfigDetails.PostingDateFrom;
clsInventoryDetails.PostingDateTo = clsERPConfigDetails.PostingDateTo;
clsInventoryDetails.PostingDate = clsClosingDetails.DeliveryDate;
clsInventoryDetails.ReferenceNo = clsClosingDetails.ClosingNo;
clsInventoryDetails.ContactID = clsClosingDetails.SupplierID;
clsInventoryDetails.ContactCode = clsClosingDetails.SupplierCode;
clsInventoryDetails.ProductID = lngProductID;
clsInventoryDetails.ProductCode = strProductCode;
clsInventoryDetails.VariationMatrixID = lngMatrixID;
clsInventoryDetails.MatrixDescription = strMatrixDescription;
clsInventoryDetails.ClosingQuantity = decQuantity;
clsInventoryDetails.ClosingCost = decItemCost - decVAT;
clsInventoryDetails.ClosingVAT = decItemCost; // Closing Cost with VAT
clsInventory.Insert(clsInventoryDetails);
}
myReader.Close();
}
示例5: SynchronizeFromBranch
private void SynchronizeFromBranch()
{
try
{
lblError.Text = string.Empty;
Branch clsBranch = new Branch();
BranchDetails clsBranchDetails = clsBranch.Details(Convert.ToInt16(cboSynchronizeFromBranch.SelectedItem.Value.ToString()));
clsBranch.CommitAndDispose();
if (IPAddress.IsOpen(clsBranchDetails.DBIP, int.Parse(clsBranchDetails.DBPort)) == false)
{
lblError.Text = "Sorry cannot connect to Branch '" + cboSynchronizeFromBranch.SelectedItem.Text + "'. Please check you connection to IP Address :" + clsBranchDetails.DBIP + ". <br /><br />";
lblError.Text += "HOW TO CHECK : <br /><br />";
lblError.Text += " 1. Open command prompt<br />";
lblError.Text += " 2. Type ping[space][IP Address]<br /><br />";
lblError.Text += "If the answer is 'Request timed out.' then contact system administrator.<br />";
lblError.Text += "Else if the answer is 'Reply...' Follow the next steps.<br /><br />";
lblError.Text += " 3. Type telnet[space][IP Address][sapce][IP Port]<br /><br />";
return;
}
Session.Timeout = 60 * 60 * 30;
Products clsProduct = new Products();
clsProduct.GetConnection();
ProductDetails clsProductDetails;
ContactGroups clsContactGroup = new ContactGroups(clsProduct.Connection, clsProduct.Transaction);
Contacts clsContact = new Contacts(clsProduct.Connection, clsProduct.Transaction);
Data.Unit clsUnit = new Data.Unit(clsProduct.Connection, clsProduct.Transaction);
Data.ProductGroup clsProductGroup = new Data.ProductGroup(clsProduct.Connection, clsProduct.Transaction);
Data.ProductSubGroup clsProductSubGroup = new Data.ProductSubGroup(clsProduct.Connection, clsProduct.Transaction);
Data.Variation clsVariation = new Variation(clsProduct.Connection, clsProduct.Transaction);
RemoteBranchInventory clsBranchInventory = new RemoteBranchInventory();
clsBranchInventory.GetConnectionToBranch(clsBranchDetails.DBIP, clsBranchDetails.DBPort);
Products clsBranchProduct = new Products(clsBranchInventory.Connection, clsBranchInventory.Transaction);
ProductDetails[] arrBranchProductDetails = clsBranchProduct.List();
ContactGroups clsBranchContactGroup = new ContactGroups(clsBranchInventory.Connection, clsBranchInventory.Transaction);
Contacts clsBranchContact = new Contacts(clsBranchInventory.Connection, clsBranchInventory.Transaction);
Data.Unit clsBranchUnit = new Data.Unit(clsBranchInventory.Connection, clsBranchInventory.Transaction);
Data.ProductGroup clsBranchProductGroup = new Data.ProductGroup(clsBranchInventory.Connection, clsBranchInventory.Transaction);
Data.ProductSubGroup clsBranchProductSubGroup = new Data.ProductSubGroup(clsBranchInventory.Connection, clsBranchInventory.Transaction);
Data.Variation clsBranchVariation = new Variation(clsBranchInventory.Connection, clsBranchInventory.Transaction);
foreach (ProductDetails clsBranchProductDetails in arrBranchProductDetails)
{
clsProductDetails = clsBranchProductDetails;
try
{
clsProductDetails.ProductID = clsProduct.Details(clsProductDetails.BarCode).ProductID;
if (clsProductDetails.ProductID != 0)
{
lblError.Text += clsProductDetails.BarCode + " already exist.<br /><br />";
clsProduct.UpdatePurchasing(clsProductDetails.ProductID, clsBranchProductDetails.MatrixID, clsProductDetails.SupplierID, clsProductDetails.BaseUnitID, clsProductDetails.PurchasePrice);
clsProduct.UpdateSellingPrice(clsProductDetails.ProductID, clsBranchProductDetails.MatrixID, clsProductDetails.SupplierID, clsProductDetails.BaseUnitID, clsProductDetails.Price, clsProductDetails.Price1, clsProductDetails.Price2, clsProductDetails.Price3, clsProductDetails.Price4, clsProductDetails.Price5);
}
else
{
clsProductDetails.ProductID = clsProduct.DetailsByCode(Constants.BRANCH_ID_MAIN, clsProductDetails.BarCode).ProductID;
if (clsProductDetails.ProductID != 0)
{
lblError.Text += clsProductDetails.ProductCode + " already exist.<br /><br />";
clsProduct.UpdateBarcode(clsProductDetails.ProductID, clsProductDetails.BarCode);
clsProduct.UpdatePurchasing(clsProductDetails.ProductID, clsBranchProductDetails.MatrixID, clsProductDetails.SupplierID, clsProductDetails.BaseUnitID, clsProductDetails.PurchasePrice);
clsProduct.UpdateSellingPrice(clsProductDetails.ProductID, clsBranchProductDetails.MatrixID, clsProductDetails.SupplierID, clsProductDetails.BaseUnitID, clsProductDetails.Price, clsProductDetails.Price1, clsProductDetails.Price2, clsProductDetails.Price3, clsProductDetails.Price4, clsProductDetails.Price5);
}
else
{
clsProductDetails.SupplierID = clsContact.Details(clsProductDetails.SupplierCode).ContactID;
if (clsProductDetails.SupplierID == 0)
{
ContactDetails clsBranchContactDetails = clsBranchContact.Details(clsProductDetails.SupplierCode);
if (clsContactGroup.Details(clsBranchContactDetails.ContactGroupID).ContactGroupID == 0)
{
ContactGroupDetails clsBranchContactGroupDetails = clsBranchContactGroup.Details(clsBranchContactDetails.ContactGroupID);
clsBranchContactDetails.ContactGroupID = clsContactGroup.Insert(clsBranchContactGroupDetails);
}
clsProductDetails.SupplierID = clsContact.Insert(clsBranchContactDetails);
}
clsProductDetails.BaseUnitID = clsUnit.Details(clsProductDetails.BaseUnitCode).UnitID;
if (clsProductDetails.BaseUnitID == 0)
{
UnitDetails clsBranchUnitDetails = clsBranchUnit.Details(clsBranchProductDetails.BaseUnitID);
clsProductDetails.BaseUnitID = clsUnit.Insert(clsBranchUnitDetails);
}
clsProductDetails.ProductGroupID = clsProductGroup.Details(clsProductDetails.ProductGroupCode).ProductGroupID;
if (clsProductDetails.ProductGroupID == 0)
{
ProductGroupDetails clsBranchProductGroupDetails = clsBranchProductGroup.Details(clsBranchProductDetails.ProductGroupID);
clsProductDetails.ProductGroupID = clsProductGroup.Insert(clsBranchProductGroupDetails);
}
clsProductDetails.ProductSubGroupID = clsProductSubGroup.Details(clsProductDetails.ProductSubGroupCode).ProductSubGroupID;
if (clsProductDetails.ProductSubGroupID == 0)
//.........这里部分代码省略.........