Esempio n. 1
0
        private void SaveProduct()
        {
            if (Page.IsValid)
            {
                {
                    long   id        = long.Parse(((TextBox)ProductTable.FindControl("TxtId")).Text);
                    string sqlString = "SELECT ID FROM CATALOGPRODUCTS WHERE ID = " + id;
                    using (DigiDapter dg = new DigiDapter(sqlString))
                    {
                        if (!dg.HasRows)
                        {
                        }
                        dg.Add("CATEGORY", ((TextBox)ProductTable.FindControl("TxtIdCategory")).Text);
                        dg.Add("CODE", ((TextBox)ProductTable.FindControl("TxtCode")).Text);
                        dg.Add("SHORTDESCRIPTION", ((TextBox)ProductTable.FindControl("TxtShortDescription")).Text);
                        dg.Add("LONGDESCRIPTION", ((TextBox)ProductTable.FindControl("TxtLongDescription")).Text);
                        dg.Add("UNIT", ((TextBox)ProductTable.FindControl("TxtUnit")).Text);
                        dg.Add("QTA", StaticFunctions.FixDecimal(((TextBox)ProductTable.FindControl("TxtQta")).Text));
                        if (((TextBox)ProductTable.FindControl("TxtQtaBlister")).Text.Length > 0)
                        {
                            dg.Add("QTABLISTER", StaticFunctions.FixDecimal(((TextBox)ProductTable.FindControl("TxtQtaBlister")).Text));
                        }
                        dg.Add("UNITPRICE", StaticFunctions.FixDecimal(((TextBox)ProductTable.FindControl("TxtUnitPrice")).Text));
                        if (listVat.SelectedIndex > 0)
                        {
                            dg.Add("VAT", StaticFunctions.FixDecimal(listVat.SelectedValue));
                        }

                        if (((TextBox)ProductTable.FindControl("TxtCost")).Text.Length > 0)
                        {
                            dg.Add("COST", StaticFunctions.FixDecimal(((TextBox)ProductTable.FindControl("TxtCost")).Text));
                        }
                        dg.Add("ACTIVE", (RadioActive.SelectedValue == "1"));
                        dg.Add("PUBLISH", (RadioPublish.SelectedValue == "1"));
                        dg.Add("PRINTDESCRIPTION", this.chkPrint.Checked);

                        if (txtPriceExpire.Text.Length > 0)
                        {
                            dg.Add("PriceExpire", UC.LTZ.ToUniversalTime(Convert.ToDateTime(txtPriceExpire.Text)));
                        }
                        else
                        {
                            dg.Add("PriceExpire", DBNull.Value);
                        }

                        dg.Add("Stock", StaticFunctions.FixDecimal(txtStock.Text));

                        Guid   gProductImage       = Guid.NewGuid();
                        Guid   gProductDocument    = Guid.NewGuid();
                        string newFileNameImage    = string.Empty;
                        string newFileNameDocument = string.Empty;
                        if (this.ProductImage.HasFile)
                        {
                            newFileNameImage = gProductImage.ToString() + Path.GetExtension(ProductImage.FileName);
                            dg.Add("IMAGE", newFileNameImage);
                        }
                        if (this.ProductDocument.HasFile)
                        {
                            newFileNameDocument = gProductDocument.ToString() + Path.GetExtension(ProductDocument.FileName);
                            dg.Add("DOCUMENT", newFileNameDocument);
                        }

                        if (newFileNameImage.Length > 0 || newFileNameDocument.Length > 0)
                        {
                            if (FileFunctions.CheckDir(ConfigSettings.DataStoragePath, true))
                            {
                                string pathTemplate;
                                pathTemplate = ConfigSettings.DataStoragePath + Path.DirectorySeparatorChar + "catalog";

                                FileFunctions.CheckDir(pathTemplate, true);
                                if (this.ProductImage.FileName != null && this.ProductImage.FileContent != null)
                                {
                                    this.ProductImage.FileContent.Close();
                                    this.ProductImage.MoveTo(Path.Combine(pathTemplate, newFileNameImage), MoveToOptions.Overwrite);
                                }
                                if (this.ProductDocument.FileName != null && this.ProductDocument.FileContent != null)
                                {
                                    this.ProductDocument.FileContent.Close();
                                    this.ProductDocument.MoveTo(Path.Combine(pathTemplate, newFileNameDocument), MoveToOptions.Overwrite);
                                }
                                InitProgressBar();
                            }
                        }

                        object newid = dg.Execute("CatalogProducts", "id=" + id, DigiDapter.Identities.Identity);

                        if (dg.RecordInserted)
                        {
                            id = Convert.ToInt64(newid);
                        }

                        if (RepOtherList.Items.Count > 0)
                        {
                            string excludelist = "|";
                            foreach (RepeaterItem ri in RepOtherList.Items)
                            {
                                if (!((CheckBox)ri.FindControl("chkListEnable")).Checked)
                                {
                                    excludelist += ((Literal)ri.FindControl("ListId")).Text + "|";
                                }
                                else
                                {
                                    if (!((CheckBox)ri.FindControl("chkListPrice")).Checked)
                                    {
                                        using (DigiDapter dglist = new DigiDapter())
                                        {
                                            dglist.Add("PRODUCTID", id);
                                            dglist.Add("LISTID", ((Literal)ri.FindControl("ListId")).Text);
                                            dglist.Add("UNITPRICE", StaticFunctions.FixDecimal(((TextBox)ri.FindControl("ListUnitPrice")).Text));
                                            if (((DropDownList)ri.FindControl("ListlistVat")).SelectedIndex > 0)
                                            {
                                                dglist.Add("VAT", StaticFunctions.FixDecimal(((DropDownList)ri.FindControl("ListlistVat")).SelectedValue));
                                            }
                                            if (((TextBox)ri.FindControl("ListCost")).Text.Length > 0)
                                            {
                                                dglist.Add("COST", StaticFunctions.FixDecimal(((TextBox)ri.FindControl("ListCost")).Text));
                                            }

                                            dglist.Execute("CATALOGPRODUCTPRICE", "PRODUCTID=" + id + " AND LISTID=" + ((Literal)ri.FindControl("ListId")).Text);
                                        }
                                    }
                                    else
                                    {
                                        DatabaseConnection.DoCommand("DELETE FROM CATALOGPRODUCTPRICE WHERE PRODUCTID=" + id + " AND LISTID=" + ((Literal)ri.FindControl("ListId")).Text);
                                    }
                                }
                            }

                            if (excludelist.Length <= 1)
                            {
                                excludelist = string.Empty;
                            }

                            DatabaseConnection.DoCommand(string.Format("UPDATE CATALOGPRODUCTS SET EXCLUDELIST='{0}' WHERE ID={1}", excludelist, id));
                        }
                    }

                    LblInfo.Text = string.Format(Root.rm.GetString("Captxt15"), ((TextBox)ProductTable.FindControl("TxtShortDescription")).Text);
                    EraseForm();
                }
            }
            else
            {
                LblInfo.Text = Root.rm.GetString("Captxt17");
            }
        }
Esempio n. 2
0
        private void ProductRepeater_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            switch (e.CommandName)
            {
            case "Down":
                Literal FileId = (Literal)e.Item.FindControl("LblID");
                DataSet ds     = DatabaseConnection.CreateDataset("SELECT DOCUMENT FROM CATALOGPRODUCTS WHERE ID=" + int.Parse(FileId.Text));

                string filename;
                filename = ConfigSettings.DataStoragePath + Path.DirectorySeparatorChar + "Catalog" + Path.DirectorySeparatorChar + ds.Tables[0].Rows[0]["Document"].ToString();
                string realFileName = "ProductInfo" + Path.GetExtension(filename);

                string downFile = filename;

                if (File.Exists(downFile))
                {
                    Response.AddHeader("Content-Disposition", "attachment; filename=" + realFileName);
                    Response.ContentType = "application/octet-stream";
                    Response.TransmitFile(downFile);
                    Response.Flush();
                    Response.End();
                    return;
                }
                else if (File.Exists(filename))
                {
                    File.Move(filename, downFile);
                    Response.AddHeader("Content-Disposition", "attachment; filename=" + realFileName);
                    Response.ContentType = "application/octet-stream";
                    Response.TransmitFile(downFile);
                    Response.Flush();
                    Response.End();
                    return;
                }
                else
                {
                    G.SendError("File lost", downFile);
                }
                break;

            case "DelProduct":
                DatabaseConnection.DoCommand("dELETE FROM CATALOGPRODUCTS WHERE ID=" + int.Parse(((Literal)e.Item.FindControl("LblID")).Text));
                FindProductQuery();
                break;

            case "BtnProduct":
                InitProgressBar();
                LblInfo.Text = String.Empty;
                DataTable d = DatabaseConnection.CreateDataset("SELECT * FROM CATALOGPRODUCTS WHERE ID=" + int.Parse(((Literal)e.Item.FindControl("LblID")).Text)).Tables[0];
                foreach (DataColumn cc in d.Columns)
                {
                    switch (cc.ColumnName.ToLower())
                    {
                    case "category":
                        TxtIdCategory.Text   = d.Rows[0][cc.ColumnName].ToString();
                        TxtTextCategory.Text = DatabaseConnection.SqlScalar("SELECT DESCRIPTION FROM CATALOGCATEGORIES WHERE ID=" + d.Rows[0][cc.ColumnName].ToString());
                        break;

                    case "printdescription":
                        this.chkPrint.Checked = (bool)d.Rows[0][cc.ColumnName];
                        break;

                    case "active":
                        if ((bool)d.Rows[0][cc.ColumnName])
                        {
                            RadioActive.Items[0].Selected = true;
                        }
                        else
                        {
                            RadioActive.Items[1].Selected = true;
                        }
                        break;

                    case "publish":
                        if ((bool)d.Rows[0][cc.ColumnName])
                        {
                            RadioPublish.Items[0].Selected = true;
                        }
                        else
                        {
                            RadioPublish.Items[1].Selected = true;
                        }
                        break;

                    case "unitprice":
                        try
                        {
                            ((TextBox)ProductTable.FindControl("txt" + cc.ColumnName)).Text = Convert.ToDecimal(d.Rows[0][cc.ColumnName]).ToString();
                        }
                        catch
                        {
                        }
                        break;

                    case "image":
                        if (d.Rows[0][cc.ColumnName].ToString().Length > 0)
                        {
                            this.ViewImage.Text = "<img src=/i/PhotoProduct.gif border=0 style='cursor:pointer'>";
                            this.ViewImage.Attributes.Add("onclick", "NewWindow('/imageRepath.aspx/Catalog/" + d.Rows[0][cc.ColumnName].ToString() + "','PrintProduct',400,400,'no')");
                        }
                        break;

                    case "vat":
                        try
                        {
                            listVat.SelectedIndex = -1;
                            foreach (ListItem li in listVat.Items)
                            {
                                if (Convert.ToDecimal(li.Value) == Convert.ToDecimal(d.Rows[0][cc.ColumnName].ToString()))
                                {
                                    li.Selected = true;
                                    break;
                                }
                            }
                        }
                        catch
                        {
                            listVat.SelectedIndex = 0;
                        }
                        break;

                    case "priceexpire":
                        if (d.Rows[0][cc.ColumnName] != DBNull.Value)
                        {
                            txtPriceExpire.Text = UC.LTZ.ToLocalTime((DateTime)d.Rows[0][cc.ColumnName]).ToShortDateString();
                        }
                        break;

                    case "excludelist":
                        if (d.Rows[0][cc.ColumnName] != DBNull.Value)
                        {
                            litExcludeList.Text = d.Rows[0][cc.ColumnName].ToString();
                        }
                        break;

                    default:
                        try
                        {
                            ((TextBox)ProductTable.FindControl("txt" + cc.ColumnName)).Text = d.Rows[0][cc.ColumnName].ToString();
                        }
                        catch
                        {
                        }
                        break;
                    }
                }

                FillOtherList();


                Tabber.Visible          = true;
                ProductRepeater.Visible = false;
                break;
            }
        }