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"); } }
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; } }