protected void btnSubmit_Click(object sender, EventArgs e)
    {
        try
        {
            long   lngCustomerId = 0;
            string strUniqueNo = "", strAltNo = "", strValidNumberCus = "";
            bool   blnFlagSMSCus      = false;
            string strCustomerMessage = "";
            if ((ddlProductDiv.SelectedIndex != 0) && (txtQuantity.Text != "") && (txtComplaintDetails.Text != ""))
            {
                CreateRow();
            }
            if (!blnFlag)
            {
                DataSet dsTemp = (DataSet)ViewState["ds"];
                if (dsTemp.Tables[0].Rows.Count > 0)
                {
                    objCallRegistration.Type             = "INSERT_UPDAT_CUSTOMER_DATA";
                    objCallRegistration.CustomerId       = int.Parse(hdnCustomerId.Value);
                    objCallRegistration.UpdateCustDeatil = "N";
                    objCallRegistration.Active_Flag      = "1";
                    objCallRegistration.Prefix           = ddlPrefix.SelectedValue.ToString();
                    objCallRegistration.FirstName        = txtFirstName.Text.Trim();
                    objCallRegistration.MiddleName       = txtMiddleName.Text.Trim(); // Bhawesh 11 Feb 13
                    objCallRegistration.LastName         = txtLastName.Text.Trim();
                    objCallRegistration.Customer_Type    = "O";                       // for web form outside customer
                    objCallRegistration.Company_Name     = txtCompanyName.Text.Trim();
                    objCallRegistration.Address1         = txtAdd1.Text.ToString();
                    objCallRegistration.Address2         = txtAdd2.Text.ToString();
                    objCallRegistration.Landmark         = txtLandmark.Text.Trim();
                    objCallRegistration.PinCode          = txtPinCode.Text.Trim();
                    objCallRegistration.Country          = "1"; //For country india
                    objCallRegistration.State            = ddlState.SelectedValue.ToString();
                    objCallRegistration.City             = ddlCity.SelectedValue.ToString();

                    if (ddlCity.SelectedValue.ToString() == "0")
                    {
                        objCallRegistration.CityOther = txtOtherCity.Text.Trim();
                    }
                    else
                    {
                        objCallRegistration.CityOther = null;
                    }
                    objCallRegistration.Language = "4";
                    objCallRegistration.Email    = txtEmail.Text.Trim();
                    if ((txtContactNo.Text.Trim().Substring(0, 1) != "0") && (txtContactNo.Text.Trim().Length == 10))
                    {
                        objCallRegistration.UniqueContact_No = "0" + txtContactNo.Text.Trim();
                    }
                    else
                    {
                        objCallRegistration.UniqueContact_No = txtContactNo.Text.Trim();
                    }
                    if (txtAltConatctNo.Text.Trim() == "")
                    {
                        txtAltConatctNo.Text = txtContactNo.Text.Trim();
                    }
                    if (txtAltConatctNo.Text.Trim() != "")
                    {
                        if ((txtAltConatctNo.Text.Trim().Substring(0, 1) != "0") && (txtAltConatctNo.Text.Trim().Length == 10))
                        {
                            objCallRegistration.AltTelNumber = "0" + txtAltConatctNo.Text.Trim();
                        }
                        else
                        {
                            objCallRegistration.AltTelNumber = txtAltConatctNo.Text.Trim();
                        }
                    }
                    else
                    {
                        objCallRegistration.AltTelNumber = txtAltConatctNo.Text.Trim();
                    }
                    if (txtExtension.Text.Trim() == "")
                    {
                        objCallRegistration.Extension = 0;
                    }
                    else
                    {
                        objCallRegistration.Extension = int.Parse(txtExtension.Text.Trim());
                    }


                    // BP : 28 dec 12
                    int SCNo = Convert.ToInt32(TxtSCName.Attributes["SC_SNo"]);
                    if (SCNo == 0)
                    {
                        objCallRegistration.EmpCode = "customer";
                    }
                    else
                    {
                        objCallRegistration.EmpCode = TxtSCName.Text.Trim();
                    }

                    objCallRegistration.SaveCustomerData();

                    if (objCallRegistration.ReturnValue == 1)
                    {
                        lngCustomerId = objCallRegistration.CustomerId;
                    }

                    ArrayList arrListFiles = new ArrayList();
                    //Inserting DraftComplaintDetails
                    if (lngCustomerId > 0)
                    {
                        //uploading Files to Server on Folder Docs/Customer

                        strFileSavePath = ConfigurationSettings.AppSettings["CustomerFilePath"].ToString();
                        dTableFile      = (DataTable)ViewState["dTableFile"];
                        if (flUpload.Value != "")
                        {
                            try
                            {
                                if (!Directory.Exists(strFileSavePath))
                                {
                                    Directory.CreateDirectory(Server.MapPath(strFileSavePath));
                                }
                                strvFileName = flUpload.Value;
                                strFileName  = Path.GetFileName(strvFileName);
                                strExt       = Path.GetExtension(strvFileName);
                                strFileName  = Path.GetFileNameWithoutExtension(strvFileName) + "_" + DateTime.Now.Day.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Year.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString();
                                strFileName  = strFileName + strExt;
                                DataRow dRow = dTableFile.NewRow();
                                dRow["FileName"] = strFileName;
                                dTableFile.Rows.Add(dRow);
                                ViewState["dTableFile"] = dTableFile;
                                flUpload.PostedFile.SaveAs(Server.MapPath(strFileSavePath + strFileName));
                            }
                            catch (Exception ex)
                            {
                                CommonClass.WriteErrorErrFile(Request.RawUrl.ToString(), ex.StackTrace.ToString() + "-->" + ex.Message.ToString());
                            }
                        }
                        dTableFile = (DataTable)ViewState["dTableFile"];
                        for (intCnt = 0; intCnt < dTableFile.Rows.Count; intCnt++)
                        {
                            arrListFiles.Add(dTableFile.Rows[intCnt]["FileName"].ToString());
                        }
                        //Uploading Files End
                        //Create Temp table for Complaint + SC Name
                        DataTable  dTableTemp      = new DataTable();
                        DataColumn dColNo          = new DataColumn("SNo");
                        DataColumn dColComplaintNo = new DataColumn("ComplaintRefNo");
                        DataColumn dColProd        = new DataColumn("ProductDivision");
                        dTableTemp.Columns.Add(dColNo);
                        dTableTemp.Columns.Add(dColComplaintNo);
                        dTableTemp.Columns.Add(dColProd);
                        // BP : 28 dec 12
                        int SCSNo = Convert.ToInt32(TxtSCName.Attributes["SC_SNo"]);
                        if (SCSNo == 0)
                        {
                            objCallRegistration.EmpCode = "customer";
                        }
                        else
                        {
                            objCallRegistration.EmpCode = TxtSCName.Text.Trim();
                        }

                        for (int intCnt = 0; intCnt < dsTemp.Tables[0].Rows.Count; intCnt++)
                        {
                            objCallRegistration.CustomerId        = lngCustomerId;
                            objCallRegistration.ModeOfReceipt     = dsTemp.Tables[0].Rows[intCnt]["ModeOfReceipt_SNo"].ToString();
                            objCallRegistration.ProductDivision   = dsTemp.Tables[0].Rows[intCnt]["ProductDivision_Sno"].ToString();
                            objCallRegistration.ProductLine       = dsTemp.Tables[0].Rows[intCnt]["ProductLine_Sno"].ToString();
                            objCallRegistration.Language          = dsTemp.Tables[0].Rows[intCnt]["Language_Sno"].ToString();
                            objCallRegistration.IsFiles           = dsTemp.Tables[0].Rows[intCnt]["IsFiles"].ToString();
                            objCallRegistration.Quantity          = int.Parse(dsTemp.Tables[0].Rows[intCnt]["Quantity"].ToString());
                            objCallRegistration.NatureOfComplaint = dsTemp.Tables[0].Rows[intCnt]["NatureOfComplaint"].ToString();
                            objCallRegistration.InvoiceDate       = dsTemp.Tables[0].Rows[intCnt]["InvoiceDate"].ToString();
                            objCallRegistration.PurchasedDate     = dsTemp.Tables[0].Rows[intCnt]["PurchasedDate"].ToString();
                            objCallRegistration.PurchasedFrom     = dsTemp.Tables[0].Rows[intCnt]["PurchasedFrom"].ToString();
                            objCallRegistration.AppointmentReq    = dsTemp.Tables[0].Rows[intCnt]["AppointmentReq"].ToString();
                            objCallRegistration.IsSRF             = dsTemp.Tables[0].Rows[intCnt]["SRF"].ToString();
                            objCallRegistration.Frames            = dsTemp.Tables[0].Rows[intCnt]["Frames"].ToString();
                            objCallRegistration.InvoiceNum        = dsTemp.Tables[0].Rows[intCnt]["InvoiceNum"].ToString();
                            objCallRegistration.State             = ddlState.SelectedValue;
                            objCallRegistration.City = ddlCity.SelectedValue;
                            if (ddlCity.SelectedValue.ToString() == "0")
                            {
                                objCallRegistration.CityOther = txtOtherCity.Text.Trim();
                            }
                            else
                            {
                                objCallRegistration.CityOther = null;
                            }

                            objCallRegistration.BusinessLine = "2";
                            objCallRegistration.Type         = "INSERT_COMPLAINT_DATA_BY_CUSTOMER";
                            objCallRegistration.SaveComplaintData();
                            if (objCallRegistration.ReturnValue == -1)
                            {
                                //Writing Error message to File using CommonClass WriteErrorErrFile method taking arguments as URL of page
                                // trace, error message
                                CommonClass.WriteErrorErrFile(Request.RawUrl.ToString(), objCallRegistration.MessageOut.ToString());
                            }
                            if (objCallRegistration.ReturnValue == 1)
                            {
                                #region Save FileData
                                RequestRegistration objCallreg = new RequestRegistration();
                                //Saving FileNames to DB
                                for (int i = 0; i < arrListFiles.Count; i++)
                                {
                                    objCallreg.EmpCode = "customer";
                                    objCallreg.Type    = "INSERT_COMPLAINT_FILES_DATA";
                                    objCallreg.SaveFilesWithComplaintno(objCallRegistration.Complaint_RefNoOUT, arrListFiles[i].ToString());
                                }
                                objCallreg = null;
                                //End Saving
                                #endregion Save FileData

                                # region add a coopy in Feedback Table (For Reporting Purpose only) Bhawesh 18 Apr 13
                                objwscfeedback.Prefix          = objCallRegistration.Prefix;
                                objwscfeedback.FirstName       = objCallRegistration.FirstName;
                                objwscfeedback.MiddleName      = objCallRegistration.MiddleName;
                                objwscfeedback.LastName        = objCallRegistration.LastName;
                                objwscfeedback.Address         = objCallRegistration.Address1 + " " + objCallRegistration.Address2;
                                objwscfeedback.StateSNo        = Convert.ToInt32(objCallRegistration.State);
                                objwscfeedback.CitySNo         = Convert.ToInt32(objCallRegistration.City);
                                objwscfeedback.CompanyName     = objCallRegistration.Company_Name;
                                objwscfeedback.ContactNo       = objCallRegistration.UniqueContact_No;
                                objwscfeedback.Email           = objCallRegistration.Email;
                                objwscfeedback.FeedBackByASCID = Convert.ToInt32(TxtSCName.Attributes["SC_SNo"]);
                                objwscfeedback.FeedbackDesc    = "ComplaintNo: " + objCallRegistration.Complaint_RefNoOUT + ";Detail: " + objCallRegistration.NatureOfComplaint;
                                objwscfeedback.FeedBackTypeID  = Convert.ToInt32(ddlFeedbackType.SelectedValue);
                                objwscfeedback.ProddivSNO      = Convert.ToInt32(objCallRegistration.ProductDivision);
                                objwscfeedback.ProdLineSNO     = Convert.ToInt32(objCallRegistration.ProductLine); // Bhawesh 8-4-13
                                try
                                {
                                    String StrMsg = objwscfeedback.SaveData("INSERT_FEEDBACK");
                                }
                                catch (Exception exx)
                                {
                                    CommonClass.WriteErrorErrFile(Request.RawUrl.ToString(), exx.StackTrace.ToString() + "-->" + "Error in Feedback Insert portion " + exx.Message.ToString());
                                }
                                #endregion

                                #region SMS Store to SMS_TRANS Live 4 March 13

                                try
                                {
                                    strUniqueNo = txtContactNo.Text.Trim();
                                    strAltNo    = txtAltConatctNo.Text.Trim();
                                    if (CommonClass.ValidateMobileNumber(strUniqueNo, ref strValidNumberCus))
                                    {
                                        blnFlagSMSCus = true;
                                    }
                                    else if (CommonClass.ValidateMobileNumber(strAltNo, ref strValidNumberCus))
                                    {
                                        blnFlagSMSCus = true;
                                    }
                                    if (blnFlagSMSCus)
                                    {
                                        strCustomerMessage = "Your Complaint No :" + objCallRegistration.Complaint_RefNoOUT + " will be attended soon. Preserve this no for future communications.";
                                        CommonClass.SendSMS(strValidNumberCus, objCallRegistration.Complaint_RefNoOUT, lngCustomerId.ToString(), DateTime.Now.Date.ToString("yyyyMMdd"), "CGL", strCustomerMessage, strCustomerMessage, "CUS");
                                    }
                                }
                                catch (Exception ex)
                                {
                                    CommonClass.WriteErrorErrFile(Request.RawUrl.ToString(), ex.StackTrace.ToString() + "-->" + ex.Message.ToString());
                                }

                                #endregion SMS Store to SMS_TRANS

                                #region For Display Final Grid
                                //Creating row for temp table
                                DataRow dRowTEMP = dTableTemp.NewRow();

                                dRowTEMP["SNo"]             = dTableTemp.Rows.Count + 1;
                                dRowTEMP["ProductDivision"] = dsTemp.Tables[1].Rows[intCnt]["ProductDivision"].ToString();
                                dRowTEMP["ComplaintRefNo"]  = objCallRegistration.Complaint_RefNoOUT;
                                dTableTemp.Rows.Add(dRowTEMP);
                                #endregion For Display Final Grid
                            }
                        }

                        LblMsgg.Text = "Thank you for submitting your Complaint we will back to you soon. Your complaint no is " + objCallRegistration.Complaint_RefNoOUT + " .<br/> "
                                       + "Preserve this no. for future communications.";

                        //Assigning DataSource to Grid
                        gvFinal.DataSource = dTableTemp;
                        gvFinal.DataBind();
                        //End
                        //Clear Files For File Upload Grid
                        dTableFile = (DataTable)ViewState["dTableFile"];
                        dTableFile.Rows.Clear();
                        ViewState["dTableFile"] = dTableFile;
                        BindGridFiles();
                        gvFiles.Visible = false;

                        //End
                        //Clear Product Grid
                        dsProduct = (DataSet)ViewState["ds"];
                        dsProduct.Tables[1].Rows.Clear();
                        ViewState["ds"] = dsProduct;
                        BindGridView();
                        gvComm.Visible = false;
                        //End
                        btnSubmit.CausesValidation = true;
                        tableResult.Visible        = true;
                        btnSubmit.Enabled          = false;
                        btnCancel.Enabled          = false;
                        ClearControls();
                        lblMsg.Text = "";
                    }
                }
            }
            else
            {
                lblMsg.Text = "Product division " + ddlProductDiv.SelectedItem.Text + " is already added. You can update data from above listing.";
            }
        }
    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        objCallRegistration.Type = "REGISTER_MTO_COMPLAINT";

        // objCallRegistration.CustomerID = int.Parse(hdnCustomerId.Value);

        // save additional info for RSD
        //if (ddlProductDiv.SelectedValue == "31")   //31 live
        //    objRequestReg.SaveWebRequestMTO(hdnwebreqno.Value, txtequipname.Text, txtcoachNo.Text, txtTrainNo.Text, txtAvailblty.Text, txtCommissionDate.Text, txtDateofReporting.Text, txtPoDate.Text);

        objCallRegistration.Prefix          = ddlPrefix.SelectedValue.ToString();
        objCallRegistration.FirstName       = txtFirstName.Text.Trim();
        objCallRegistration.MiddleName      = txtMiddleName.Text.Trim();
        objCallRegistration.LastName        = txtLastName.Text.Trim();
        objCallRegistration.CompanyName     = txtCompanyName.Text.Trim();
        objCallRegistration.OEMCustomerName = TxtOEMCustName.Text.Trim();

        objCallRegistration.Address1    = txtAdd1.Text.ToString();
        objCallRegistration.Address2    = txtAdd2.Text.ToString();
        objCallRegistration.Landmark    = txtLandmark.Text.Trim();
        objCallRegistration.CountrySNo  = Convert.ToInt32(ddlCountry.SelectedValue);
        objCallRegistration.CountryName = ddlCountry.SelectedItem.Text;
        objCallRegistration.City        = TxtCity.Text.Trim();

        objCallRegistration.Email              = txtEmail.Text.Trim();
        objCallRegistration.ContactNo          = txtContactNo.Text.Trim();
        objCallRegistration.AlternateContactNo = txtAltConatctNo.Text.Trim();
        objCallRegistration.Extension          = txtExtension.Text.Trim();
        objCallRegistration.EmpCode            = Membership.GetUser().UserName.ToString();

        objCallRegistration.ProductDivSNo  = Convert.ToInt32(ddlProductDiv.SelectedValue);
        objCallRegistration.ProductLineSno = Convert.ToInt32(ddlProductLine.SelectedValue);
        objCallRegistration.ProductSNo     = Convert.ToInt32(ddlProduct.SelectedValue);
        objCallRegistration.InvoiceNo      = txtInvoiceNum.Text.Trim();
        objCallRegistration.Remarks        = txtComplaintDetails.Text.Trim();

        objCallRegistration.Remarks      = txtComplaintDetails.Text.Trim();
        objCallRegistration.InvoiceNo    = txtInvoiceNum.Text.Trim();
        objCallRegistration.PurchaseDate = txtxPurchaseDate.Text.Trim();

        objCallRegistration.ManufactureDate      = txtPoDate.Text.Trim();
        objCallRegistration.Warranty_Expiry_date = txtWarrantyDate.Text.Trim();
        objCallRegistration.DateOfCommission     = txtCommissionDate.Text.Trim();
        objCallRegistration.DateOfReporting      = txtDateofReporting.Text.Trim();
        objCallRegistration.ProductSRNo          = txtPrdSRNo.Text.Trim();
        objCallRegistration.DispatchDate         = txtDateofDispatch.Text.Trim();

        objCallRegistration.EquipmentName    = txtequipname.Text.Trim();
        objCallRegistration.TrainNo          = txtTrainNo.Text.Trim();
        objCallRegistration.CoachNo          = txtcoachNo.Text.Trim();
        objCallRegistration.AvailablityDepot = txtAvailblty.Text.Trim();
        objCallRegistration.RegisterMTOComplaint();

        ArrayList arrListFiles = new ArrayList();

        if (objCallRegistration.CustomerID > 0)
        {
            #region Upload file

            strFileSavePath = ConfigurationSettings.AppSettings["CustomerFilePath"].ToString();
            dTableFile      = (DataTable)ViewState["dTableFile"];
            if (flUpload.Value != "")
            {
                try
                {
                    if (!Directory.Exists(strFileSavePath))
                    {
                        Directory.CreateDirectory(Server.MapPath(strFileSavePath));
                    }
                    strvFileName = flUpload.Value;
                    strFileName  = Path.GetFileName(strvFileName);
                    strExt       = Path.GetExtension(strvFileName);
                    strFileName  = Path.GetFileNameWithoutExtension(strvFileName) + "_" + DateTime.Now.Day.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Year.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString();
                    strFileName  = strFileName + strExt;
                    DataRow dRow = dTableFile.NewRow();
                    dRow["FileName"] = strFileName;
                    dTableFile.Rows.Add(dRow);
                    ViewState["dTableFile"] = dTableFile;
                    flUpload.PostedFile.SaveAs(Server.MapPath(strFileSavePath + strFileName));
                }
                catch (Exception ex)
                {
                    CommonClass.WriteErrorErrFile(Request.RawUrl.ToString(), ex.StackTrace.ToString() + "-->" + ex.Message.ToString());
                }
            }
            dTableFile = (DataTable)ViewState["dTableFile"];
            for (intCnt = 0; intCnt < dTableFile.Rows.Count; intCnt++)
            {
                arrListFiles.Add(dTableFile.Rows[intCnt]["FileName"].ToString());
            }
            //Uploading Files End
            #endregion Upload file

            //Create Temp table for Complaint + SC Name
            DataTable  dTableTemp      = new DataTable();
            DataColumn dColNo          = new DataColumn("SNo");
            DataColumn dColComplaintNo = new DataColumn("ComplaintRefNo");
            DataColumn dColProd        = new DataColumn("ProductDivision");
            dTableTemp.Columns.Add(dColNo);
            dTableTemp.Columns.Add(dColComplaintNo);
            dTableTemp.Columns.Add(dColProd);

            if (objCallRegistration.ReturnValue == 1)
            {
                #region Save FileData
                RequestRegistration objCallreg = new RequestRegistration();
                //Saving FileNames to DB
                for (int i = 0; i < arrListFiles.Count; i++)
                {
                    objCallreg.EmpCode = Membership.GetUser().UserName.ToString();
                    objCallreg.Type    = "INSERT_COMPLAINT_FILES_DATA";
                    objCallreg.SaveFilesWithComplaintno(objCallRegistration.Complaint_RefNoOUT, arrListFiles[i].ToString());
                }
                objCallreg = null;
                //End Saving
                #endregion Save FileData

                #region For Display Final Grid
                //Creating row for temp table
                DataRow dRowTEMP = dTableTemp.NewRow();

                dRowTEMP["SNo"]             = dTableTemp.Rows.Count + 1;
                dRowTEMP["ProductDivision"] = ddlProductDiv.SelectedItem.Text;
                dRowTEMP["ComplaintRefNo"]  = objCallRegistration.Complaint_RefNoOUT;
                dTableTemp.Rows.Add(dRowTEMP);
                #endregion
            }

            //Assigning DataSource to Grid
            gvFinal.DataSource = dTableTemp;
            gvFinal.DataBind();
            //End
            //Clear Files For File Upload Grid
            dTableFile = (DataTable)ViewState["dTableFile"];
            dTableFile.Rows.Clear();
            ViewState["dTableFile"] = dTableFile;

            gvFiles.Visible            = false;
            btnSubmit.CausesValidation = true;
            tableResult.Visible        = true;
            btnSubmit.Enabled          = false;
            btnCancel.Enabled          = false;
            ClearControls();
            ClearComplaintDetails();
            lblMsg.Text = "";
        }
        #endregion
    }