private void LoadList() { string stSearchKey = string.Empty; if (Request.QueryString["Search"] != null) { stSearchKey = Server.UrlDecode(Common.Decrypt((string)Request.QueryString["search"], Session.SessionID)); } else if (Session["Search"] != null) { stSearchKey = Server.UrlDecode(Common.Decrypt(Session["Search"].ToString(), Session.SessionID)); } try { Session.Remove("Search"); } catch { } if (stSearchKey == null) { stSearchKey = string.Empty; } else if (stSearchKey != string.Empty) { Session.Add("Search", Common.Encrypt(stSearchKey, Session.SessionID)); } ProductVariationsMatrix clsProductVariationsMatrix = new ProductVariationsMatrix(); System.Data.DataTable dt = clsProductVariationsMatrix.BaseListAsDataTable(Int64.Parse(lblProductID.Text), MatrixDescription: stSearchKey); clsProductVariationsMatrix.CommitAndDispose(); PageData.DataSource = dt.DefaultView; int iPageSize = Convert.ToInt16(Session["PageSize"]) ; PageData.AllowPaging = true; PageData.PageSize = iPageSize; try { PageData.CurrentPageIndex = Convert.ToInt16(cboCurrentPage.SelectedItem.Value) - 1; lstItem.DataSource = PageData; lstItem.DataBind(); } catch { PageData.CurrentPageIndex = 1; lstItem.DataSource = PageData; lstItem.DataBind(); } cboCurrentPage.Items.Clear(); for (int i=0; i < PageData.PageCount;i++) { int iValue = i + 1; cboCurrentPage.Items.Add(new ListItem(iValue.ToString(),iValue.ToString())); if (PageData.CurrentPageIndex == i) { cboCurrentPage.Items[i].Selected = true;} else { cboCurrentPage.Items[i].Selected = false;} } lblDataCount.Text = " of " + " " + PageData.PageCount; }
private void lstItem_ItemDataBound(object sender, DataListItemEventArgs e) { if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { DataRowView dr = (DataRowView) e.Item.DataItem; HtmlInputCheckBox chkList = (HtmlInputCheckBox) e.Item.FindControl("chkList"); chkList.Value = dr["VariationID"].ToString(); Label lblVariationType = (Label) e.Item.FindControl("lblVariationType"); lblVariationType.Text = dr["VariationType"].ToString(); ProductVariationsMatrix clsProductVariationsMatrix = new ProductVariationsMatrix(); TextBox txtDescription = (TextBox) e.Item.FindControl("txtDescription"); txtDescription.Text = clsProductVariationsMatrix.Details(Convert.ToInt32(lblMatrixID.Text), Convert.ToInt32(chkList.Value)).Description; clsProductVariationsMatrix.CommitAndDispose(); } }
protected void lstItem_ItemDataBound(object sender, DataListItemEventArgs e) { if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { DataRowView dr = (DataRowView) e.Item.DataItem; HtmlInputCheckBox chkList = (HtmlInputCheckBox) e.Item.FindControl("chkList"); chkList.Value = dr["VariationID"].ToString(); HyperLink lnkVariationType = (HyperLink)e.Item.FindControl("lnkVariationType"); lnkVariationType.Text = dr["VariationType"].ToString(); //VariationID lnkVariationType.NavigateUrl = Constants.ROOT_DIRECTORY + "/MasterFiles/_Variation/Default.aspx?task=" + Common.Encrypt("details", Session.SessionID) + "&id=" + Common.Encrypt(dr["VariationID"].ToString(), Session.SessionID); TextBox txtDescription = (TextBox)e.Item.FindControl("txtDescription"); ProductVariationsMatrix clsProductVariationsMatrix = new ProductVariationsMatrix(); txtDescription.Text = clsProductVariationsMatrix.Details(Convert.ToInt64(lblMatrixID.Text), Convert.ToInt32(chkList.Value)).Description; clsProductVariationsMatrix.CommitAndDispose(); } }
private void LoadItemData() { try { DataClass clsData = new DataClass(); ProductVariationsMatrix clsProductVariationsMatrix = new ProductVariationsMatrix(); System.Data.DataTable dt = clsData.DataReaderToDataTable(clsProductVariationsMatrix.Search(mDetails.ProductID, "", "a.Description", SortOption.Ascending, 100, mboShowItemMoreThanZeroQty)); clsProductVariationsMatrix.CommitAndDispose(); lstItems.Items.Clear(); int iImgCtr = 0; foreach (System.Data.DataRow dr in dt.Rows) { if (mboIsPriceInq) lstItems.Items.Add(dr["MatriXID"].ToString(), "[" + dr["Price"].ToString() + "]" + Environment.NewLine + dr["Quantity"].ToString() + " " + dr["UnitCode"].ToString() + " - " + dr["Description"].ToString(), iImgCtr); else lstItems.Items.Add(dr["MatriXID"].ToString(), dr["Quantity"].ToString() + " " + dr["UnitCode"].ToString() + " - " + dr["Description"].ToString(), iImgCtr); if (iImgCtr == 7) iImgCtr = 0; else iImgCtr++; } try { lstItems.Items[0].Selected = true; } catch { } } catch (Exception ex) { if (ex.Message.ToLower() != "index was outside the bounds of the array.") MessageBox.Show(ex.Message,"RetailPlus",MessageBoxButtons.OK,MessageBoxIcon.Error); } }
protected void cboProducts_SelectedIndexChanged(object sender, System.EventArgs e) { long ProductID = Convert.ToInt64(cboProducts.SelectedItem.Value); ProductVariationsMatrix clsProductVariationsMatrix = new ProductVariationsMatrix(); cboProductVariation.DataTextField = "VariationDesc"; cboProductVariation.DataValueField = "MatrixID"; cboProductVariation.DataSource = clsProductVariationsMatrix.BaseListSimpleAsDataTable(ProductID, SortField: "VariationDesc").DefaultView; cboProductVariation.DataBind(); cboProductVariation.Items.Insert(0, new ListItem(Constants.ALL, Constants.ZERO_STRING)); cboProductVariation.SelectedIndex = 0; clsProductVariationsMatrix.CommitAndDispose(); }
protected void cmdVariationSearch_Click(object sender, System.Web.UI.ImageClickEventArgs e) { string stSearchKey = txtVariation.Text.ToString(); if (txtVariation.Text == null) stSearchKey = ""; DataClass clsDataClass = new DataClass(); long ProductID = Convert.ToInt64(cboProductCode.SelectedItem.Value); ProductVariationsMatrix clsProductVariationsMatrix = new ProductVariationsMatrix(); cboVariation.DataTextField = "Description"; cboVariation.DataValueField = "MatrixID"; cboVariation.DataSource = clsDataClass.DataReaderToDataTable(clsProductVariationsMatrix.Search(ProductID, stSearchKey, "VariationDesc",SortOption.Ascending)).DefaultView; cboVariation.DataBind(); if (cboVariation.Items.Count == 0) { cboVariation.Items.Add(new ListItem("No Variation", "0")); } cboVariation.SelectedIndex = cboVariation.Items.Count - 1; clsProductVariationsMatrix.CommitAndDispose(); }
protected void cboProductCode_SelectedIndexChanged(object sender, System.EventArgs e) { if (cboProductCode.Items.Count == 0) return; DataClass clsDataClass = new DataClass(); long ProductID = Convert.ToInt64(cboProductCode.SelectedItem.Value); ProductVariationsMatrix clsProductVariationsMatrix = new ProductVariationsMatrix(); cboVariation.DataTextField = "MatrixDescription"; cboVariation.DataValueField = "MatrixID"; cboVariation.DataSource = clsProductVariationsMatrix.BaseListSimpleAsDataTable(ProductID, SortField: "VariationDesc").DefaultView; cboVariation.DataBind(); if (cboVariation.Items.Count == 0) { cboVariation.Items.Add(new ListItem("No Variation", "0"));} cboVariation.SelectedIndex = cboVariation.Items.Count - 1; ProductUnitsMatrix clsUnitMatrix = new ProductUnitsMatrix(clsProductVariationsMatrix.Connection, clsProductVariationsMatrix.Transaction); cboProductUnit.DataTextField = "BottomUnitCode"; cboProductUnit.DataValueField = "BottomUnitID"; cboProductUnit.DataSource = clsUnitMatrix.ListAsDataTable(ProductID, "a.MatrixID", SortOption.Ascending).DefaultView; cboProductUnit.DataBind(); Products clsProduct = new Products(clsProductVariationsMatrix.Connection, clsProductVariationsMatrix.Transaction); ProductDetails clsDetails = clsProduct.Details(ProductID); clsProductVariationsMatrix.CommitAndDispose(); cboProductUnit.Items.Insert(0, new ListItem(clsDetails.BaseUnitCode, clsDetails.BaseUnitID.ToString())); cboProductUnit.SelectedIndex = cboProductUnit.Items.IndexOf(new ListItem(clsDetails.BaseUnitCode, clsDetails.BaseUnitID.ToString())); txtPrice.Text = clsDetails.WSPrice.ToString("#####0.#0"); txtSellingPrice.Text = clsDetails.Price.ToString("#####0.#0"); decimal decMargin = clsDetails.Price - clsDetails.WSPrice; try { decMargin = decMargin / clsDetails.WSPrice; } catch { decMargin = 1; } decMargin = decMargin * 100; txtMargin.Text = decMargin.ToString("#,##0.##0"); txtVAT.Text = clsDetails.VAT.ToString("#,##0.#0"); txtEVAT.Text = clsDetails.EVAT.ToString("#,##0.#0"); txtLocalTax.Text = clsDetails.LocalTax.ToString("#,##0.#0"); if (clsDetails.VAT > 0) chkIsTaxable.Checked = true; else chkIsTaxable.Checked = false; ComputeItemAmount(); cboVariation_SelectedIndexChanged(null, null); //if (ProductID != 0) //{ // lnkVariationAdd.Visible = true; // string stParam = "?task=" + Common.Encrypt("add", Session.SessionID) + // "&prodid=" + Common.Encrypt(ProductID.ToString(), Session.SessionID); // lnkVariationAdd.NavigateUrl = Constants.ROOT_DIRECTORY + "/MasterFiles/_Product/_VariationsMatrix/Default.aspx" + stParam; //} //else { lnkVariationAdd.Visible = false; } }
private bool Delete() { bool boRetValue = false; string stIDs = ""; foreach(DataListItem item in lstItem.Items) { HtmlInputCheckBox chkList = (HtmlInputCheckBox) item.FindControl("chkList"); if (chkList!=null) { if (chkList.Checked == true) { stIDs += chkList.Value + ","; boRetValue = true; } } } if (boRetValue) { // Aug 1, 2011 : Lemu // Remove the entire code and replaced with the code below to cater InventoryAdjustment and ProductMovement // See _Product/_variationsMatrix/_List.cs.Delete // // ProductVariationsMatrix clsProductVariationsMatrix = new ProductVariationsMatrix(); // clsProductVariationsMatrix.Delete(stIDs.Substring(0,stIDs.Length-1)); // clsProductVariationsMatrix.SynchronizeQuantity(Convert.ToInt64(lblProductID.Text)); // clsProductVariationsMatrix.CommitAndDispose(); Security.AccessUserDetails clsAccessUserDetails = (Security.AccessUserDetails)Session["AccessUserDetails"]; ProductVariationsMatrix clsProductVariationsMatrix = new ProductVariationsMatrix(); clsProductVariationsMatrix.GetConnection(); Products clsProducts = new Products(clsProductVariationsMatrix.Connection, clsProductVariationsMatrix.Transaction); long ProductID = Int64.Parse(lblProductID.Text); string[] strIDs = stIDs.Substring(0, stIDs.Length - 1).Split(','); foreach (string ID in strIDs) { long MatrixID = long.Parse(ID); ProductDetails clsDetails = clsProducts.Details(ProductID: ProductID, MatrixID: MatrixID); InvAdjustmentDetails clsInvAdjustmentDetails = new InvAdjustmentDetails(); clsInvAdjustmentDetails.UID = clsAccessUserDetails.UID; clsInvAdjustmentDetails.InvAdjustmentDate = DateTime.Now; clsInvAdjustmentDetails.ProductID = clsDetails.ProductID; clsInvAdjustmentDetails.ProductCode = clsDetails.ProductCode; clsInvAdjustmentDetails.Description = clsDetails.ProductDesc; clsInvAdjustmentDetails.VariationMatrixID = clsDetails.MatrixID; clsInvAdjustmentDetails.MatrixDescription = clsDetails.MatrixDescription; clsInvAdjustmentDetails.UnitID = clsDetails.BaseUnitID; clsInvAdjustmentDetails.UnitCode = clsDetails.BaseUnitCode; clsInvAdjustmentDetails.QuantityBefore = clsDetails.Quantity; clsInvAdjustmentDetails.QuantityNow = 0; clsInvAdjustmentDetails.MinThresholdBefore = clsDetails.MinThreshold; clsInvAdjustmentDetails.MinThresholdNow = 0; clsInvAdjustmentDetails.MaxThresholdBefore = clsDetails.MaxThreshold; clsInvAdjustmentDetails.MaxThresholdNow = 0; clsInvAdjustmentDetails.Remarks = "deleted item."; InvAdjustment clsInvAdjustment = new InvAdjustment(clsProducts.Connection, clsProducts.Transaction); clsInvAdjustment.Insert(clsInvAdjustmentDetails); clsProducts.SubtractQuantity(Constants.BRANCH_ID_MAIN, clsDetails.ProductID, clsDetails.MatrixID, clsDetails.Quantity, Products.getPRODUCT_INVENTORY_MOVEMENT_VALUE(PRODUCT_INVENTORY_MOVEMENT.DEDUCT_PRODUCT_VARIATION_DELETE) + " : " + clsDetails.MatrixDescription, clsInvAdjustmentDetails.InvAdjustmentDate, "SYS-VARDEL" + clsInvAdjustmentDetails.InvAdjustmentDate.ToString("yyyyMMddHHmmss"), clsAccessUserDetails.Name); clsProductVariationsMatrix.Delete(long.Parse(ID)); } clsProductVariationsMatrix.CommitAndDispose(); } return boRetValue; }
private void Upload() { if( ( txtPath.PostedFile != null ) && ( txtPath.PostedFile.ContentLength > 0 ) ) { string fn = System.IO.Path.GetFileName(txtPath.PostedFile.FileName); string SaveLocation = "/RetailPlus/temp/uploaded_" + fn; txtPath.PostedFile.SaveAs(SaveLocation); XmlTextReader reader = new XmlTextReader(SaveLocation); reader.WhitespaceHandling = WhitespaceHandling.None; Stock clsStock = new Stock(); clsStock.GetConnection(); string strStockTransactionNo = null; long StockID = 0; long ContactID = 0; int UnitID = 0; long ProductGroupID = 0; long ProductSubGroupID = 0; long ProductID = 0; long ProductBaseMatrixID = 0; VariationDetails clsVariationDetails; int VariationID = 0; StockItemDetails clsStockItemDetails = new StockItemDetails(); while (reader.Read()) { switch (reader.NodeType) { case XmlNodeType.Element: if (reader.Name == "Stock") { strStockTransactionNo = reader.GetAttribute("TransactionNo"); StockID = clsStock.Details(reader.GetAttribute("TransactionNo")).StockID; if (StockID > 0) { clsStock.CommitAndDispose(); Label1.Text = "<b>This file has already been added to inventory.<br />"; Label1.Text += "Please refer to transaction No: " + strStockTransactionNo + ".</b>"; reader.Close(); return; } Contacts clsContact = new Contacts(clsStock.Connection, clsStock.Transaction); ContactID = clsContact.Details(reader.GetAttribute("ContactCode")).ContactID; if (ContactID == 0) { ContactDetails clsContactDetails = new ContactDetails(); clsContactDetails.ContactCode = reader.GetAttribute("ContactCode"); clsContactDetails.ContactName = reader.GetAttribute("ContactName"); clsContactDetails.ContactGroupID = Convert.ToInt32(reader.GetAttribute("ContactGroupID")); clsContactDetails.ModeOfTerms = (ModeOfTerms)Enum.Parse(typeof(ModeOfTerms), reader.GetAttribute("ModeOfTerms")); clsContactDetails.Terms = Convert.ToInt32(reader.GetAttribute("Terms")); clsContactDetails.Address = reader.GetAttribute("Address"); clsContactDetails.BusinessName = reader.GetAttribute("BusinessName"); clsContactDetails.TelephoneNo = reader.GetAttribute("TelephoneNo"); clsContactDetails.Remarks = reader.GetAttribute("Remarks"); clsContactDetails.Debit = Convert.ToDecimal(reader.GetAttribute("Debit")); clsContactDetails.Credit = Convert.ToDecimal(reader.GetAttribute("Credit")); clsContactDetails.IsCreditAllowed = Convert.ToBoolean(reader.GetAttribute("IsCreditAllowed")); clsContactDetails.CreditLimit = Convert.ToDecimal(reader.GetAttribute("CreditLimit")); ContactID = clsContact.Insert(clsContactDetails); } StockDetails clsStockDetails = new StockDetails(); clsStockDetails.TransactionNo = reader.GetAttribute("TransactionNo"); clsStockDetails.StockTypeID = Convert.ToInt16(Constants.STOCK_TYPE_TRANSFER_FROM_BRANCH_ID); clsStockDetails.StockDate = DateTime.Now; clsStockDetails.SupplierID = ContactID; clsStockDetails.Remarks = reader.GetAttribute("StockRemarks") + Environment.NewLine + "Original Stock Date: " + reader.GetAttribute("StockDate"); StockItemDetails[] itemDetails = new StockItemDetails[0]; clsStockDetails.StockItems = itemDetails; StockID = clsStock.Insert(clsStockDetails); } else if (reader.Name == "Item") { Data.Unit clsUnit = new Data.Unit(clsStock.Connection, clsStock.Transaction); UnitID = clsUnit.Details(reader.GetAttribute("ProductUnitCode")).UnitID; if (UnitID == 0) { UnitDetails clsUnitDetails = new UnitDetails(); clsUnitDetails.UnitCode = reader.GetAttribute("ProductUnitCode"); clsUnitDetails.UnitName = reader.GetAttribute("ProductUnitName"); UnitID = clsUnit.Insert(clsUnitDetails); } ProductGroup clsProductGroup = new ProductGroup(clsStock.Connection, clsStock.Transaction); ProductGroupID = clsProductGroup.Details(reader.GetAttribute("ProductGroupCode")).ProductGroupID; if (ProductGroupID == 0) { Label1.Text += "inserting product group...."; ProductGroupDetails clsProductGroupDetails = new ProductGroupDetails(); clsProductGroupDetails.ProductGroupCode = reader.GetAttribute("ProductGroupCode"); clsProductGroupDetails.ProductGroupName = reader.GetAttribute("ProductGroupName"); clsProductGroupDetails.UnitDetails = new UnitDetails { UnitID = UnitID }; clsProductGroupDetails.Price = Convert.ToDecimal(reader.GetAttribute("Price")); clsProductGroupDetails.PurchasePrice = Convert.ToDecimal(reader.GetAttribute("PurchasePrice")); clsProductGroupDetails.IncludeInSubtotalDiscount = Convert.ToBoolean(reader.GetAttribute("IncludeInSubtotalDiscount")); clsProductGroupDetails.VAT = Convert.ToDecimal(reader.GetAttribute("VAT")); clsProductGroupDetails.EVAT = Convert.ToDecimal(reader.GetAttribute("EVAT")); clsProductGroupDetails.LocalTax = Convert.ToDecimal(reader.GetAttribute("LocalTax")); ProductGroupID = clsProductGroup.Insert(clsProductGroupDetails); } ProductSubGroup clsProductSubGroup = new ProductSubGroup(clsStock.Connection, clsStock.Transaction); ProductSubGroupID = clsProductSubGroup.Details(reader.GetAttribute("ProductSubGroupCode")).ProductSubGroupID; if (ProductSubGroupID == 0) { Label1.Text += "inserting product sub-group...."; ProductSubGroupDetails clsProductSubGroupDetails = new ProductSubGroupDetails(); clsProductSubGroupDetails.ProductGroupID = ProductGroupID; clsProductSubGroupDetails.ProductSubGroupCode = reader.GetAttribute("ProductSubGroupCode"); clsProductSubGroupDetails.ProductSubGroupName = reader.GetAttribute("ProductSubGroupName"); clsProductSubGroupDetails.BaseUnitID = UnitID; clsProductSubGroupDetails.Price = Convert.ToDecimal(reader.GetAttribute("Price")); clsProductSubGroupDetails.PurchasePrice = Convert.ToDecimal(reader.GetAttribute("PurchasePrice")); clsProductSubGroupDetails.IncludeInSubtotalDiscount = Convert.ToBoolean(reader.GetAttribute("IncludeInSubtotalDiscount")); clsProductSubGroupDetails.VAT = Convert.ToDecimal(reader.GetAttribute("VAT")); clsProductSubGroupDetails.EVAT = Convert.ToDecimal(reader.GetAttribute("EVAT")); clsProductSubGroupDetails.LocalTax = Convert.ToDecimal(reader.GetAttribute("LocalTax")); ProductSubGroupID = clsProductSubGroup.Insert(clsProductSubGroupDetails); } Products clsProduct = new Products(clsStock.Connection, clsStock.Transaction); ProductID = clsProduct.Details(reader.GetAttribute("BarCode")).ProductID; if (ProductID == 0) { Label1.Text += "inserting product...."; ProductDetails clsProductDetails = new ProductDetails(); clsProductDetails.ProductCode = reader.GetAttribute("ProductCode"); clsProductDetails.BarCode = reader.GetAttribute("BarCode"); clsProductDetails.ProductDesc = reader.GetAttribute("ProductDesc"); clsProductDetails.ProductGroupID = ProductGroupID; clsProductDetails.ProductSubGroupID = ProductSubGroupID; clsProductDetails.ProductDesc = reader.GetAttribute("ProductDesc"); clsProductDetails.BaseUnitID = UnitID; clsProductDetails.Price = Convert.ToDecimal(reader.GetAttribute("Price")); clsProductDetails.PurchasePrice = Convert.ToDecimal(reader.GetAttribute("PurchasePrice")); clsProductDetails.IncludeInSubtotalDiscount = Convert.ToBoolean(reader.GetAttribute("IncludeInSubtotalDiscount")); clsProductDetails.VAT = Convert.ToDecimal(reader.GetAttribute("VAT")); clsProductDetails.EVAT = Convert.ToDecimal(reader.GetAttribute("EVAT")); clsProductDetails.LocalTax = Convert.ToDecimal(reader.GetAttribute("LocalTax")); clsProductDetails.Quantity = 0; clsProductDetails.MinThreshold = Convert.ToDecimal(reader.GetAttribute("MinThreshold")); clsProductDetails.MaxThreshold = Convert.ToDecimal(reader.GetAttribute("MaxThreshold")); clsProductDetails.SupplierID = Contacts.DEFAULT_SUPPLIER_ID; ProductID = clsProduct.Insert(clsProductDetails); } //ProductVariationsMatrix clsProductVariationsMatrix = new ProductVariationsMatrix(clsStock.Connection, clsStock.Transaction); //ProductBaseMatrixID = clsProductVariationsMatrix.BaseDetails(0, 0, ProductID, reader["ItemBaseVariationDescription"].ToString()).MatrixID; //if (ProductBaseMatrixID == 0) //{ // ProductBaseMatrixDetails clsBaseDetails = new ProductBaseMatrixDetails(); // clsBaseDetails.ProductID = ProductID; // clsBaseDetails.Description = reader.GetAttribute("ItemBaseVariationDescription"); // clsBaseDetails.UnitID = UnitID; // clsBaseDetails.Price = Convert.ToDecimal(reader.GetAttribute("Price")); // clsBaseDetails.PurchasePrice = Convert.ToDecimal(reader.GetAttribute("PurchasePrice")); // clsBaseDetails.IncludeInSubtotalDiscount = Convert.ToBoolean(reader.GetAttribute("IncludeInSubtotalDiscount")); // clsBaseDetails.Quantity = 0; // clsBaseDetails.VAT = Convert.ToDecimal(reader.GetAttribute("VAT")); // clsBaseDetails.EVAT = Convert.ToDecimal(reader.GetAttribute("EVAT")); // clsBaseDetails.LocalTax = Convert.ToDecimal(reader.GetAttribute("LocalTax")); // clsBaseDetails.MinThreshold = Convert.ToDecimal(reader.GetAttribute("MinThreshold")); // clsBaseDetails.MaxThreshold = Convert.ToDecimal(reader.GetAttribute("MaxThreshold")); // ProductBaseMatrixID = clsProductVariationsMatrix.InsertBaseVariation(clsBaseDetails); // clsBaseDetails.MatrixID = ProductBaseMatrixID; //} clsStockItemDetails = new StockItemDetails(); clsStockItemDetails.StockID = StockID; clsStockItemDetails.ProductID = ProductID; clsStockItemDetails.VariationMatrixID = ProductBaseMatrixID; clsStockItemDetails.ProductUnitID = UnitID; clsStockItemDetails.StockTypeID = Convert.ToInt16(Constants.STOCK_TYPE_TRANSFER_FROM_BRANCH_ID); clsStockItemDetails.StockDate = DateTime.Now; clsStockItemDetails.Quantity = Convert.ToDecimal(reader.GetAttribute("ItemQuantity")); clsStockItemDetails.Remarks = reader.GetAttribute("ItemRemarks"); Security.AccessUserDetails clsAccessUserDetails = (Security.AccessUserDetails)Session["AccessUserDetails"]; clsStock.AddItem(Constants.BRANCH_ID_MAIN, strStockTransactionNo, clsAccessUserDetails.Name, clsStockItemDetails, StockDirections.Increment); } else if (reader.Name == "Variation" && reader.GetAttribute("VariationCode") != null) { Variation clsVariation = new Variation(clsStock.Connection, clsStock.Transaction); VariationID = clsVariation.Details(reader.GetAttribute("VariationCode")).VariationID; if (VariationID == 0 ) { clsVariationDetails = new VariationDetails(); clsVariationDetails.VariationCode = reader.GetAttribute("VariationCode"); clsVariationDetails.VariationType = reader.GetAttribute("VariationType"); VariationID = clsVariation.Insert(clsVariationDetails); } ProductVariationDetails clsProductVariationDetails = new ProductVariationDetails(); clsProductVariationDetails.ProductID = ProductID; clsProductVariationDetails.VariationID = VariationID; ProductVariations clsProductVariation = new ProductVariations(clsStock.Connection, clsStock.Transaction); if (clsProductVariation.isExist(clsProductVariationDetails) == false) { long ProductVariationID = clsProductVariation.Insert(clsProductVariationDetails); } } else if (reader.Name == "VariationMatrix" && reader.GetAttribute("VariationCode") != null) { Variation clsVariation = new Variation(clsStock.Connection, clsStock.Transaction); VariationID = clsVariation.Details(reader.GetAttribute("VariationCode")).VariationID; if (VariationID == 0) { clsVariationDetails = new VariationDetails(); clsVariationDetails.VariationCode = reader.GetAttribute("VariationCode"); clsVariationDetails.VariationType = reader.GetAttribute("VariationType"); VariationID = clsVariation.Insert(clsVariationDetails); } ProductVariationsMatrix clsProductVariationsMatrix = new ProductVariationsMatrix(clsStock.Connection, clsStock.Transaction); if (clsProductVariationsMatrix.isExist(ProductBaseMatrixID, VariationID) == false) { ProductVariationsMatrixDetails clsProductVariationsMatrixDetails = new ProductVariationsMatrixDetails(); clsProductVariationsMatrixDetails.ProductID = ProductID; clsProductVariationsMatrixDetails.MatrixID = ProductBaseMatrixID; clsProductVariationsMatrixDetails.VariationID = VariationID; clsProductVariationsMatrixDetails.Description = reader.GetAttribute("Description"); clsProductVariationsMatrix.SaveVariation(clsProductVariationsMatrixDetails); } } else { Label1.Text = "<b>Reader Name:<b>" + reader.Name + "<br />"; } break; case XmlNodeType.Text: Label1.Text = "<b>" + reader.LocalName + ":<b>" + reader.Value + "<br />"; break; } } reader.Close(); clsStock.CommitAndDispose(); Label1.Text = "<b>Transaction No.: " + strStockTransactionNo + " has been successfully transferred.<br />"; } else { Response.Write("Please select a file to upload."); } }
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); /******************************************* * Added Jan 1, 2010 4:20PM * Update Selling Information when PO is posted * ****************************************/ clsProduct.UpdateSellingPrice(lngProductID, lngVariationMatrixID, clsPODetails.SupplierID, intProductUnitID, Convert.ToDecimal(dr["SellingPrice"]), -1, -1, -1, -1, -1); /******************************************* * Added Mar 8, 2010 4:20PM * Update the purchase price history to check who has the lowest price. * ****************************************/ ProductPurchasePriceHistoryDetails clsProductPurchasePriceHistoryDetails = new ProductPurchasePriceHistoryDetails(); clsProductPurchasePriceHistoryDetails.ProductID = lngProductID; clsProductPurchasePriceHistoryDetails.MatrixID = lngVariationMatrixID; clsProductPurchasePriceHistoryDetails.SupplierID = clsPODetails.SupplierID; clsProductPurchasePriceHistoryDetails.PurchasePrice = decUnitCost; clsProductPurchasePriceHistoryDetails.PurchaseDate = clsPODetails.PODate; clsProductPurchasePriceHistoryDetails.Remarks = clsPODetails.PONo; clsProductPurchasePriceHistoryDetails.PurchaserName = clsPODetails.PurchaserName; ProductPurchasePriceHistory clsProductPurchasePriceHistory = new ProductPurchasePriceHistory(base.Connection, base.Transaction); clsProductPurchasePriceHistory.AddToList(clsProductPurchasePriceHistoryDetails); } //myReader.Close(); }
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(); }
protected void cboProductCode_SelectedIndexChanged(object sender, System.EventArgs e) { if (cboProductCode.Items.Count == 0) return; DataClass clsDataClass = new DataClass(); long ProductID = Convert.ToInt64(cboProductCode.SelectedItem.Value); if (ProductID == 0) { cboVariation.Items.Clear(); cboVariation.Items.Add(new ListItem("No Variation", "0")); return; } ProductVariationsMatrix clsProductVariationsMatrix = new ProductVariationsMatrix(); cboVariation.DataTextField = "VariationDesc"; cboVariation.DataValueField = "MatrixID"; cboVariation.DataSource = clsProductVariationsMatrix.BaseListSimpleAsDataTable(ProductID, SortField: "VariationDesc").DefaultView; cboVariation.DataBind(); if (cboVariation.Items.Count == 0) { cboVariation.Items.Add(new ListItem("No Variation", "0")); } cboVariation.SelectedIndex = cboVariation.Items.Count - 1; clsProductVariationsMatrix.CommitAndDispose(); ProductUnitsMatrix clsUnitMatrix = new ProductUnitsMatrix(); cboProductUnit.DataTextField = "BottomUnitCode"; cboProductUnit.DataValueField = "BottomUnitID"; cboProductUnit.DataSource = clsUnitMatrix.ListAsDataTable(ProductID,"a.MatrixID",SortOption.Ascending).DefaultView; cboProductUnit.DataBind(); clsUnitMatrix.CommitAndDispose(); Products clsProduct = new Products(); ProductDetails clsDetails = new ProductDetails(); clsDetails = clsProduct.Details(ProductID); clsProduct.CommitAndDispose(); cboProductUnit.Items.Add( new ListItem(clsDetails.BaseUnitCode, clsDetails.BaseUnitID.ToString())); cboProductUnit.SelectedIndex = cboProductUnit.Items.Count - 1; cboVariation_SelectedIndexChanged(null, null); }
private void SaveRecord() { Security.AccessUserDetails clsDetails = (Security.AccessUserDetails)Session["AccessUserDetails"]; DateTime dteChangeDate = DateTime.Now; Products clsProduct = new Products(); clsProduct.GetConnection(); InvAdjustment clsInvAdjustment = new InvAdjustment(clsProduct.Connection, clsProduct.Transaction); InvAdjustmentDetails clsInvAdjustmentDetails; long lngProductID = long.Parse(cboProductCode.SelectedValue); if (lstVariationMatrix.Items.Count > 0) { ProductVariationsMatrix clsProductVariationsMatrix = new ProductVariationsMatrix(clsProduct.Connection, clsProduct.Transaction); foreach (DataListItem e in lstVariationMatrix.Items) { HtmlInputCheckBox chkMatrixID = (HtmlInputCheckBox)e.FindControl("chkMatrixID"); Label lblVariationDesc = (Label)e.FindControl("lblVariationDesc"); Label lblUnitNameMatrix = (Label)e.FindControl("lblUnitCode"); TextBox txtQuantityBeforeMatrix = (TextBox)e.FindControl("txtQuantityBefore"); //TextBox txtDifferenceMatrix = (TextBox)e.FindControl("txtDifference"); TextBox txtQuantityNowMatrix = (TextBox)e.FindControl("txtQuantityNow"); TextBox txtMinThresholdMatrix = (TextBox)e.FindControl("txtMinThreshold"); TextBox txtMaxThresholdMatrix = (TextBox)e.FindControl("txtMaxThreshold"); decimal decQuantityBeforeMatrix = decimal.Parse(txtQuantityBeforeMatrix.Text); //decimal decDifferenceMatrix = decimal.Parse(txtDifference.Text); decimal decQuantityNowMatrix = decimal.Parse(txtQuantityNowMatrix.Text); decimal decMinThresholdMatrixBefore = decimal.Parse(txtMinThresholdMatrix.ToolTip); decimal decMinThresholdMatrixNow = decimal.Parse(txtMinThresholdMatrix.Text); decimal decMaxThresholdMatrixBefore = decimal.Parse(txtMaxThresholdMatrix.ToolTip); decimal decMaxThresholdMatrixNow = decimal.Parse(txtMaxThresholdMatrix.Text); if (decQuantityBeforeMatrix != decQuantityNowMatrix || decMinThresholdMatrixBefore != decMinThresholdMatrixNow || decMaxThresholdMatrixBefore != decMaxThresholdMatrixNow) { clsInvAdjustmentDetails = new InvAdjustmentDetails(); clsInvAdjustmentDetails.UID = clsDetails.UID; clsInvAdjustmentDetails.InvAdjustmentDate = dteChangeDate; clsInvAdjustmentDetails.ProductID = long.Parse(cboProductCode.SelectedValue); clsInvAdjustmentDetails.ProductCode = cboProductCode.SelectedItem.Text; clsInvAdjustmentDetails.Description = cboProductCode.SelectedItem.Text; clsInvAdjustmentDetails.VariationMatrixID = long.Parse(chkMatrixID.Value); clsInvAdjustmentDetails.MatrixDescription = lblVariationDesc.Text; clsInvAdjustmentDetails.UnitID = int.Parse(lblUnitNameMatrix.ToolTip); clsInvAdjustmentDetails.UnitCode = lblUnitNameMatrix.Text; clsInvAdjustmentDetails.QuantityBefore = decQuantityBeforeMatrix; clsInvAdjustmentDetails.QuantityNow = decQuantityNowMatrix; clsInvAdjustmentDetails.MinThresholdBefore = decMinThresholdMatrixBefore; clsInvAdjustmentDetails.MinThresholdNow = decMinThresholdMatrixNow; clsInvAdjustmentDetails.MaxThresholdBefore = decMaxThresholdMatrixBefore; clsInvAdjustmentDetails.MaxThresholdNow = decMaxThresholdMatrixNow; clsInvAdjustmentDetails.Remarks = txtRemarks.Text; clsInvAdjustment.Insert(clsInvAdjustmentDetails); if (decQuantityBeforeMatrix > decQuantityNowMatrix) { clsProduct.UpdateInvDetails(int.Parse(cboBranch.SelectedItem.Value), lngProductID, long.Parse(chkMatrixID.Value), decQuantityNowMatrix, decMinThresholdMatrixNow, decMaxThresholdMatrixNow, Products.getPRODUCT_INVENTORY_MOVEMENT_VALUE(PRODUCT_INVENTORY_MOVEMENT.DEDUCT_INVENTORY_ADJUSTMENT), dteChangeDate, "SYS-ADJ" + dteChangeDate.ToString("yyyyMMddHHmmss"), clsDetails.Name); } else if (decQuantityBeforeMatrix < decQuantityNowMatrix) { clsProduct.UpdateInvDetails(int.Parse(cboBranch.SelectedItem.Value), lngProductID, long.Parse(chkMatrixID.Value), decQuantityNowMatrix, decMinThresholdMatrixNow, decMaxThresholdMatrixNow, Products.getPRODUCT_INVENTORY_MOVEMENT_VALUE(PRODUCT_INVENTORY_MOVEMENT.ADD_INVENTORY_ADJUSTMENT), dteChangeDate, "SYS-ADJ" + dteChangeDate.ToString("yyyyMMddHHmmss"), clsDetails.Name); } } } } clsProduct.CommitAndDispose(); }
private void LoadItemData() { ProductVariationsMatrix clsProductVariationsMatrix = new ProductVariationsMatrix(); try { string searchkey = "" + txtSearch.Text; DataClass clsData = new DataClass(); System.Data.DataTable dt = clsData.DataReaderToDataTable(clsProductVariationsMatrix.Search(mDetails.ProductID,searchkey,"a.Description",SortOption.Ascending, 100, mboShowItemMoreThanZeroQty)); clsProductVariationsMatrix.CommitAndDispose(); //dt.TableName = "tblProductVariationsMatrix"; this.dgStyle.MappingName = dt.TableName; dgItems.DataSource = dt; dgItems.Select(0); dgItems.CurrentRowIndex=0; } catch (Exception ex) { clsProductVariationsMatrix.CommitAndDispose(); if (ex.Message.ToLower() != "index was outside the bounds of the array.") MessageBox.Show(ex.Message,"RetailPlus",MessageBoxButtons.OK,MessageBoxIcon.Error); } }
public void InheritSubGroupVariationsMatrix(Int64 ProductSubGroupID, Int64 ProductID, ProductDetails prodDetails) { try { ProductBaseVariationsMatrixDetails clsBaseDetails; ProductSubGroupVariationsMatrix clsProductSubGroupVariationsMatrix = new ProductSubGroupVariationsMatrix(base.Connection, base.Transaction); ProductVariationsMatrix clsProductVariationsMatrix = new ProductVariationsMatrix(base.Connection, base.Transaction); ProductVariationsMatrixDetails clsProductVariationsMatrixDetails = new ProductVariationsMatrixDetails(); MySqlDataReader clsProductSubGroupVariationsMatrixList; MySqlDataReader clsProductSubGroupBaseVariationsMatrixList = clsProductSubGroupVariationsMatrix.BaseList(ProductSubGroupID,"MatrixID",SortOption.Ascending); Int64 SubGroupBaseMatrixID = 0; while (clsProductSubGroupBaseVariationsMatrixList.Read()) { clsBaseDetails = new ProductBaseVariationsMatrixDetails(); clsBaseDetails.ProductID = ProductID; clsBaseDetails.Description = "" + clsProductSubGroupBaseVariationsMatrixList["Description"].ToString(); clsBaseDetails.UnitID = Convert.ToInt32(clsProductSubGroupBaseVariationsMatrixList["UnitID"]); clsBaseDetails.Price = Convert.ToDecimal(clsProductSubGroupBaseVariationsMatrixList["Price"]); clsBaseDetails.WSPrice = Convert.ToDecimal(clsProductSubGroupBaseVariationsMatrixList["WSPrice"]); clsBaseDetails.PurchasePrice = Convert.ToDecimal(clsProductSubGroupBaseVariationsMatrixList["PurchasePrice"]); clsBaseDetails.IncludeInSubtotalDiscount = Convert.ToBoolean(clsProductSubGroupBaseVariationsMatrixList["IncludeInSubtotalDiscount"]); clsBaseDetails.VAT = Convert.ToDecimal(clsProductSubGroupBaseVariationsMatrixList["VAT"]); clsBaseDetails.EVAT = Convert.ToDecimal(clsProductSubGroupBaseVariationsMatrixList["EVAT"]); clsBaseDetails.LocalTax = Convert.ToDecimal(clsProductSubGroupBaseVariationsMatrixList["LocalTax"]); clsBaseDetails.Quantity = 0; clsBaseDetails.MinThreshold = prodDetails.MinThreshold; clsBaseDetails.MaxThreshold = prodDetails.MaxThreshold; clsBaseDetails.MatrixID = clsProductVariationsMatrix.InsertBaseVariation(clsBaseDetails); SubGroupBaseMatrixID = clsProductSubGroupBaseVariationsMatrixList.GetInt64(0); clsProductSubGroupVariationsMatrix = new ProductSubGroupVariationsMatrix(base.Connection, base.Transaction); clsProductSubGroupVariationsMatrixList = clsProductSubGroupVariationsMatrix.List(SubGroupBaseMatrixID); while (clsProductSubGroupVariationsMatrixList.Read()) { clsProductVariationsMatrixDetails = new ProductVariationsMatrixDetails(); clsProductVariationsMatrixDetails.MatrixID = clsBaseDetails.MatrixID; clsProductVariationsMatrixDetails.ProductID = ProductID; clsProductVariationsMatrixDetails.VariationID = Convert.ToInt64(clsProductSubGroupVariationsMatrixList["VariationID"]); clsProductVariationsMatrixDetails.Description = "" + clsProductSubGroupVariationsMatrixList["Description"].ToString(); clsProductVariationsMatrix.SaveVariation(clsProductVariationsMatrixDetails); } clsProductSubGroupVariationsMatrixList.Close(); } clsProductSubGroupBaseVariationsMatrixList.Close(); } catch (Exception ex) { throw base.ThrowException(ex); } }
private void AddItemToInventory(long CreditMemoID) { SOReturnDetails clsSOReturnDetails = Details(CreditMemoID); ERPConfig clsERPConfig = new ERPConfig(base.Connection, base.Transaction); ERPConfigDetails clsERPConfigDetails = clsERPConfig.Details(); SOReturnItems clsSOReturnItems = new SOReturnItems(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); System.Data.DataTable dt = clsSOReturnItems.ListAsDataTable(CreditMemoID); 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 from Inventory * ****************************************/ // clsProduct.AddQuantity(ProductID, Quantity); // if (VariationMatrixID != 0){ clsProductVariationsMatrix.AddQuantity(VariationMatrixID, Quantity); } // July 28, 2011: change the above codes to the following clsProduct.AddQuantity(clsSOReturnDetails.BranchID, lngProductID, lngVariationMatrixID, decQuantity, Products.getPRODUCT_INVENTORY_MOVEMENT_VALUE(PRODUCT_INVENTORY_MOVEMENT.ADD_SALES_RETURN), DateTime.Now, clsSOReturnDetails.CNNo, clsSOReturnDetails.SellerName); /******************************************* * Add to Inventory Analysis * ****************************************/ InventoryDetails clsInventoryDetails = new InventoryDetails(); clsInventoryDetails.PostingDateFrom = clsERPConfigDetails.PostingDateFrom; clsInventoryDetails.PostingDateTo = clsERPConfigDetails.PostingDateTo; clsInventoryDetails.PostingDate = clsSOReturnDetails.PostingDate; clsInventoryDetails.ReferenceNo = clsSOReturnDetails.CNNo; clsInventoryDetails.ContactID = clsSOReturnDetails.CustomerID; clsInventoryDetails.ContactCode = clsSOReturnDetails.CustomerCode; clsInventoryDetails.ProductID = lngProductID; clsInventoryDetails.ProductCode = strProductCode; clsInventoryDetails.VariationMatrixID = lngVariationMatrixID; clsInventoryDetails.MatrixDescription = strMatrixDescription; clsInventoryDetails.SReturnQuantity = decQuantity; clsInventoryDetails.SReturnCost = decItemCost - decVAT; clsInventoryDetails.SReturnVAT = decItemCost; //Purchase Return with VAT clsInventory.Insert(clsInventoryDetails); } //myReader.Close(); }
protected void cboProductCode_SelectedIndexChanged(object sender, System.EventArgs e) { if (cboProductCode.Items.Count == 0) return; if (cboProductCode.Items.Count == 1 && cboProductCode.SelectedValue == Constants.ZERO_STRING) return; DataClass clsDataClass = new DataClass(); long ProductID = Convert.ToInt64(cboProductCode.SelectedItem.Value); ProductVariationsMatrix clsProductVariationsMatrix = new ProductVariationsMatrix(); cboVariation.DataTextField = "MatrixDescription"; cboVariation.DataValueField = "MatrixID"; cboVariation.DataSource = clsProductVariationsMatrix.BaseListSimpleAsDataTable(ProductID, SortField: "VariationDesc").DefaultView; cboVariation.DataBind(); if (cboVariation.Items.Count == 0) { cboVariation.Items.Add(new ListItem("No Variation", Constants.ZERO_STRING)); } cboVariation.SelectedIndex = cboVariation.Items.Count - 1; ProductUnitsMatrix clsUnitMatrix = new ProductUnitsMatrix(clsProductVariationsMatrix.Connection, clsProductVariationsMatrix.Transaction); cboProductUnit.DataTextField = "BottomUnitCode"; cboProductUnit.DataValueField = "BottomUnitID"; cboProductUnit.DataSource = clsUnitMatrix.ListAsDataTable(ProductID, "a.MatrixID", SortOption.Ascending).DefaultView; cboProductUnit.DataBind(); Products clsProduct = new Products(clsProductVariationsMatrix.Connection, clsProductVariationsMatrix.Transaction); ProductDetails clsDetails = clsProduct.Details(ProductID); ProductPurchasePriceHistory clsProductPurchasePriceHistory = new ProductPurchasePriceHistory(clsProductVariationsMatrix.Connection, clsProductVariationsMatrix.Transaction); System.Data.DataTable dtProductPurchasePriceHistory = clsProductPurchasePriceHistory.ListAsDataTable(ProductID, DateTime.Now.AddMonths(-6), "PurchasePrice", SortOption.Ascending); clsProductVariationsMatrix.CommitAndDispose(); string strPurchasePriceHistory = string.Empty; foreach (System.Data.DataRow dr in dtProductPurchasePriceHistory.Rows) { DateTime dtePurchaseDate = DateTime.Parse(dr["PurchaseDate"].ToString()); decimal decPurchasePrice = decimal.Parse(dr["PurchasePrice"].ToString()); long lngSupplierID = long.Parse(dr["SupplierID"].ToString()); string strSupplierName = "" + dr["SupplierName"].ToString(); if (lngSupplierID == long.Parse(lblSupplierID.Text)) clsDetails.PurchasePrice = decPurchasePrice; strPurchasePriceHistory += dtePurchaseDate.ToString("ddMMMyyyy HH:mm") + ": " + decPurchasePrice.ToString("#,##0.##0").PadLeft(10) + " " + strSupplierName + "\r\n<br />" + Environment.NewLine; } lblPurchasePriceHistory.Text = "<br />" + strPurchasePriceHistory; cboProductUnit.Items.Insert(0, new ListItem(clsDetails.BaseUnitCode, clsDetails.BaseUnitID.ToString())); cboProductUnit.SelectedIndex = cboProductUnit.Items.IndexOf(new ListItem(clsDetails.BaseUnitCode, clsDetails.BaseUnitID.ToString())); txtPrice.Text = clsDetails.PurchasePrice.ToString("#####0.##0"); txtSellingPrice.Text = clsDetails.Price.ToString("#####0.##0"); txtOldSellingPrice.Text = clsDetails.Price.ToString("#####0.##0"); decimal decMargin = clsDetails.Price - clsDetails.PurchasePrice; try { decMargin = decMargin / clsDetails.PurchasePrice; } catch { decMargin = 1; } decMargin = decMargin * 100; txtMargin.Text = decMargin.ToString("#,##0.##0"); txtVAT.Text = clsDetails.VAT.ToString("#,##0.##0"); txtEVAT.Text = clsDetails.EVAT.ToString("#,##0.##0"); txtLocalTax.Text = clsDetails.LocalTax.ToString("#,##0.##0"); if (clsDetails.VAT > 0) chkIsTaxable.Checked = true; else chkIsTaxable.Checked = false; if (cboProductUnit.Items.Count == 0) { cboProductUnit.Items.Add(new ListItem("No Unit", "0")); } cboVariation.SelectedIndex = cboVariation.Items.Count - 1; ComputeItemAmount(); cboVariation_SelectedIndexChanged(null, null); lstItemFixCssClass(); }
private bool SaveRecord() { foreach (DataListItem item in lstItem.Items) { HyperLink lnkVariationType = (HyperLink)item.FindControl("lnkVariationType"); if (lnkVariationType.Text.ToUpper() == CONSTANT_VARIATIONS.EXPIRATION.ToString("G")) { TextBox txtDescription = (TextBox)item.FindControl("txtDescription"); try { DateTime Expiry = DateTime.Parse(txtDescription.Text); } catch { string javaScript = "window.alert('Please enter a valid expiration date in YYYY-MM-DD format.');"; System.Web.UI.ScriptManager.RegisterClientScriptBlock(this.updSave, this.updSave.GetType(), "openwindow", javaScript, true); return false; } } } string stringVariationDesc = null; foreach (DataListItem item in lstItem.Items) { HtmlInputCheckBox chkList = (HtmlInputCheckBox)item.FindControl("chkList"); TextBox txtDescription = (TextBox)item.FindControl("txtDescription"); stringVariationDesc += txtDescription.Text + "; "; } Security.AccessUserDetails clsAccessUserDetails = (Security.AccessUserDetails)Session["AccessUserDetails"]; ProductBaseVariationsMatrixDetails clsBaseDetails = new ProductBaseVariationsMatrixDetails(); ProductVariationsMatrixDetails clsDetails; ProductVariationsMatrix clsProductVariationsMatrix = new ProductVariationsMatrix(); ProductDetails clsProductDetails = new Products(clsProductVariationsMatrix.Connection, clsProductVariationsMatrix.Transaction).Details(Int64.Parse(lblProductID.Text)); clsBaseDetails.ProductID = Convert.ToInt64(lblProductID.Text); clsBaseDetails.BarCode1 = txtBarcode.Text; clsBaseDetails.BarCode2 = txtBarcode2.Text; clsBaseDetails.BarCode3 = txtBarcode3.Text; clsBaseDetails.Description = stringVariationDesc; clsBaseDetails.UnitID = Convert.ToInt32(cboUnit.SelectedItem.Value); clsBaseDetails.Price = Convert.ToDecimal(txtProductPrice.Text); clsBaseDetails.Price1 = Convert.ToDecimal(txtPrice1.Text); clsBaseDetails.Price2 = Convert.ToDecimal(txtPrice2.Text); clsBaseDetails.Price3 = Convert.ToDecimal(txtPrice3.Text); clsBaseDetails.Price4 = Convert.ToDecimal(txtPrice4.Text); clsBaseDetails.Price5 = Convert.ToDecimal(txtPrice5.Text); clsBaseDetails.WSPrice = Convert.ToDecimal(txtWSPrice.Text); clsBaseDetails.WSPrice = Convert.ToDecimal(txtWSPrice.Text); clsBaseDetails.PurchasePrice = Convert.ToDecimal(txtPurchasePrice.Text); clsBaseDetails.IncludeInSubtotalDiscount = chkIncludeInSubtotalDiscount.Checked; clsBaseDetails.Quantity = Convert.ToDecimal(txtQuantity.Text); clsBaseDetails.VAT = Convert.ToDecimal(txtVAT.Text); clsBaseDetails.EVAT = Convert.ToDecimal(txtEVAT.Text); clsBaseDetails.LocalTax = Convert.ToDecimal(txtLocalTax.Text); clsBaseDetails.MinThreshold = Convert.ToDecimal(txtMinThreshold.Text); clsBaseDetails.MaxThreshold = Convert.ToDecimal(txtMaxThreshold.Text); clsBaseDetails.SupplierID = clsProductDetails.SupplierID; clsBaseDetails.CreatedBy = clsAccessUserDetails.Name; clsBaseDetails.MatrixID = clsProductVariationsMatrix.InsertBaseVariation(clsBaseDetails); foreach (DataListItem item in lstItem.Items) { HtmlInputCheckBox chkList = (HtmlInputCheckBox) item.FindControl("chkList"); TextBox txtDescription = (TextBox) item.FindControl("txtDescription"); clsDetails = new ProductVariationsMatrixDetails(); clsDetails.MatrixID = clsBaseDetails.MatrixID; clsDetails.ProductID = Convert.ToInt64(lblProductID.Text); clsDetails.VariationID = Convert.ToInt32(chkList.Value); clsDetails.Description = txtDescription.Text; clsProductVariationsMatrix.SaveVariation(clsDetails); } clsProductVariationsMatrix.CommitAndDispose(); return true; }
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); } }
private void AddItemToInventory(long DebitMemoID) { POReturnDetails clsPOReturnDetails = Details(DebitMemoID); ERPConfig clsERPConfig = new ERPConfig(base.Connection, base.Transaction); ERPConfigDetails clsERPConfigDetails = clsERPConfig.Details(); POReturnItems clsPOReturnItems = new POReturnItems(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 = clsPOReturnItems.List(DebitMemoID, "DebitMemoItemID", SortOption.Ascending); System.Data.DataTable dt = clsPOReturnItems.ListAsDataTable(DebitMemoID); foreach (System.Data.DataRow dr in dt.Rows) { long lngProductID = Convert.ToInt64(dr["ProductID"]); // myReader.GetInt64("ProductID"); int intProductUnitID = Convert.ToInt16(dr["ProductUnitID"]); // myReader.GetInt16("ProductUnitID"); decimal decItemQuantity = Convert.ToDecimal(dr["Quantity"]); // myReader.GetDecimal("Quantity"); decimal decQuantity = clsProductUnit.GetBaseUnitValue(lngProductID, intProductUnitID, decItemQuantity); long lngVariationMatrixID = Convert.ToInt64(dr["VariationMatrixID"]); // myReader.GetInt64("VariationMatrixID"); string strMatrixDescription = dr["MatrixDescription"].ToString(); // "" + myReader["MatrixDescription"].ToString(); string strProductCode = dr["ProductCode"].ToString(); // "" + myReader["ProductCode"].ToString(); string strProductUnitCode = dr["ProductUnitCode"].ToString(); // "" + myReader["ProductUnitCode"].ToString(); decimal decUnitCost = Convert.ToDecimal(dr["UnitCost"]); // myReader.GetDecimal("UnitCost"); decimal decItemCost = Convert.ToDecimal(dr["Amount"]); // myReader.GetDecimal("Amount"); decimal decVAT = Convert.ToDecimal(dr["VAT"]); // myReader.GetDecimal("VAT"); /******************************************* * Subtract from Inventory * ****************************************/ // clsProduct.SubtractQuantity(ProductID, Quantity); // if (VariationMatrixID != 0) { clsProductVariationsMatrix.SubtractQuantity(VariationMatrixID, Quantity);} // July 26, 2011: change the above codes to the following clsProduct.SubtractQuantity(clsPOReturnDetails.BranchID, lngProductID, lngVariationMatrixID, decQuantity, Products.getPRODUCT_INVENTORY_MOVEMENT_VALUE(PRODUCT_INVENTORY_MOVEMENT.DEDUCT_PURCHASE_RETURN), DateTime.Now, clsPOReturnDetails.MemoNo, clsPOReturnDetails.PurchaserName); /******************************************* * Add to Inventory Analysis * ****************************************/ InventoryDetails clsInventoryDetails = new InventoryDetails(); clsInventoryDetails.PostingDateFrom = clsERPConfigDetails.PostingDateFrom; clsInventoryDetails.PostingDateTo = clsERPConfigDetails.PostingDateTo; clsInventoryDetails.PostingDate = clsPOReturnDetails.PostingDate; clsInventoryDetails.ReferenceNo = clsPOReturnDetails.MemoNo; clsInventoryDetails.ContactID = clsPOReturnDetails.SupplierID; clsInventoryDetails.ContactCode = clsPOReturnDetails.SupplierCode; clsInventoryDetails.ProductID = lngProductID; clsInventoryDetails.ProductCode = strProductCode; clsInventoryDetails.VariationMatrixID = lngVariationMatrixID; clsInventoryDetails.MatrixDescription = strMatrixDescription; clsInventoryDetails.PReturnQuantity = decQuantity; clsInventoryDetails.PReturnCost = decItemCost - decVAT; clsInventoryDetails.PReturnVAT = decItemCost; //Purchase Return with VAT clsInventory.Insert(clsInventoryDetails); } }
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); } }
public void GenerateItemsForReorder(Int32 TerminalID, long SOID) { try { GetConnection(); Terminal clsTerminal = new Terminal(base.Connection, base.Transaction); TerminalDetails clsTerminalDetails = clsTerminal.Details(TerminalID); SODetails clsSODetails = Details(SOID); Products clsProduct = new Products(base.Connection, base.Transaction); System.Data.DataTable dt = clsProduct.ForReorder(clsSODetails.CustomerID); SOItem clsSOItem = new SOItem(base.Connection, base.Transaction); ProductVariationsMatrix clsProductVariationsMatrix = new ProductVariationsMatrix(base.Connection, base.Transaction); foreach (System.Data.DataRow dr in dt.Rows) { SOItemDetails clsDetails = new SOItemDetails(); clsDetails.SOID = SOID; clsDetails.ProductID = Convert.ToInt64(dr["ProductID"]); clsDetails.ProductCode = dr["ProductCode"].ToString(); clsDetails.BarCode = dr["BarCode"].ToString(); clsDetails.Description = dr["ProductDesc"].ToString(); clsDetails.ProductGroup = dr["ProductGroupCode"].ToString(); clsDetails.ProductSubGroup = dr["ProductSubGroupCode"].ToString(); clsDetails.ProductUnitID = Convert.ToInt32(dr["UnitID"]); clsDetails.ProductUnitCode = dr["UnitName"].ToString(); clsDetails.Quantity = Convert.ToDecimal(dr["ReorderQty"]); clsDetails.UnitCost = Convert.ToDecimal(dr["Price"]); clsDetails.Discount = 0; clsDetails.DiscountApplied = 0; clsDetails.DiscountType = DiscountTypes.Percentage; clsDetails.Remarks = "added using auto generation"; decimal amount = clsDetails.Quantity * clsDetails.UnitCost; if (Convert.ToDecimal(dr["VAT"]) > 0) { clsDetails.VatableAmount = amount; clsDetails.EVatableAmount = amount; clsDetails.LocalTax = amount; clsDetails.VAT = clsDetails.VatableAmount * (clsTerminalDetails.VAT / 100); clsDetails.EVAT = clsDetails.EVatableAmount * (clsTerminalDetails.EVAT / 100); clsDetails.LocalTax = clsDetails.LocalTax * (clsTerminalDetails.LocalTax / 100); clsDetails.IsVatable = true; } else { clsDetails.VAT = 0; clsDetails.VatableAmount = 0; clsDetails.EVAT = 0; clsDetails.EVatableAmount = 0; clsDetails.LocalTax = 0; clsDetails.IsVatable = false; } clsDetails.Amount = amount + clsDetails.VAT; System.Data.DataTable dtmatrix = clsProductVariationsMatrix.ForReorder(clsDetails.ProductID, clsSODetails.CustomerID); if (dtmatrix.Rows.Count > 0) foreach (System.Data.DataRow drmatrix in dtmatrix.Rows) { amount = clsDetails.Quantity * clsDetails.UnitCost; clsDetails.ProductUnitID = Convert.ToInt32(drmatrix["UnitID"]); clsDetails.ProductUnitCode = drmatrix["UnitName"].ToString(); clsDetails.Quantity = Convert.ToDecimal(drmatrix["ReorderQty"]); clsDetails.UnitCost = Convert.ToDecimal(drmatrix["Price"]); if (Convert.ToDecimal(drmatrix["VAT"]) > 0) { clsDetails.VatableAmount = amount; clsDetails.EVatableAmount = amount; clsDetails.LocalTax = amount; clsDetails.VAT = clsDetails.VatableAmount * (clsTerminalDetails.VAT / 100); clsDetails.EVAT = clsDetails.EVatableAmount * (clsTerminalDetails.EVAT / 100); clsDetails.LocalTax = clsDetails.LocalTax * (clsTerminalDetails.LocalTax / 100); clsDetails.IsVatable = true; } else { clsDetails.VAT = 0; clsDetails.VatableAmount = 0; clsDetails.EVAT = 0; clsDetails.EVatableAmount = 0; clsDetails.LocalTax = 0; clsDetails.IsVatable = false; } clsDetails.Amount = amount + clsDetails.VAT; clsDetails.VariationMatrixID = Convert.ToInt64(drmatrix["MatrixID"]); clsDetails.MatrixDescription = drmatrix["VariationDesc"].ToString(); clsSOItem.Insert(clsDetails); } else { clsDetails.VariationMatrixID = 0; clsDetails.MatrixDescription = string.Empty; clsSOItem.Insert(clsDetails); } } } catch (Exception ex) { throw base.ThrowException(ex); } }
protected void cboProductCode_SelectedIndexChanged(object sender, System.EventArgs e) { if (cboProductCode.Items.Count == 0) return; if (cboProductCode.Items.Count == 1 && cboProductCode.SelectedValue == Constants.ZERO_STRING) return; DataClass clsDataClass = new DataClass(); long ProductID = Convert.ToInt64(cboProductCode.SelectedItem.Value); ProductVariationsMatrix clsProductVariationsMatrix = new ProductVariationsMatrix(); cboVariation.DataTextField = "MatrixDescription"; cboVariation.DataValueField = "MatrixID"; cboVariation.DataSource = clsProductVariationsMatrix.BaseListSimpleAsDataTable(ProductID, SortField: "VariationDesc").DefaultView; cboVariation.DataBind(); if (cboVariation.Items.Count == 0) { cboVariation.Items.Add(new ListItem("No Variation", "0")); } cboVariation.SelectedIndex = cboVariation.Items.Count - 1; ProductUnitsMatrix clsUnitMatrix = new ProductUnitsMatrix(clsProductVariationsMatrix.Connection, clsProductVariationsMatrix.Transaction); cboProductUnit.DataTextField = "BottomUnitCode"; cboProductUnit.DataValueField = "BottomUnitID"; cboProductUnit.DataSource = clsUnitMatrix.ListAsDataTable(ProductID,"a.MatrixID",SortOption.Ascending).DefaultView; cboProductUnit.DataBind(); Products clsProduct = new Products(clsProductVariationsMatrix.Connection, clsProductVariationsMatrix.Transaction); ProductDetails clsDetails = clsProduct.Details(ProductID, MatrixID: Int64.Parse(cboVariation.SelectedItem.Value)); clsProductVariationsMatrix.CommitAndDispose(); cboProductUnit.Items.Insert(0, new ListItem(clsDetails.BaseUnitCode, clsDetails.BaseUnitID.ToString())); cboProductUnit.SelectedIndex = cboProductUnit.Items.IndexOf(new ListItem(clsDetails.BaseUnitCode, clsDetails.BaseUnitID.ToString())); txtPrevPrice.Text = clsDetails.PurchasePrice.ToString("#####0.#0"); txtPrice.Text = clsDetails.PurchasePrice.ToString("#####0.#0"); if (clsDetails.VAT >0) chkIsTaxable.Checked = true; else chkIsTaxable.Checked = false; ComputeItemAmount(); cboVariation_SelectedIndexChanged(null, null); }
protected void cboProductCode_SelectedIndexChanged(object sender, EventArgs e) { try { if (cboProductCode.SelectedItem.Text == "No product") { imgProductHistory.Visible = false; imgProductPriceHistory.Visible = false; imgInventoryAdjustment.Visible = false; imgEditNow.Visible = false; cboVariation.Items.Clear(); cboVariation.Items.Insert(0, new ListItem("No Product", "0")); cboVariation.SelectedIndex = 0; } else { imgProductHistory.Visible = true; imgProductPriceHistory.Visible = true; imgInventoryAdjustment.Visible = true; imgEditNow.Visible = true; txtProductCode.Text = cboProductCode.SelectedItem.Text; Int64 ProductID = Int64.Parse(cboProductCode.SelectedItem.Value); ProductVariationsMatrix clsProductVariationsMatrix = new ProductVariationsMatrix(); cboVariation.DataTextField = "MatrixDescription"; cboVariation.DataValueField = "MatrixID"; cboVariation.DataSource = clsProductVariationsMatrix.BaseListSimpleAsDataTable(ProductID, SortField: "VariationDesc").DefaultView; cboVariation.DataBind(); cboVariation.Items.Insert(0, new ListItem("Main Product", "0")); cboVariation.Items.Insert(0, new ListItem(Constants.ALL, "-1")); cboVariation.SelectedIndex = 0; } } catch { } }
protected void imgVariationQuickAdd_Click(object sender, System.Web.UI.ImageClickEventArgs e) { try { long.Parse(cboProductCode.SelectedItem.Value); if (txtVariation.Text != null || txtVariation.Text.Trim() != string.Empty || txtVariation.Text.Trim() != "") { Security.AccessUserDetails clsAccessUserDetails = (Security.AccessUserDetails)Session["AccessUserDetails"]; ProductVariationsMatrix clsProductVariationsMatrix = new ProductVariationsMatrix(); clsProductVariationsMatrix.InsertBaseVariationEasy(long.Parse(cboProductCode.SelectedItem.Value), txtVariation.Text, clsAccessUserDetails.Name); clsProductVariationsMatrix.CommitAndDispose(); cmdVariationSearch_Click(null, null); } } catch { } }
private void ExportToFile() { DataClass clsDataClass = new DataClass(); PO clsPO = new PO(); PODetails clsPODetails = clsPO.Details(long.Parse(lblPOID.Text)); POItem clsPOItem = new POItem(clsPO.Connection, clsPO.Transaction); DataTable dtaPOItems = clsPOItem.ListAsDataTable(clsPODetails.POID, null, SortOption.Ascending); Branch clsBranch = new Branch(clsPO.Connection, clsPO.Transaction); BranchDetails clsBranchDetails; Contacts clsContact = new Contacts(clsPO.Connection, clsPO.Transaction); ContactDetails clsContactDetails; Products clsProduct = new Products(clsPO.Connection, clsPO.Transaction); ProductDetails clsProductDetails; ProductVariations clsProductVariation = new ProductVariations(clsPO.Connection, clsPO.Transaction); DataTable dtaProductVariation; ProductVariationsMatrix clsProductVariationsMatrix = new ProductVariationsMatrix(clsPO.Connection, clsPO.Transaction); DataTable dtaProductVariationsMatrix; string xmlFileName = Server.MapPath(@"\RetailPlus\temp\" + lblBranchCode.Text.Replace(" ", "").Trim() + "_" + clsPODetails.PONo + "_" + clsPODetails.PODate.ToString("yyyyMMddHHmmssffff") + ".xml"); XmlTextWriter writer = new XmlTextWriter(xmlFileName, System.Text.Encoding.UTF8); writer.Formatting = Formatting.Indented; writer.WriteStartDocument(); writer.WriteComment("This file represents the Purchase Order Details of PO No: '" + clsPODetails.PONo + "' for " + lblBranchCode.Text + " branch."); writer.WriteComment("Save this in your local file. Goto 'File', click 'Save As', select the location in your local directory, click 'Save'."); writer.WriteStartElement("PODetails"); writer.WriteAttributeString("POID", XmlConvert.ToString(clsPODetails.POID)); writer.WriteAttributeString("PONo", clsPODetails.PONo); writer.WriteAttributeString("PODate", clsPODetails.PODate.ToString("MM/dd/yyyy HH:mm:ss")); /******Supplier information******/ clsContactDetails = clsContact.Details(clsPODetails.SupplierID); writer.WriteAttributeString("SupplierID", XmlConvert.ToString(clsContactDetails.ContactID)); writer.WriteAttributeString("SupplierCode", clsContactDetails.ContactCode); writer.WriteAttributeString("SupplierName", clsContactDetails.ContactName); writer.WriteAttributeString("SupplierContact", clsContactDetails.BusinessName); writer.WriteAttributeString("SupplierAddress", clsPODetails.SupplierAddress); writer.WriteAttributeString("SupplierTelephoneNo", clsPODetails.SupplierTelephoneNo); writer.WriteAttributeString("SupplierModeOfTerms", XmlConvert.ToString(clsPODetails.SupplierModeOfTerms)); writer.WriteAttributeString("SupplierTerms", XmlConvert.ToString(clsPODetails.SupplierTerms)); writer.WriteAttributeString("SupplierContactGroupName", clsContactDetails.ContactGroupName); /******End Of Supplier Information******/ writer.WriteAttributeString("RequiredDeliveryDate", clsPODetails.RequiredDeliveryDate.ToString("MM/dd/yyyy HH:mm:ss")); /******Branch & Purchaser Information******/ clsBranchDetails = clsBranch.Details(short.Parse(clsPODetails.BranchID.ToString())); writer.WriteAttributeString("BranchID", XmlConvert.ToString(clsPODetails.BranchID)); writer.WriteAttributeString("BranchCode", clsPODetails.BranchCode); writer.WriteAttributeString("BranchName", clsPODetails.BranchName); writer.WriteAttributeString("BranchAddress", clsPODetails.BranchAddress); writer.WriteAttributeString("BranchDBIP", clsBranchDetails.DBIP); writer.WriteAttributeString("BranchDBPort", clsBranchDetails.DBPort); writer.WriteAttributeString("BranchRemarks", clsBranchDetails.Remarks); writer.WriteAttributeString("PurchaserID", clsPODetails.PurchaserID.ToString()); writer.WriteAttributeString("PurchaserName", clsPODetails.PurchaserName); /******End Of Branch & Purchaser Information******/ /******Amount Information******/ writer.WriteAttributeString("SubTotal", XmlConvert.ToString(clsPODetails.SubTotal)); writer.WriteAttributeString("Discount", XmlConvert.ToString(clsPODetails.Discount)); writer.WriteAttributeString("DiscountApplied", XmlConvert.ToString(clsPODetails.DiscountApplied)); writer.WriteAttributeString("DiscountType", clsPODetails.DiscountType.ToString("d")); writer.WriteAttributeString("VAT", XmlConvert.ToString(clsPODetails.VAT)); writer.WriteAttributeString("VatableAmount", XmlConvert.ToString(clsPODetails.VatableAmount)); writer.WriteAttributeString("EVAT", XmlConvert.ToString(clsPODetails.EVAT)); writer.WriteAttributeString("EVatableAmount", XmlConvert.ToString(clsPODetails.EVatableAmount)); writer.WriteAttributeString("LocalTax", XmlConvert.ToString(clsPODetails.LocalTax)); writer.WriteAttributeString("Freight", XmlConvert.ToString(clsPODetails.Freight)); writer.WriteAttributeString("Deposit", XmlConvert.ToString(clsPODetails.Deposit)); writer.WriteAttributeString("UnpaidAmount", XmlConvert.ToString(clsPODetails.UnpaidAmount)); writer.WriteAttributeString("PaidAmount", XmlConvert.ToString(clsPODetails.PaidAmount)); writer.WriteAttributeString("TotalItemDiscount", XmlConvert.ToString(clsPODetails.TotalItemDiscount)); writer.WriteAttributeString("Status", clsPODetails.Status.ToString("d")); writer.WriteAttributeString("Remarks", clsPODetails.Remarks); writer.WriteAttributeString("SupplierDRNo", clsPODetails.SupplierDRNo); writer.WriteAttributeString("DeliveryDate", clsPODetails.DeliveryDate.ToString("MM/dd/yyyy HH:mm:ss")); writer.WriteAttributeString("CancelledDate", clsPODetails.CancelledDate.ToString("MM/dd/yyyy HH:mm:ss")); writer.WriteAttributeString("CancelledRemarks", clsPODetails.CancelledRemarks); writer.WriteAttributeString("CancelledByID", XmlConvert.ToString(clsPODetails.CancelledByID)); /******End Of Branch Information******/ foreach (DataRow row in dtaPOItems.Rows) { clsProductDetails = new ProductDetails(); clsProductDetails = clsProduct.Details(Convert.ToInt64(row["ProductID"].ToString())); writer.WriteStartElement("POItem"); writer.WriteAttributeString("POItemID", row["POItemID"].ToString()); writer.WriteAttributeString("POID", row["POID"].ToString()); writer.WriteAttributeString("ProductID", row["ProductID"].ToString()); /*****Product Information*****/ writer.WriteAttributeString("ProductCode", clsProductDetails.ProductCode); writer.WriteAttributeString("BarCode", clsProductDetails.BarCode); writer.WriteAttributeString("ProductDesc", clsProductDetails.ProductDesc); writer.WriteAttributeString("MatrixDescription", row["MatrixDescription"].ToString()); writer.WriteAttributeString("ProductSubGroupID", clsProductDetails.ProductSubGroupID.ToString()); writer.WriteAttributeString("ProductSubGroupCode", clsProductDetails.ProductSubGroupCode); writer.WriteAttributeString("ProductSubGroupName", clsProductDetails.ProductSubGroupName); writer.WriteAttributeString("ProductGroupID", clsProductDetails.ProductGroupID.ToString()); writer.WriteAttributeString("ProductGroupCode", clsProductDetails.ProductGroupCode); writer.WriteAttributeString("ProductGroupName", clsProductDetails.ProductGroupName); writer.WriteAttributeString("BaseUnitID", clsProductDetails.BaseUnitID.ToString()); writer.WriteAttributeString("BaseUnitCode", clsProductDetails.BaseUnitCode); writer.WriteAttributeString("BaseUnitName", clsProductDetails.BaseUnitName); writer.WriteAttributeString("DateCreated", clsProductDetails.DateCreated.ToString("MM/dd/yy HH:mm:ss")); writer.WriteAttributeString("Deleted", clsProductDetails.Deleted.ToString()); writer.WriteAttributeString("Price", clsProductDetails.Price.ToString()); writer.WriteAttributeString("PurchasePrice", clsProductDetails.PurchasePrice.ToString()); writer.WriteAttributeString("IncludeInSubtotalDiscount", clsProductDetails.IncludeInSubtotalDiscount.ToString()); writer.WriteAttributeString("VAT", clsProductDetails.VAT.ToString()); writer.WriteAttributeString("EVAT", clsProductDetails.EVAT.ToString()); writer.WriteAttributeString("LocalTax", clsProductDetails.LocalTax.ToString()); writer.WriteAttributeString("Quantity", clsProductDetails.Quantity.ToString()); writer.WriteAttributeString("MinThreshold", clsProductDetails.MinThreshold.ToString()); writer.WriteAttributeString("MaxThreshold", clsProductDetails.MaxThreshold.ToString()); writer.WriteAttributeString("ChartOfAccountIDPurchase", clsProductDetails.ChartOfAccountIDPurchase.ToString()); writer.WriteAttributeString("ChartOfAccountIDSold", clsProductDetails.ChartOfAccountIDSold.ToString()); writer.WriteAttributeString("ChartOfAccountIDInventory", clsProductDetails.ChartOfAccountIDInventory.ToString()); writer.WriteAttributeString("ChartOfAccountIDTaxPurchase", clsProductDetails.ChartOfAccountIDTaxPurchase.ToString()); writer.WriteAttributeString("ChartOfAccountIDTaxSold", clsProductDetails.ChartOfAccountIDTaxSold.ToString()); writer.WriteAttributeString("IsItemSold", clsProductDetails.IsItemSold.ToString()); writer.WriteAttributeString("WillPrintProductComposition", clsProductDetails.WillPrintProductComposition.ToString()); writer.WriteAttributeString("UpdatedBy", clsProductDetails.UpdatedBy.ToString()); writer.WriteAttributeString("UpdatedOn", clsProductDetails.UpdatedOn.ToString("MM/dd/yyyy HH:mm")); writer.WriteAttributeString("PercentageCommision", clsProductDetails.PercentageCommision.ToString()); writer.WriteAttributeString("Active", clsProductDetails.Active.ToString()); /*****End Of Product Information*****/ writer.WriteAttributeString("ItemProductGroup", row["ProductGroup"].ToString()); writer.WriteAttributeString("ItemProductSubGroup", row["ProductSubGroup"].ToString()); writer.WriteAttributeString("ItemVariationMatrixID", row["VariationMatrixID"].ToString()); writer.WriteAttributeString("ItemBaseVariationDescription", row["MatrixDescription"].ToString()); writer.WriteAttributeString("ItemProductUnitID", row["ProductUnitID"].ToString()); writer.WriteAttributeString("ItemProductUnitCode", row["ProductUnitCode"].ToString()); writer.WriteAttributeString("ItemQuantity", row["Quantity"].ToString()); writer.WriteAttributeString("ItemUnitCost", row["UnitCost"].ToString()); writer.WriteAttributeString("ItemDiscount", row["Discount"].ToString()); writer.WriteAttributeString("ItemDiscountApplied", row["DiscountApplied"].ToString()); writer.WriteAttributeString("ItemDiscountType", row["DiscountType"].ToString()); writer.WriteAttributeString("ItemAmount", row["Amount"].ToString()); writer.WriteAttributeString("ItemVAT", row["VAT"].ToString()); writer.WriteAttributeString("ItemVatableAmount", row["VatableAmount"].ToString()); writer.WriteAttributeString("ItemEVAT", row["EVAT"].ToString()); writer.WriteAttributeString("ItemEVatableAmount", row["EVatableAmount"].ToString()); writer.WriteAttributeString("ItemLocalTax", row["LocalTax"].ToString()); writer.WriteAttributeString("ItemisVATInclusive", row["isVATInclusive"].ToString()); writer.WriteAttributeString("ItemPOItemStatus", row["POItemStatus"].ToString()); writer.WriteAttributeString("ItemIsVatable", row["IsVatable"].ToString()); writer.WriteAttributeString("ItemSellingPrice", row["SellingPrice"].ToString()); writer.WriteAttributeString("ItemSellingVAT", row["SellingVAT"].ToString()); writer.WriteAttributeString("ItemSellingEVAT", row["SellingEVAT"].ToString()); writer.WriteAttributeString("ItemSellingLocalTax", row["SellingLocalTax"].ToString()); writer.WriteAttributeString("ItemOldSellingPrice", row["OldSellingPrice"].ToString()); writer.WriteAttributeString("ItemRemarks", row["Remarks"].ToString()); dtaProductVariation = clsProductVariation.ListAsDataTable(clsProductDetails.ProductID, null, System.Data.SqlClient.SortOrder.Ascending); foreach (DataRow rowVariation in dtaProductVariation.Rows) { writer.WriteStartElement("Variation", null); writer.WriteAttributeString("VariationCode", rowVariation["VariationCode"].ToString()); writer.WriteAttributeString("VariationType", rowVariation["VariationType"].ToString()); writer.WriteEndElement(); } dtaProductVariationsMatrix = clsProductVariationsMatrix.ProductVariationsMatrixListAsDataTable(long.Parse(row["VariationMatrixID"].ToString()), null, System.Data.SqlClient.SortOrder.Ascending); foreach (DataRow rowVariationsMatrix in dtaProductVariationsMatrix.Rows) { writer.WriteStartElement("VariationMatrix", null); writer.WriteAttributeString("MatriXID", rowVariationsMatrix["MatriXID"].ToString()); writer.WriteAttributeString("VariationID", rowVariationsMatrix["VariationID"].ToString()); writer.WriteAttributeString("Description", rowVariationsMatrix["Description"].ToString()); writer.WriteAttributeString("VariationCode", rowVariationsMatrix["VariationCode"].ToString()); writer.WriteAttributeString("VariationType", rowVariationsMatrix["VariationType"].ToString()); writer.WriteEndElement(); } writer.WriteEndElement(); } writer.WriteEndElement(); //Write the XML to file and close the writer writer.Flush(); writer.Close(); clsPO.CommitAndDispose(); string stScript = "<Script>"; stScript += "window.open('/RetailPlus/temp/" + lblBranchCode.Text.Replace(" ", "").Trim() + "_" + clsPODetails.PONo + "_" + clsPODetails.PODate.ToString("yyyyMMddHHmmssffff") + ".xml')"; stScript += "</Script>"; Response.Write(stScript); }
private void SelectItem() { ListView.SelectedListViewItemCollection items = this.lstItems.SelectedItems; foreach (ListViewItem item in items) { mDetails.VariationsMatrixID = Convert.ToInt64(item.SubItems[0].Name); break; } ProductVariationsMatrix clsProductVariationsMatrix = new ProductVariationsMatrix(); ProductBaseVariationsMatrixDetails clsDetails = new ProductBaseVariationsMatrixDetails(); // clsProductVariationsMatrix.BaseDetailsByMatrixID(mDetails.VariationsMatrixID); clsProductVariationsMatrix.CommitAndDispose(); if (mDetails.VariationsMatrixID != 0) { mDetails.MatrixDescription = clsDetails.Description; mDetails.ProductUnitID = clsDetails.UnitID; mDetails.ProductUnitCode = clsDetails.UnitCode; mDetails.Price = clsDetails.Price; mDetails.VAT = clsDetails.VAT; mDetails.LocalTax = clsDetails.LocalTax; mDetails.Amount = (mDetails.Quantity * mDetails.Price) - (mDetails.Quantity * mDetails.Discount); mDetails.PurchasePrice = clsDetails.PurchasePrice; mDetails.PurchaseAmount = mDetails.Quantity * mDetails.PurchasePrice; mDetails.IncludeInSubtotalDiscount = clsDetails.IncludeInSubtotalDiscount; } dialog = DialogResult.OK; this.Hide(); }
protected void imgVariationQuickAdd_Click(object sender, System.Web.UI.ImageClickEventArgs e) { try { if (!string.IsNullOrEmpty(txtVariation.Text)) { DateTime dteExpiration = Constants.C_DATE_MIN_VALUE; string LotNo = ""; if (Session[Constants.SYS_CONFIG_BACKEND_VARIATION_TYPE].ToString() == Constants.SYS_CONFIG_BACKEND_VARIATION_TYPE_EXPIRATION_LOTNO) { string javaScript = ""; string[] variation = txtVariation.Text.Split(';'); if (!DateTime.TryParse(variation[0], out dteExpiration)) { javaScript = "window.alert('Please enter a valid expiration date in YYYY-MM-DD format. Variation format must be: EXPIRATION;LOTNO');"; System.Web.UI.ScriptManager.RegisterClientScriptBlock(this.updPrint, this.updPrint.GetType(), "openwindow", javaScript, true); return; } if (variation.Length == 1) { javaScript = "window.alert('Please enter a valid LOTNO, it must not be blank. If there is no LOTNO please enter NA.');"; System.Web.UI.ScriptManager.RegisterClientScriptBlock(this.updPrint, this.updPrint.GetType(), "openwindow", javaScript, true); return; } LotNo = variation[1]; if (string.IsNullOrEmpty(LotNo)) { javaScript = "window.alert('Please enter a valid LOTNO, it must not be blank. If there is no LOTNO please enter NA.');"; System.Web.UI.ScriptManager.RegisterClientScriptBlock(this.updPrint, this.updPrint.GetType(), "openwindow", javaScript, true); return; } } long lngProdductID = long.Parse(cboProductCode.SelectedItem.Value); Security.AccessUserDetails clsAccessUserDetails = (Security.AccessUserDetails)Session["AccessUserDetails"]; ProductVariationsMatrix clsProductVariationsMatrix = new ProductVariationsMatrix(); long lngMatrixID = clsProductVariationsMatrix.InsertBaseVariationEasy(long.Parse(cboProductCode.SelectedItem.Value), txtVariation.Text, clsAccessUserDetails.Name); if (Session[Constants.SYS_CONFIG_BACKEND_VARIATION_TYPE].ToString() == Constants.SYS_CONFIG_BACKEND_VARIATION_TYPE_EXPIRATION_LOTNO) { ProductVariationsMatrixDetails clsDetails; clsDetails = new ProductVariationsMatrixDetails(); clsDetails.MatrixID = lngMatrixID; clsDetails.ProductID = lngProdductID; // save the expiration clsDetails.VariationID = long.Parse(CONSTANT_VARIATIONS.EXPIRATION.ToString("d")); clsDetails.Description = dteExpiration.ToString("yyyy-MM-dd"); clsProductVariationsMatrix.SaveVariation(clsDetails); // save the lotno clsDetails.VariationID = long.Parse(CONSTANT_VARIATIONS.LOTNO.ToString("d")); clsDetails.Description = LotNo; clsProductVariationsMatrix.SaveVariation(clsDetails); } clsProductVariationsMatrix.CommitAndDispose(); cmdVariationSearch_Click(null, null); } } catch{} }
public void Update(MatrixPackageDetails Details, long pvtUID, DateTime pvtChangeDate, string pvtHistoryRemarks) { try { // Update MatrixPackagePriceHistory first to get the history MatrixPackagePriceHistoryDetails clsMatrixPackagePriceHistoryDetails = new MatrixPackagePriceHistoryDetails(); clsMatrixPackagePriceHistoryDetails.UID = pvtUID; clsMatrixPackagePriceHistoryDetails.PackageID = Details.PackageID; clsMatrixPackagePriceHistoryDetails.ChangeDate = pvtChangeDate; clsMatrixPackagePriceHistoryDetails.PurchasePrice = Details.PurchasePrice; clsMatrixPackagePriceHistoryDetails.Price = Details.Price; clsMatrixPackagePriceHistoryDetails.VAT = Details.VAT; clsMatrixPackagePriceHistoryDetails.EVAT = Details.EVAT; clsMatrixPackagePriceHistoryDetails.LocalTax = Details.LocalTax; clsMatrixPackagePriceHistoryDetails.Remarks = pvtHistoryRemarks; MatrixPackagePriceHistory clsMatrixPackagePriceHistory = new MatrixPackagePriceHistory(base.Connection, base.Transaction); clsMatrixPackagePriceHistory.Insert(clsMatrixPackagePriceHistoryDetails); string SQL = "CALL procMatrixPackageUpdate(@PackageID, @MatrixID, @UnitID, @Price, @WSPrice, @PurchasePrice, @Quantity, @VAT, @EVAT, @LocalTax);"; MySqlCommand cmd = new MySqlCommand(); cmd.CommandType = System.Data.CommandType.Text; cmd.CommandText = SQL; cmd.Parameters.AddWithValue("@PackageID", Details.PackageID); cmd.Parameters.AddWithValue("@MatrixID", Details.MatrixID); cmd.Parameters.AddWithValue("@UnitID", Details.UnitID); cmd.Parameters.AddWithValue("@Price", Details.Price); cmd.Parameters.AddWithValue("@WSPrice", Details.WSPrice); cmd.Parameters.AddWithValue("@PurchasePrice", Details.PurchasePrice); cmd.Parameters.AddWithValue("@Quantity", Details.Quantity); cmd.Parameters.AddWithValue("@VAT", Details.VAT); cmd.Parameters.AddWithValue("@EVAT", Details.EVAT); cmd.Parameters.AddWithValue("@LocalTax", Details.LocalTax); base.ExecuteNonQuery(cmd); if (Details.Quantity == 1) { ProductVariationsMatrix clsProductVariationsMatrix = new ProductVariationsMatrix(base.Connection, base.Transaction); //clsProductVariationsMatrix.UpdateByPackage(Details.MatrixID, Details.UnitID, Details.Price, Details.WSPrice, Details.PurchasePrice, Details.VAT, Details.EVAT, Details.LocalTax); } } catch (Exception ex) { throw base.ThrowException(ex); } }
private void SubtractItemFromInventory(long TransferOutID) { TransferOutDetails clsTransferOutDetails = Details(TransferOutID); ERPConfig clsERPConfig = new ERPConfig(base.Connection, base.Transaction); ERPConfigDetails clsERPConfigDetails = clsERPConfig.Details(); TransferOutItem clsTransferOutItem = new TransferOutItem(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 = clsTransferOutItem.ListAsDataTable(TransferOutID, "TransferOutItemID", 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 Purchase Price History // * ****************************************/ //if (lngVariationMatrixID != 0) //{ // // Update MatrixPackagePriceHistory first to get the history // clsMatrixPackagePriceHistoryDetails = new MatrixPackagePriceHistoryDetails(); // clsMatrixPackagePriceHistoryDetails.UID = clsTransferOutDetails.TransferrerID; // clsMatrixPackagePriceHistoryDetails.PackageID = clsMatrixPackage.GetPackageID(lngVariationMatrixID, intProductUnitID); // clsMatrixPackagePriceHistoryDetails.ChangeDate = DateTime.Now; // clsMatrixPackagePriceHistoryDetails.PurchasePrice = (decItemQuantity * decUnitCost) / decQuantity; // clsMatrixPackagePriceHistoryDetails.Price = -1; // clsMatrixPackagePriceHistoryDetails.VAT = -1; // clsMatrixPackagePriceHistoryDetails.EVAT = -1; // clsMatrixPackagePriceHistoryDetails.LocalTax = -1; // clsMatrixPackagePriceHistoryDetails.Remarks = "Based on TransferOut #: " + clsTransferOutDetails.TransferOutNo; // MatrixPackagePriceHistory clsMatrixPackagePriceHistory = new MatrixPackagePriceHistory(base.Connection, base.Transaction); // clsMatrixPackagePriceHistory.Insert(clsMatrixPackagePriceHistoryDetails); //} //else //{ // // Update ProductPackagePriceHistory first to get the history // clsProductPackagePriceHistoryDetails = new ProductPackagePriceHistoryDetails(); // clsProductPackagePriceHistoryDetails.UID = clsTransferOutDetails.TransferrerID; // clsProductPackagePriceHistoryDetails.PackageID = clsProductPackage.GetPackageID(lngProductID, intProductUnitID); // clsProductPackagePriceHistoryDetails.ChangeDate = DateTime.Now; // clsProductPackagePriceHistoryDetails.PurchasePrice = (decItemQuantity * decUnitCost) / decQuantity; // clsProductPackagePriceHistoryDetails.Price = -1; // clsProductPackagePriceHistoryDetails.VAT = -1; // clsProductPackagePriceHistoryDetails.EVAT = -1; // clsProductPackagePriceHistoryDetails.LocalTax = -1; // clsProductPackagePriceHistoryDetails.Remarks = "Based on TransferOut #: " + clsTransferOutDetails.TransferOutNo; // 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.SubtractQuantity(clsTransferOutDetails.BranchID, lngProductID, lngVariationMatrixID, decQuantity, Products.getPRODUCT_INVENTORY_MOVEMENT_VALUE(PRODUCT_INVENTORY_MOVEMENT.DEDUCT_TRANSFER_OUT), DateTime.Now, clsTransferOutDetails.TransferOutNo, clsTransferOutDetails.TransferrerName); ///******************************************* // * Update Purchasing Information // * ****************************************/ //clsProduct.UpdatePurchasing(lngProductID, clsTransferOutDetails.SupplierID, intProductUnitID, (decItemQuantity * decUnitCost) / decQuantity); //if (lngVariationMatrixID != 0) //{ // clsProductVariationsMatrix.UpdatePurchasing(lngVariationMatrixID, clsTransferOutDetails.SupplierID, intProductUnitID, (decItemQuantity * decUnitCost) / decQuantity); //} /******************************************* * Add to Inventory Analysis * ****************************************/ clsInventoryDetails = new InventoryDetails(); clsInventoryDetails.PostingDateFrom = clsERPConfigDetails.PostingDateFrom; clsInventoryDetails.PostingDateTo = clsERPConfigDetails.PostingDateTo; clsInventoryDetails.PostingDate = clsTransferOutDetails.DeliveryDate; clsInventoryDetails.ReferenceNo = clsTransferOutDetails.TransferOutNo; clsInventoryDetails.ContactID = clsTransferOutDetails.SupplierID; clsInventoryDetails.ContactCode = clsTransferOutDetails.SupplierCode; clsInventoryDetails.ProductID = lngProductID; clsInventoryDetails.ProductCode = strProductCode; clsInventoryDetails.VariationMatrixID = lngVariationMatrixID; clsInventoryDetails.MatrixDescription = strMatrixDescription; clsInventoryDetails.TransferOutQuantity = decQuantity; clsInventoryDetails.TransferOutCost = decItemCost - decVAT; clsInventoryDetails.TransferOutVAT = decItemCost; // TransferOut Cost with VAT clsInventory.Insert(clsInventoryDetails); /******************************************* * Added April 28, 2010 4:20PM * Update Selling Information when TransferOut is posted * ****************************************/ //clsProduct.UpdateSellingIncludingAllMatrixWithSameQuantityAndUnit(lngProductID, clsTransferOutDetails.SupplierID, intProductUnitID, decimal.Parse(myReader["SellingPrice"); //if (lngVariationMatrixID != 0) //{ // clsProductVariationsMatrix.UpdateSellingWithSameQuantityAndUnit(lngVariationMatrixID, clsPODetails.SupplierID, intProductUnitID, decimal.Parse(myReader["SellingPrice"); //} /******************************************* * Added April 28, 2010 4:20PM * Update the purchase price history to check who has the lowest price. * ****************************************/ //ProductPurchasePriceHistoryDetails clsProductPurchasePriceHistoryDetails = new ProductPurchasePriceHistoryDetails(); //clsProductPurchasePriceHistoryDetails.ProductID = lngProductID; //clsProductPurchasePriceHistoryDetails.MatrixID = lngVariationMatrixID; //clsProductPurchasePriceHistoryDetails.SupplierID = clsTransferOutDetails.SupplierID; //clsProductPurchasePriceHistoryDetails.PurchasePrice = decUnitCost; //clsProductPurchasePriceHistoryDetails.PurchaseDate = clsTransferOutDetails.TransferOutDate; //clsProductPurchasePriceHistoryDetails.Remarks = clsTransferOutDetails.TransferOutNo; //ProductPurchasePriceHistory clsProductPurchasePriceHistory = new ProductPurchasePriceHistory(base.Connection, base.Transaction); //clsProductPurchasePriceHistory.AddToList(clsProductPurchasePriceHistoryDetails); } }