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 Int64 SaveRecord() { ProductSubGroupDetails clsDetails = new ProductSubGroupDetails(); clsDetails.ProductGroupID = Convert.ToInt32(cboGroup.SelectedItem.Value); clsDetails.ProductSubGroupCode = txtProductSubGroupCode.Text; clsDetails.ProductSubGroupName = txtProductSubGroupName.Text; clsDetails.BaseUnitID = Convert.ToInt32(cboProductSubGroupUnit.SelectedItem.Value); clsDetails.Price = Convert.ToDecimal(txtProductPrice.Text); clsDetails.PurchasePrice = Convert.ToDecimal(txtPurchasePrice.Text); clsDetails.IncludeInSubtotalDiscount = Convert.ToBoolean(chkIncludeInSubtotalDiscount.Checked); clsDetails.VAT = Convert.ToDecimal(txtVAT.Text); clsDetails.EVAT = Convert.ToDecimal(txtEVAT.Text); clsDetails.LocalTax = Convert.ToDecimal(txtLocalTax.Text); clsDetails.SequenceNo = Int32.Parse(txtSequenceNo.Text); clsDetails.ImagePath = lblImagePath.Text; string strfile = ""; string strfolder = "/RetailPlus/temp/uploaded/subgroupimages/"; for (int i = 0; i < Request.Files.Count; i++) { HttpPostedFile pfile = Request.Files[i]; if (pfile.ContentLength > 0) { strfile = Server.MapPath(strfolder + System.IO.Path.GetFileName(pfile.FileName)); if (!System.IO.Directory.Exists(Server.MapPath(strfolder))) { System.IO.Directory.CreateDirectory(Server.MapPath(strfolder)); } if (System.IO.File.Exists(strfile)) { System.IO.File.Delete(strfile); } pfile.SaveAs(strfile); clsDetails.ImagePath = pfile.FileName; } } ProductSubGroup clsProductSubGroup = new ProductSubGroup(); Int64 id = clsProductSubGroup.Insert(clsDetails); clsDetails.ProductSubGroupID = id; if (chkVariations.Checked == true) { clsProductSubGroup.InheritGroupVariations(clsDetails.ProductGroupID, clsDetails.ProductSubGroupID); } if (chkVariationsMatrix.Checked == true) { if (chkVariations.Checked == false) { clsProductSubGroup.InheritGroupVariations(clsDetails.ProductGroupID, clsDetails.ProductSubGroupID); } clsProductSubGroup.InheritGroupVariationsMatrix(clsDetails.ProductGroupID, clsDetails.ProductSubGroupID); } if (chkUnitMatrix.Checked == true) { clsProductSubGroup.InheritGroupUnitMatrix(clsDetails.ProductGroupID, clsDetails.ProductSubGroupID); } clsProductSubGroup.CommitAndDispose(); return(id); }