예제 #1
0
		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;
		}