private void LoadData(int vintPurchaseID)
    {
        try
        {
            ProductPurchase objProductPurchase = new ProductPurchase();
            objProductPurchase.ProductPurchaseID = vintPurchaseID;

            new ProductPurchaseBLL().GetByID(ref objProductPurchase);

            if (0 != objProductPurchase.ProductID)
            {
                ddlProduct.SelectedValue = objProductPurchase.ProductID.ToString();
                ddlManufacturer.SelectedValue = objProductPurchase.ManufacturerID.ToString();
                //ddlSize.SelectedValue = objProductPurchase.SizeID.ToString();
                txtQuantity.Text = objProductPurchase.Quantity.ToString();
                //txtPrice.Text = objProductPurchase.Price.ToString("#.##");
                txtDateOfPurchase.Value = objProductPurchase.PurchaseDate;

                ScriptManager.RegisterStartupScript(this, this.GetType(), "AddEditProductPurchase", "ChangeDatePicker();ShowModalDiv('ModalWindow1','dvInnerWindow',0);", true);

            }
        }
        catch (Exception ex)
        {
            SendMail.MailMessage("CSWeb > Error > " + (new StackTrace()).GetFrame(0).GetMethod().Name, ex.ToString());
        }

    }
 public void UpdateProductPrice(ref ProductPurchase vobjProductPurchase)
 {
     new ProductPurchaseDB().UpdateProductPrice(ref vobjProductPurchase);
 }
    protected void gvGrid_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        try
        {
            if (e.CommandName == "Print")
            {
                int intPurchaseID = Convert.ToInt32(e.CommandArgument.ToString());
                vstrLink = "BarcodePrint.aspx?q=" + intPurchaseID.ToString();
                Response.Redirect(vstrLink, false);
            }
            if (e.CommandName == "Edit")
            {
                int intPurchaseID = Convert.ToInt32(e.CommandArgument.ToString());
                param = Constants.MODE + "=" + Constants.MODE_EDIT + "&" + Constants.ID + "=" + intPurchaseID;
                param = Common.GenerateBASE64WithObfuscateApp(param);
                vstrLink = "AddEditProductPurchase.aspx?q=" + param;
                Response.Redirect(vstrLink, false);
                //ViewState["intPurchaseID"] = intPurchaseID;
                //LoadData(intPurchaseID);
            }

            if (e.CommandName == "Delete")
            {

                ProductPurchase objProductPurchase = new ProductPurchase();
                int intPurchaseID = Convert.ToInt32(e.CommandArgument.ToString());
                objProductPurchase.ProductPurchaseID = intPurchaseID;
                new ProductPurchaseBLL().Delete(ref objProductPurchase);

                if (objProductPurchase.ReturnStatus > 0)
                {
                    divMess.Visible = true;
                    lblMsg.Text = Constants.Deleted;
                    divMess.Attributes.Add("class", "Deleted");
                    lblMsg.Style.Add("color", "Black");
                }
                else
                {
                    divMess.Visible = true;
                    lblMsg.Style.Add("color", "Red");
                    divMess.Attributes.Add("class", "error");
                    lblMsg.Text = objProductPurchase.ReturnMessage;
                }
            }
            
        }
        catch (Exception ex)
        {
            SendMail.MailMessage("CSWeb > Error > " + (new StackTrace()).GetFrame(0).GetMethod().Name, ex.ToString());
        }
    }
 public void AddEditPurchase(ref ProductPurchase vobjProductPurchase)
 {
     new ProductPurchaseDB().AddEditPurchase(ref vobjProductPurchase);
 }
 /*public void Add(ref ProductPurchase vobjProductPurchase)
 {
     new ProductPurchaseDB().Add(ref vobjProductPurchase);
 }
 public void Update(ref ProductPurchase vobjProductPurchase)
 {
     new ProductPurchaseDB().Update(ref vobjProductPurchase);
 }*/
 public void Delete(ref ProductPurchase vobjProductPurchase)
 {
     new ProductPurchaseDB().Delete(ref vobjProductPurchase);
 }
        /*
        public void Add(ref ProductPurchase vobjProductPurchase)
        {
            try
            {
                DbCommand objCmd = dBase.GetStoredProcCommand("sprocCS_InsertProductPurchase");
                dBase.AddInParameter(objCmd, "@ManufacturerID", DbType.Int32, vobjProductPurchase.ManufacturerID);
                dBase.AddInParameter(objCmd, "@PurchaseDate", DbType.DateTime, vobjProductPurchase.PurchaseDate);
                dBase.AddInParameter(objCmd, "@ProductID", DbType.Int32, vobjProductPurchase.ProductID);
                dBase.AddInParameter(objCmd, "@SizeID", DbType.Int32, vobjProductPurchase.SizeID);
                dBase.AddInParameter(objCmd, "@Quantity", DbType.Int32, vobjProductPurchase.Quantity);
                dBase.AddInParameter(objCmd, "@Price", DbType.Decimal, vobjProductPurchase.Price);
                dBase.AddOutParameter(objCmd, "@MessageID", DbType.Int32, 4);
                dBase.AddOutParameter(objCmd, "@Message", DbType.String, 255);
                dBase.ExecuteNonQuery(objCmd);

                vobjProductPurchase.ReturnValue = (int)dBase.GetParameterValue(objCmd, "@MessageID");
                vobjProductPurchase.ReturnMessage = (string)dBase.GetParameterValue(objCmd, "@Message");
            }
            catch (Exception ex)
            {
                Common.LogError("CSWeb > Error > " + (new StackTrace()).GetFrame(0).GetMethod().Name, ex.ToString());
            }

        }

        public void Update(ref ProductPurchase vobjProductPurchase)
        {
            try
            {
                DbCommand objCmd = dBase.GetStoredProcCommand("sprocCS_UpdateProductPurchase");
                dBase.AddInParameter(objCmd, "@PurchaseID", DbType.Int32, vobjProductPurchase.ManufacturerID);
                dBase.AddInParameter(objCmd, "@ManufacturerID", DbType.Int32, vobjProductPurchase.ManufacturerID);
                dBase.AddInParameter(objCmd, "@PurchaseDate", DbType.DateTime, vobjProductPurchase.PurchaseDate);
                dBase.AddInParameter(objCmd, "@ProductID", DbType.Int32, vobjProductPurchase.ProductID);
                dBase.AddInParameter(objCmd, "@SizeID", DbType.Int32, vobjProductPurchase.SizeID);
                dBase.AddInParameter(objCmd, "@Quantity", DbType.Int32, vobjProductPurchase.Quantity);
                dBase.AddInParameter(objCmd, "@Price", DbType.Decimal, vobjProductPurchase.Price);
                dBase.AddOutParameter(objCmd, "@MessageID", DbType.Int32, 4);
                dBase.AddOutParameter(objCmd, "@Message", DbType.String, 255);
                dBase.ExecuteNonQuery(objCmd);

                vobjProductPurchase.ReturnValue = (int)dBase.GetParameterValue(objCmd, "@MessageID");
                vobjProductPurchase.ReturnMessage = (string)dBase.GetParameterValue(objCmd, "@Message");
            }
            catch (Exception ex)
            {
                Common.LogError("CSWeb > Error > " + (new StackTrace()).GetFrame(0).GetMethod().Name, ex.ToString());
            }
        }
        */

        public void Delete(ref ProductPurchase vobjProductPurchase)
        {
            try
            {
                DbCommand objCmd = dBase.GetStoredProcCommand("sprocCS_DeleteProductPurchase");
                dBase.AddInParameter(objCmd, "@PurchaseID", DbType.Int32, vobjProductPurchase.ProductPurchaseID);
                dBase.AddOutParameter(objCmd, "@MessageID", DbType.Int32, 4);
                dBase.AddOutParameter(objCmd, "@Message", DbType.String, 255);
                dBase.ExecuteNonQuery(objCmd);

                vobjProductPurchase.ReturnValue = (int)dBase.GetParameterValue(objCmd, "@MessageID");
                vobjProductPurchase.ReturnMessage = (string)dBase.GetParameterValue(objCmd, "@Message");
            }
            catch (Exception ex)
            {
                Common.LogError("CSWeb > Error > " + (new StackTrace()).GetFrame(0).GetMethod().Name, ex.ToString());
            }

        }
 public void GetByID(ref ProductPurchase vobjProductPurchase)
 {
     new ProductPurchaseDB().GetByID(ref vobjProductPurchase);
 }
        public void AddEditPurchase(ref ProductPurchase vobjProductPurchase)
        {
            try
            {
                DbCommand objCmd = dBase.GetStoredProcCommand("sprocCS_InsertUpdateProductPurchase");
                dBase.AddInParameter(objCmd, "@ProductPurchaseID", DbType.Int32, vobjProductPurchase.ProductPurchaseID);
                dBase.AddInParameter(objCmd, "@ProductID", DbType.Int32, vobjProductPurchase.ProductID);
                dBase.AddInParameter(objCmd, "@ManufacturerID", DbType.Int32, vobjProductPurchase.ManufacturerID);
                dBase.AddInParameter(objCmd, "@BrandID", DbType.Int32, vobjProductPurchase.BrandID);
                dBase.AddInParameter(objCmd, "@CategoryID", DbType.Int32, vobjProductPurchase.CategoryID);
                dBase.AddInParameter(objCmd, "@SeasonID", DbType.Int32, vobjProductPurchase.SeasonID);
                dBase.AddInParameter(objCmd, "@PurchaseDate", DbType.String, vobjProductPurchase.PurchaseDate);
                dBase.AddInParameter(objCmd, "@Quantity", DbType.Int32, vobjProductPurchase.Quantity);
                dBase.AddInParameter(objCmd, "@BuyingPrice", DbType.Decimal, vobjProductPurchase.BuyingPrice);
                dBase.AddInParameter(objCmd, "@Tax", DbType.Decimal, vobjProductPurchase.Tax);
                dBase.AddInParameter(objCmd, "@Margin", DbType.Decimal, vobjProductPurchase.Margin);
                dBase.AddInParameter(objCmd, "@SellingPrice", DbType.Decimal, vobjProductPurchase.SellingPrice);
                dBase.AddInParameter(objCmd, "@BarCode", DbType.String, vobjProductPurchase.BarCode);
                dBase.AddInParameter(objCmd, "@SizeIDs", DbType.Xml, vobjProductPurchase.SizeIDs);
                dBase.AddInParameter(objCmd, "@UpdatedBy", DbType.Int32, vobjProductPurchase.UpdatedBy);
                dBase.AddOutParameter(objCmd, "@MessageID", DbType.Int32, 4);
                dBase.AddOutParameter(objCmd, "@Message", DbType.String, 255);
                dBase.ExecuteNonQuery(objCmd);

                vobjProductPurchase.ReturnValue = (int)dBase.GetParameterValue(objCmd, "@MessageID");
                vobjProductPurchase.ReturnMessage = (string)dBase.GetParameterValue(objCmd, "@Message");
                
            }
            catch (Exception ex)
            {
                
                Common.LogError("CSWeb > Error > " + (new StackTrace()).GetFrame(0).GetMethod().Name, ex.ToString());
            }
        }
        public List<ProductPurchase> GetAll(String purchaseStartDate, String purchaseEndDate, String ManufacturerName, PageInfo vobjPageInfo)
        {
            List<ProductPurchase> lstProductPurshase = new List<ProductPurchase>();
            try
            {
                object[] mParams = {
                                    new SqlParameter("@PurchaseStartDate", SqlDbType.VarChar),
                                    new SqlParameter("@PurchaseEndDate", SqlDbType.VarChar),
                                    new SqlParameter("@CompanyName", SqlDbType.NVarChar),
                                    new SqlParameter("@SortColumnName", SqlDbType.NVarChar),                                              
                                    new SqlParameter("@SortDirection", SqlDbType.NVarChar),
                                    new SqlParameter("@SearchText", SqlDbType.NVarChar)
                                };

                mParams[0] = purchaseStartDate;
                mParams[1] = purchaseEndDate;
                mParams[2] = ManufacturerName;
                mParams[3] = vobjPageInfo.SortColumnName;
                mParams[4] = vobjPageInfo.SortDirection;
                mParams[5] = vobjPageInfo.SearchText;


                using (IDataReader reader = dBase.ExecuteReader("sprocCS_GetAllProductPurchase", mParams))
                {
                    while (reader.Read())
                    {
                        ProductPurchase objProductPurchase = new ProductPurchase();

                        if (reader["PurchaseID"] != DBNull.Value)
                            objProductPurchase.ProductPurchaseID = Convert.ToInt32(reader["PurchaseID"]);
                        if (reader["ProductPurchaseID"] != DBNull.Value)
                            objProductPurchase.ProductPurchaseDetailID = Convert.ToInt32(reader["ProductPurchaseID"]);
                        if (reader["PurchaseDate"] != DBNull.Value)
                            objProductPurchase.PurchaseDate = Convert.ToDateTime(reader["PurchaseDate"]).ToShortDateString();
                        if (reader["PurchaseDate"] != DBNull.Value)
                            objProductPurchase.ProductPurchaseDate = Convert.ToDateTime(reader["PurchaseDate"]);
                        if (reader["CompanyName"] != DBNull.Value)
                            objProductPurchase.ManufacturerName = Convert.ToString(reader["CompanyName"]);
                        if (reader["ProductName"] != DBNull.Value)
                            objProductPurchase.ProductName = Convert.ToString(reader["ProductName"]);
                        if (reader["Sizes"] != DBNull.Value)
                            objProductPurchase.Sizes = Convert.ToString(reader["Sizes"]);
                        if (reader["Quantity"] != DBNull.Value)
                            objProductPurchase.Quantity = Convert.ToInt32(reader["Quantity"]);
                        if (reader["BuyingPrice"] != DBNull.Value)
                            objProductPurchase.BuyingPrice = Convert.ToDecimal(reader["BuyingPrice"]);
                        if (reader["Margin"] != DBNull.Value)
                            objProductPurchase.Margin = Convert.ToDecimal(reader["Margin"]);
                        if (reader["Tax"] != DBNull.Value)
                            objProductPurchase.Tax = Convert.ToDecimal(reader["Tax"]);
                        if (reader["Price"] != DBNull.Value)
                            objProductPurchase.SellingPrice = Convert.ToDecimal(reader["Price"]);
                        lstProductPurshase.Add(objProductPurchase);
                    }
                }

            }
            catch (Exception ex)
            {
                Common.LogError("CSWeb > Error > " + (new StackTrace()).GetFrame(0).GetMethod().Name, ex.ToString());
            }
            return lstProductPurshase;
        }
        public void GetByID(ref ProductPurchase vobjProductPurchase)
        {
            try
            {
                object[] mParams = {
                                    new SqlParameter("@ProductPurchaseID", SqlDbType.Int)
                                };

                mParams[0] = vobjProductPurchase.ProductPurchaseID;

                using (IDataReader reader = dBase.ExecuteReader("sprocCS_GetProductPurchaseByID", mParams))
                {
                    while (reader.Read())
                    {
                        if (reader["ProductPurchaseID"] != DBNull.Value)
                            vobjProductPurchase.ProductPurchaseID = Convert.ToInt32(reader["ProductPurchaseID"]);
                        if (reader["ProductID"] != DBNull.Value)
                            vobjProductPurchase.ProductID = Convert.ToInt32(reader["ProductID"]);
                        if (reader["ManufacturerID"] != DBNull.Value)
                            vobjProductPurchase.ManufacturerID = Convert.ToInt32(reader["ManufacturerID"]);
                        if (reader["BrandID"] != DBNull.Value)
                            vobjProductPurchase.BrandID = Convert.ToInt32(reader["BrandID"]);
                        if (reader["CategoryID"] != DBNull.Value)
                            vobjProductPurchase.CategoryID = Convert.ToInt32(reader["CategoryID"]);
                        if (reader["SeasonID"] != DBNull.Value)
                            vobjProductPurchase.SeasonID = Convert.ToInt32(reader["SeasonID"]);
                        if (reader["PurchaseDate"] != DBNull.Value)
                            vobjProductPurchase.PurchaseDate = Convert.ToDateTime(reader["PurchaseDate"]).ToString("dd/MM/yyyy");
                        if (reader["Quantity"] != DBNull.Value)
                            vobjProductPurchase.Quantity = Convert.ToInt32(reader["Quantity"]);
                        if (reader["BuyingPrice"] != DBNull.Value)
                            vobjProductPurchase.BuyingPrice = Convert.ToDecimal(reader["BuyingPrice"]);
                        if (reader["Tax"] != DBNull.Value)
                            vobjProductPurchase.Tax = Convert.ToDecimal(reader["Tax"]);
                        if (reader["Margin"] != DBNull.Value)
                            vobjProductPurchase.Margin = Convert.ToDecimal(reader["Margin"]);
                        if (reader["SellingPrice"] != DBNull.Value)
                            vobjProductPurchase.SellingPrice = Convert.ToDecimal(reader["SellingPrice"]);
                        if (reader["BarCode"] != DBNull.Value)
                            vobjProductPurchase.BarCode = Convert.ToString(reader["BarCode"]);
                        if (reader["SizeIDs"] != DBNull.Value)
                            vobjProductPurchase.SizeIDs = Convert.ToString(reader["SizeIDs"]);
                    }
                }

            }
            catch (Exception ex)
            {

                Common.LogError("CSWeb > Error > " + (new StackTrace()).GetFrame(0).GetMethod().Name, ex.ToString());
            }
        }
    private void PopulateData(int vintProductPurchaseID)
    {
        ProductPurchase objProductPurshase = new ProductPurchase();
        objProductPurshase.ProductPurchaseID = vintProductPurchaseID;
        new ProductPurchaseBLL().GetByID(ref objProductPurshase);
        txtProductPurchaseID.Value = objProductPurshase.ProductPurchaseID.ToString();
        txtDateOfPurchase.Value = objProductPurshase.PurchaseDate;
        cmbManufacturer.SelectedValue = objProductPurshase.ManufacturerID.ToString();
        cmbProduct.SelectedValue = objProductPurshase.ProductID.ToString();
        txtBarcode.Text = objProductPurshase.BarCode;
        cmbBrand.SelectedValue = objProductPurshase.BrandID.ToString();
        cmbCategory.SelectedValue = objProductPurshase.CategoryID.ToString();
        cmbSeason.SelectedValue = objProductPurshase.SeasonID.ToString();
        txtBuyingPrice.Text = objProductPurshase.BuyingPrice.ToString("F2");
        txtTax.Text = objProductPurshase.Tax.ToString("F2");
        txtMargin.Text = objProductPurshase.Margin.ToString("F2");
        txtSellingPrice.Text = objProductPurshase.SellingPrice.ToString("F2");
        txtQuantity.Text = objProductPurshase.Quantity.ToString();

        if (! String.IsNullOrEmpty(objProductPurshase.SizeIDs))
        {
            string[] arrSizeIDs = objProductPurshase.SizeIDs.Split(',');
            for (int i = 0; i < arrSizeIDs.Length; i++)
            {
                cmbSizes.SelectedValue = arrSizeIDs[i];
                //for (int j =0; j< chkSize.Items.Count; j++)
                //{
                //    if (chkSize.Items[j].Value.Equals(arrSizeIDs[i]))
                //    {
                //        chkSize.Items[j].Selected = true;
                //    }
                //}
            }
        }

    }
    protected void lnkBtnSaveDS_Click(object sender, EventArgs e)
    {
        ProductPurchase objProductPurchase = new ProductPurchase();
        objProductPurchase.ProductPurchaseID = Convert.ToInt32(txtProductPurchaseID.Value);
        objProductPurchase.ProductID = Convert.ToInt32(cmbProduct.SelectedValue);
        objProductPurchase.ManufacturerID = Convert.ToInt32(cmbManufacturer.SelectedValue);
        objProductPurchase.BrandID = Convert.ToInt32(cmbBrand.SelectedValue);
        objProductPurchase.CategoryID = Convert.ToInt32(cmbCategory.SelectedValue);
        objProductPurchase.SeasonID = Convert.ToInt32(cmbSeason.SelectedValue);
        objProductPurchase.PurchaseDate =txtDateOfPurchase.Value;
        objProductPurchase.Quantity = Convert.ToInt32(txtQuantity.Text);
        objProductPurchase.BuyingPrice = Convert.ToDecimal(txtBuyingPrice.Text);
        objProductPurchase.Tax = Convert.ToDecimal(txtTax.Text);
        objProductPurchase.Margin = Convert.ToDecimal(txtMargin.Text);
        objProductPurchase.SellingPrice = Convert.ToDecimal(txtSellingPrice.Text);
        objProductPurchase.BarCode = txtBarcode.Text.Trim();
        objProductPurchase.Quantity = Convert.ToInt32(txtQuantity.Text);

        string strSizeIDs = "<data>";
        //foreach (ListItem lstSizeIDs in chkSize.Items)
        //{
        //    if (lstSizeIDs.Selected == true)
        //    {
        //        strSizeIDs += "<sizes><SizeID>" + lstSizeIDs.Value + "</SizeID></sizes>";
        //    }
        //}
        strSizeIDs += "<sizes><SizeID>" + cmbSizes.SelectedValue + "</SizeID></sizes>";
        strSizeIDs += "</data>";

        objProductPurchase.SizeIDs = strSizeIDs;

        new ProductPurchaseBLL().AddEditPurchase(ref objProductPurchase);

        if (objProductPurchase.ReturnValue > 0)
        {
            Response.Redirect("BuyingInterface.aspx", false);
        }
        else
        {
            ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", "alert('" + objProductPurchase.ReturnMessage + "');", true);
        }
    }