private bool SaveRecord() { foreach (DataListItem item in lstItem.Items) { HyperLink lnkVariationType = (HyperLink)item.FindControl("lnkVariationType"); if (lnkVariationType.Text.ToUpper() == CONSTANT_VARIATIONS.EXPIRATION.ToString("G")) { TextBox txtDescription = (TextBox)item.FindControl("txtDescription"); try { DateTime Expiry = DateTime.Parse(txtDescription.Text); } catch { string javaScript = "window.alert('Please enter a valid expiration date in YYYY-MM-DD format');"; System.Web.UI.ScriptManager.RegisterClientScriptBlock(this.updSave, this.updSave.GetType(), "openwindow", javaScript, true); return false; } } } ProductVariationsMatrix clsProductVariationsMatrix = new ProductVariationsMatrix(); ProductVariationsMatrixDetails clsDetails = new ProductVariationsMatrixDetails(); string stringVariationDesc = null; foreach (DataListItem item in lstItem.Items) { HtmlInputCheckBox chkList = (HtmlInputCheckBox) item.FindControl("chkList"); TextBox txtDescription = (TextBox) item.FindControl("txtDescription"); clsDetails = new ProductVariationsMatrixDetails(); clsDetails.MatrixID = Convert.ToInt32(lblMatrixID.Text); clsDetails.ProductID = Convert.ToInt32(lblProductID.Text); clsDetails.VariationID = Convert.ToInt32(chkList.Value); clsDetails.Description = txtDescription.Text; clsProductVariationsMatrix.SaveVariation(clsDetails); Label lblVariationType = (Label) item.FindControl("lblVariationType"); //stringVariationDesc += lblVariationType.Text + ":" + txtDescription.Text + "; "; stringVariationDesc += txtDescription.Text + "; "; } //update base variation matrix ProductDetails clsProductDetails = new Products(clsProductVariationsMatrix.Connection, clsProductVariationsMatrix.Transaction).Details(Int64.Parse(lblProductID.Text)); ProductBaseVariationsMatrixDetails clsBaseDetails = new ProductBaseVariationsMatrixDetails(); clsBaseDetails.MatrixID = Convert.ToInt64(lblMatrixID.Text); clsBaseDetails.ProductID = Convert.ToInt64(lblProductID.Text); clsBaseDetails.BarCode1 = txtBarcode.Text; clsBaseDetails.BarCode2 = txtBarcode2.Text; clsBaseDetails.BarCode3 = txtBarcode3.Text; clsBaseDetails.Description = stringVariationDesc; clsBaseDetails.UnitID = Convert.ToInt32(cboUnit.SelectedItem.Value); clsBaseDetails.Price = Convert.ToDecimal(txtProductPrice.Text); clsBaseDetails.Price1 = Convert.ToDecimal(txtPrice1.Text); clsBaseDetails.Price2 = Convert.ToDecimal(txtPrice2.Text); clsBaseDetails.Price3 = Convert.ToDecimal(txtPrice3.Text); clsBaseDetails.Price4 = Convert.ToDecimal(txtPrice4.Text); clsBaseDetails.Price5 = Convert.ToDecimal(txtPrice5.Text); clsBaseDetails.WSPrice = Convert.ToDecimal(txtWSPrice.Text); clsBaseDetails.PurchasePrice = Convert.ToDecimal(txtPurchasePrice.Text); clsBaseDetails.IncludeInSubtotalDiscount = chkIncludeInSubtotalDiscount.Checked; clsBaseDetails.VAT = Convert.ToDecimal(txtVAT.Text); clsBaseDetails.EVAT = Convert.ToDecimal(txtEVAT.Text); clsBaseDetails.LocalTax = Convert.ToDecimal(txtLocalTax.Text); clsBaseDetails.Quantity = Convert.ToDecimal(txtQuantity.Text); clsBaseDetails.MinThreshold = Convert.ToDecimal(txtMinThreshold.Text); clsBaseDetails.MaxThreshold = Convert.ToDecimal(txtMaxThreshold.Text); clsBaseDetails.SupplierID = clsProductDetails.SupplierID; clsBaseDetails.UpdatedBy = Convert.ToInt64(Session["UID"].ToString()); clsBaseDetails.UpdatedOn = DateTime.Now; clsProductVariationsMatrix.UpdateBaseVariation(clsBaseDetails); clsProductVariationsMatrix.CommitAndDispose(); return true; }