Example #1
0
        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.");
            }
        }
Example #2
0
        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);
        }