private void LoadItems() { SOItem clsSOItem = new SOItem(); lstItem.DataSource = clsSOItem.ListAsDataTable(Convert.ToInt64(lblSOID.Text)).DefaultView; lstItem.DataBind(); clsSOItem.CommitAndDispose(); }
private void SubtractItemToInventory(long SOID) { SODetails clsSODetails = Details(SOID); ERPConfig clsERPConfig = new ERPConfig(base.Connection, base.Transaction); ERPConfigDetails clsERPConfigDetails = clsERPConfig.Details(); SOItem clsSOItem = new SOItem(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); MatrixPackage clsMatrixPackage = new MatrixPackage(base.Connection, base.Transaction); Inventory clsInventory = new Inventory(base.Connection, base.Transaction); InventoryDetails clsInventoryDetails; //MatrixPackagePriceHistoryDetails clsMatrixPackagePriceHistoryDetails; //ProductPackagePriceHistoryDetails clsProductPackagePriceHistoryDetails; System.Data.DataTable dt = clsSOItem.ListAsDataTable(SOID, "SOItemID", 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 = clsProductUnit.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 decVAT = decimal.Parse(dr["VAT"].ToString()); ///******************************************* // * Add in the Sales Price History // * ****************************************/ //if (lngVariationMatrixID != 0) //{ // // Update MatrixPackagePriceHistory first to get the history // clsMatrixPackagePriceHistoryDetails = new MatrixPackagePriceHistoryDetails(); // clsMatrixPackagePriceHistoryDetails.UID = clsSODetails.SellerID; // clsMatrixPackagePriceHistoryDetails.PackageID = clsMatrixPackage.GetPackageID(lngVariationMatrixID, intProductUnitID); // clsMatrixPackagePriceHistoryDetails.ChangeDate = DateTime.Now; // clsMatrixPackagePriceHistoryDetails.Price = decUnitCost; // clsMatrixPackagePriceHistoryDetails.PurchasePrice = -1; //-1 = nochange // clsMatrixPackagePriceHistoryDetails.VAT = -1; //-1 = nochange // clsMatrixPackagePriceHistoryDetails.EVAT = -1; //-1 = nochange // clsMatrixPackagePriceHistoryDetails.LocalTax = -1; //-1 = nochange // clsMatrixPackagePriceHistoryDetails.Remarks = "Based on SO #: " + clsSODetails.SONo; // MatrixPackagePriceHistory clsMatrixPackagePriceHistory = new MatrixPackagePriceHistory(base.Connection, base.Transaction); // clsMatrixPackagePriceHistory.Insert(clsMatrixPackagePriceHistoryDetails); //} //else //{ // // Update ProductPackagePriceHistory first to get the history // clsProductPackagePriceHistoryDetails = new ProductPackagePriceHistoryDetails(); // clsProductPackagePriceHistoryDetails.UID = clsSODetails.SellerID; // clsProductPackagePriceHistoryDetails.PackageID = clsProductPackage.GetPackageID(lngProductID, intProductUnitID); // clsProductPackagePriceHistoryDetails.ChangeDate = DateTime.Now; // clsProductPackagePriceHistoryDetails.Price = decUnitCost; // clsProductPackagePriceHistoryDetails.PurchasePrice = -1; //-1 = nochange // clsProductPackagePriceHistoryDetails.VAT = -1; //-1 = nochange // clsProductPackagePriceHistoryDetails.EVAT = -1; //-1 = nochange // clsProductPackagePriceHistoryDetails.LocalTax = -1; //-1 = nochange // clsProductPackagePriceHistoryDetails.Remarks = "Based on SO #: " + clsSODetails.SONo; // ProductPackagePriceHistory clsProductPackagePriceHistory = new ProductPackagePriceHistory(base.Connection, base.Transaction); // clsProductPackagePriceHistory.Insert(clsProductPackagePriceHistoryDetails); //} /******************************************* * Subtract to Inventory * ****************************************/ // clsProduct.SubtractQuantity(lngProductID, decQuantity); // if (lngVariationMatrixID != 0) { clsProductVariationsMatrix.SubtractQuantity(lngVariationMatrixID, decQuantity); } // July 28, 2011: change the above codes to the following clsProduct.SubtractQuantity(clsSODetails.BranchID, lngProductID, lngVariationMatrixID, decQuantity, Products.getPRODUCT_INVENTORY_MOVEMENT_VALUE(PRODUCT_INVENTORY_MOVEMENT.DEDUCT_SOLD_WHOLESALE), DateTime.Now, clsSODetails.SONo, clsSODetails.SellerName); /******************************************* * Update Selling Information * ****************************************/ int iBaseUnitID = clsProduct.get_BaseUnitID(lngProductID); if (iBaseUnitID != intProductUnitID) { clsProduct.UpdateSellingPrice(lngProductID, lngVariationMatrixID, clsSODetails.CustomerID, intProductUnitID, (decItemQuantity * decUnitCost) / decQuantity, -1, -1, -1,- 1, -1); // Price should be the sugegsted selling price } clsProduct.UpdateSellingWSPrice(lngProductID, lngVariationMatrixID, clsSODetails.CustomerID, intProductUnitID, decUnitCost); // WS Price should be the unit cost /******************************************* * Add to Inventory Analysis * ****************************************/ clsInventoryDetails = new InventoryDetails(); clsInventoryDetails.PostingDateFrom = clsERPConfigDetails.PostingDateFrom; clsInventoryDetails.PostingDateTo = clsERPConfigDetails.PostingDateTo; clsInventoryDetails.PostingDate = clsSODetails.DeliveryDate; clsInventoryDetails.ReferenceNo = clsSODetails.SONo; clsInventoryDetails.ContactID = clsSODetails.CustomerID; clsInventoryDetails.ContactCode = clsSODetails.CustomerCode; clsInventoryDetails.ProductID = lngProductID; clsInventoryDetails.ProductCode = strProductCode; clsInventoryDetails.VariationMatrixID = lngVariationMatrixID; clsInventoryDetails.MatrixDescription = strMatrixDescription; clsInventoryDetails.SoldQuantity = decQuantity; clsInventoryDetails.SoldCost = decItemCost - decVAT; clsInventoryDetails.SoldVAT = decItemCost; // Sales Cost with VAT clsInventory.Insert(clsInventoryDetails); } }
private void SetDataSource(ReportDocument Report) { long iID = 0; try { if (Request.QueryString["task"].ToString().ToLower() == "reportfromposted" && Request.QueryString["soid"].ToString() != null) { iID = Convert.ToInt64(Request.QueryString["soid"].ToString()); } else { iID = Convert.ToInt64(Common.Decrypt(Request.QueryString["soid"].ToString(), Session.SessionID)); } lblReferrer.ToolTip = iID.ToString(); } catch { iID = long.Parse(lblReferrer.ToolTip); } ReportDataset rptds = new ReportDataset(); SO clsSO = new SO(); MySqlDataReader myreader = clsSO.List(iID, "SOID", SortOption.Ascending); while (myreader.Read()) { DataRow drNew = rptds.SO.NewRow(); foreach (DataColumn dc in rptds.SO.Columns) drNew[dc] = "" + myreader[dc.ColumnName]; rptds.SO.Rows.Add(drNew); } myreader.Close(); SOItem clsSOItem = new SOItem(clsSO.Connection, clsSO.Transaction); System.Data.DataTable dt = clsSOItem.ListAsDataTable(iID); foreach(System.Data.DataRow dr in dt.Rows) { DataRow drNew = rptds.SOItems.NewRow(); foreach (DataColumn dc in rptds.SOItems.Columns) drNew[dc] = "" + dr[dc.ColumnName]; rptds.SOItems.Rows.Add(drNew); } clsSO.CommitAndDispose(); Report.SetDataSource(rptds); SetParameters(Report); }
private void UpdateAccounts(long SOID) { try { SODetails clsSODetails = Details(SOID); ChartOfAccounts clsChartOfAccount = new ChartOfAccounts(base.Connection, base.Transaction); // update ChartOfAccountIDARTracking as credit clsChartOfAccount.UpdateCredit(clsSODetails.ChartOfAccountIDARTracking, clsSODetails.SubTotal); // update Deposit & APContra clsChartOfAccount.UpdateCredit(clsSODetails.ChartOfAccountIDARContra, clsSODetails.Discount); // update Freight & APTracking clsChartOfAccount.UpdateCredit(clsSODetails.ChartOfAccountIDARTracking, clsSODetails.Freight); clsChartOfAccount.UpdateDebit(clsSODetails.ChartOfAccountIDARFreight, clsSODetails.Freight); // update Deposit & APTracking clsChartOfAccount.UpdateCredit(clsSODetails.ChartOfAccountIDARTracking, clsSODetails.Deposit); clsChartOfAccount.UpdateDebit(clsSODetails.ChartOfAccountIDARVDeposit, clsSODetails.Deposit); SOItem clsSOItem = new SOItem(base.Connection, base.Transaction); System.Data.DataTable dt = clsSOItem.ListAsDataTable(SOID, "SOItemID", SortOption.Ascending); foreach (System.Data.DataRow dr in dt.Rows) { int iChartOfAccountIDSold = Int16.Parse(dr["ChartOfAccountIDSold"].ToString()); int iChartOfAccountIDTaxSold = Int16.Parse(dr["ChartOfAccountIDTaxSold"].ToString()); decimal decVAT = decimal.Parse(dr["VAT"].ToString()); decimal decVATABLEAmount = decimal.Parse(dr["Amount"].ToString()) - decVAT; // update purchase as debit clsChartOfAccount.UpdateDebit(iChartOfAccountIDSold, decVATABLEAmount); // update tax as debit clsChartOfAccount.UpdateDebit(iChartOfAccountIDTaxSold, decVAT); } } catch (Exception ex) { base.ThrowException(ex); } }