/// <summary> /// Update Product Details /// </summary> protected void UpdateProduct() { string productName = TextBoxProductName.Text; #region Update Product Details #region Get the schema of SQL Table string connectionString = ConfigurationManager.ConnectionStrings["DBConnection"].ConnectionString; string[] saltString = ConfigurationManager.AppSettings.GetValues("ProductPasswordSaltString"); StringBuilder sbSqlQuery = new StringBuilder("Select * From M_PRODUCTS where PRDCT_ID = '" + HiddenProductID.Value + "'"); SqlConnection sqlConn = new SqlConnection(connectionString); sqlConn.Open(); SqlDataAdapter daProducts = new SqlDataAdapter(sbSqlQuery.ToString(), connectionString); SqlCommandBuilder cbFields = new SqlCommandBuilder(daProducts); #endregion #region Assign product Details to SQL Table Data if (cbFields != null) { DataSet dsProducts = new DataSet(); dsProducts.Locale = CultureInfo.InvariantCulture; daProducts.FillSchema(dsProducts, SchemaType.Mapped, "Product"); daProducts.Fill(dsProducts, "Product"); DataRow drowProduct = dsProducts.Tables[0].Rows.Find(TextBoxProductCode.Text); if (drowProduct != null) { drowProduct.BeginEdit(); drowProduct["COMPANY_ID"] = DropDownListProductCompany.SelectedValue; drowProduct["PRDCT_NAME"] = productName; drowProduct["PRDCT_CODE"] = TextBoxProductCode.Text; drowProduct["PRDCT_FAMILY"] = TextBoxProductFamily.Text; drowProduct["PRDCT_VERSION"] = TextBoxProductVersion.Text; drowProduct["PRDCT_BUILD"] = TextBoxProductBuild.Text; drowProduct["PRDCT_ACESSID"] = WebLibrary.GetHashCode(saltString[0] + TextBoxProductCode.Text);; drowProduct["PRDCT_ACESSPASSWORD"] = WebLibrary.GetHashCode(TextBoxProductCode.Text + saltString[0]); try { if (FileUploadProductLogo.HasFile) { byte[] productLogo = null; int logoHeight = 50; int logoWidth = 250; productLogo = FileUploadProductLogo.FileBytes; Bitmap productLogoBitmap = (Bitmap)Bitmap.FromStream(new MemoryStream(productLogo)); bool modifyLogo = false; if (productLogoBitmap.Height > logoHeight) { modifyLogo = true; } else { logoHeight = productLogoBitmap.Height; } if (productLogoBitmap.Width > logoWidth) { modifyLogo = true; } else { logoWidth = productLogoBitmap.Width; } if (modifyLogo) { Bitmap modifiedProductLogo = new Bitmap(productLogoBitmap, new Size(logoWidth, logoHeight)); MemoryStream ms = new MemoryStream(); modifiedProductLogo.Save(ms, ImageFormat.Gif); byte[] bitmapData = ms.ToArray(); drowProduct["PRDCT_LOGO"] = bitmapData; } else { drowProduct["PRDCT_LOGO"] = FileUploadProductLogo.FileBytes; } } } catch (InvalidCastException) { LabelError.Text = Resources.FailureMessages.InvalidProductLogoFile; return; } catch (ArgumentException) { LabelError.Text = Resources.FailureMessages.InvalidProductLogoFile; return; } drowProduct["REC_USER"] = Session["UserSystemID"].ToString(); drowProduct["REC_ACTIVE"] = CheckBoxProductActive.Checked; drowProduct["REC_DATE"] = DateTime.Now; drowProduct.EndEdit(); daProducts.Update(dsProducts, "Product"); } sqlConn.Close(); } #endregion #endregion #region Redirect to Products Page Response.Redirect("Products.aspx?ActionStatus=Success&Mode=U"); #endregion }
/// <summary> /// Add the product definition to SQL Table /// </summary> protected void AddProduct() { if (DataProvider.IsProductExists(TextBoxProductCode.Text)) { #region Display Error Message if product already exists GetMasterPage().DisplayActionMessage('F', null, Resources.FailureMessages.ProductAlreadyExists); #endregion } else { #region Add Product to SQL table string productName = TextBoxProductName.Text; #region Get the schema of SQL Table string connectionString = ConfigurationManager.ConnectionStrings["DBConnection"].ConnectionString; string[] saltString = ConfigurationManager.AppSettings.GetValues("ProductPasswordSaltString"); string sqlQuery = "Select * From M_PRODUCTS where 1 = 2"; SqlConnection sqlConn = new SqlConnection(connectionString); sqlConn.Open(); SqlDataAdapter daProducts = new SqlDataAdapter(sqlQuery, connectionString); SqlCommandBuilder cbFields = new SqlCommandBuilder(daProducts); #endregion #region Assign product Details to SQL Table Data if (cbFields != null) { DataSet dsProducts = new DataSet(); dsProducts.Locale = CultureInfo.InvariantCulture; daProducts.FillSchema(dsProducts, SchemaType.Mapped, "Product"); DataRow drowProduct = dsProducts.Tables["Product"].NewRow(); drowProduct["COMPANY_ID"] = DropDownListProductCompany.SelectedValue; drowProduct["PRDCT_NAME"] = productName; drowProduct["PRDCT_CODE"] = TextBoxProductCode.Text; drowProduct["PRDCT_FAMILY"] = TextBoxProductFamily.Text; drowProduct["PRDCT_VERSION"] = TextBoxProductVersion.Text; drowProduct["PRDCT_BUILD"] = TextBoxProductBuild.Text; drowProduct["PRDCT_ACESSID"] = WebLibrary.GetHashCode(saltString[0] + TextBoxProductCode.Text);; drowProduct["PRDCT_ACESSPASSWORD"] = WebLibrary.GetHashCode(TextBoxProductCode.Text + saltString[0]); #region Get the data from selected Product Logo file try { if (FileUploadProductLogo.HasFile) { byte[] productLogo = null; // Get the configured Logo height and width from SQL Table: M_CONFIG int logoHeight = int.Parse(DataProvider.GetDBConfigValue("Product Logo Height"), CultureInfo.InvariantCulture); int logoWidth = int.Parse(DataProvider.GetDBConfigValue("Product Logo Width"), CultureInfo.InvariantCulture);; productLogo = FileUploadProductLogo.FileBytes; Bitmap productLogoBitmap = (Bitmap)Bitmap.FromStream(new MemoryStream(productLogo)); bool modifyLogo = false; if (productLogoBitmap.Height > logoHeight) { modifyLogo = true; } else { logoHeight = productLogoBitmap.Height; } if (productLogoBitmap.Width > logoWidth) { modifyLogo = true; } else { logoWidth = productLogoBitmap.Width; } if (modifyLogo) { Bitmap modifiedProductLogo = new Bitmap(productLogoBitmap, new Size(logoWidth, logoHeight)); MemoryStream ms = new MemoryStream(); modifiedProductLogo.Save(ms, ImageFormat.Gif); byte[] bitmapData = ms.ToArray(); drowProduct["PRDCT_LOGO"] = bitmapData; } else { drowProduct["PRDCT_LOGO"] = FileUploadProductLogo.FileBytes; } } } catch (InvalidCastException) { LabelError.Text = Resources.FailureMessages.InvalidProductLogoFile; return; } catch (ArgumentException) { LabelError.Text = Resources.FailureMessages.InvalidProductLogoFile; return; } #endregion drowProduct["REC_USER"] = Session["UserSystemID"].ToString(); drowProduct["REC_ACTIVE"] = CheckBoxProductActive.Checked; drowProduct["REC_DATE"] = DateTime.Now; dsProducts.Tables["Product"].Rows.Add(drowProduct); daProducts.Update(dsProducts, "Product"); sqlConn.Close(); } #endregion #region Redirect to Products Page Response.Redirect("Products.aspx?ActionStatus=Success&Mode=A"); #endregion #endregion } }