Aspose.Sitefinity.FormBuilder.AsposeFormBuilder.btnUpdate_OnClick C# (CSharp) Method

btnUpdate_OnClick() protected method

protected btnUpdate_OnClick ( object sender, EventArgs e ) : void
sender object
e System.EventArgs
return void
        protected void btnUpdate_OnClick(object sender, EventArgs e)
        {
            try
            {
                if (Session["AsposeDynamicFormsdataTable"] != null)
                {
                    DataTable dt = (DataTable)Session["AsposeDynamicFormsdataTable"];
                    if (dt != null)
                    {
                        if (dt.Rows.Count > 0)
                        {
                            string setupSeletectedItemId = (string)Session["SetupSeletectedItemID"];

                            DataRow[] drs = dt.Select("[Field ID] = '" + setupSeletectedItemId + "'");
                            if (true)
                            {
                                if (drs.Length > 0)
                                {
                                    drs = dt.Select("[Field ID] = '" + txtFieldId.Text.Trim() + "'"); // checking field type constraint 
                                    if (drs != null)
                                    {
                                        if (drs.Length > 0)
                                        {
                                            if (setupSeletectedItemId == txtFieldId.Text.Trim())
                                            {
                                                drs[0]["Field Type"] = ddlFieldType.SelectedValue.Trim();
                                                drs[0]["Field ID"] = txtFieldId.Text.Trim();
                                                drs[0]["Field Label Text"] = txtFieldLableText.Text.Trim();
                                                drs[0]["Field Values"] = txtFieldValues.Text.Trim();
                                                if (chkIsDisplay.Checked)
                                                {
                                                    drs[0]["Is Display"] = "TRUE";
                                                }
                                                else
                                                {
                                                    drs[0]["Is Display"] = "FALSE";
                                                }
                                                drs[0]["Sort ID"] = txtSortId.Text.Trim();


                                                lbl_Msg.Visible = true;
                                                lbl_Msg.CssClass = "alertupdate";
                                                lbl_Msg.Text = "Field updated successfully";

                                                dt.AcceptChanges();

                                            }
                                            else
                                            {       // on updating field user Enter other Field ID
                                                lbl_Msg.Visible = true;
                                                lbl_Msg.CssClass = "alertdanger";
                                                lbl_Msg.Text = "Field ID already exists ";
                                                btnUpdate.Visible = true;
                                                return;

                                            }
                                        }
                                        else
                                        {                                            
                                            lbl_Msg.Visible = true;
                                            lbl_Msg.CssClass = "alertdanger";
                                            lbl_Msg.Text = "Field ID not exists ";
                                            btnUpdate.Visible = true;
                                            return;

                                        }
                                    }

                                }
                                else
                                {
                                    // new field record case 
                                    DataRow dr = dt.NewRow();

                                    dr["Field Type"] = ddlFieldType.SelectedValue.Trim();
                                    dr["Field ID"] = txtFieldId.Text.Trim();
                                    dr["Field Label Text"] = txtFieldLableText.Text.Trim();
                                    dr["Field Values"] = txtFieldValues.Text.Trim();
                                    if (chkIsDisplay.Checked)
                                    {
                                        dr["Is Display"] = "TRUE";
                                    }
                                    else
                                    {
                                        dr["Is Display"] = "FALSE";
                                    }
                                    dr["Sort ID"] = txtSortId.Text.Trim();

                                    dr["Modified On"] = DateTime.Now.ToString("MM-dd-YYYY");

                                    dt.Rows.Add(dr);

                                    lbl_Msg.Visible = true;
                                    lbl_Msg.CssClass = "Success";
                                    lbl_Msg.Text = "Field added successfully";

                                }

                                Session["AsposeDynamicFormsdataTable"] = dt;

                                //Creating a file stream containing the Excel file to be opened
                                FileStream fstream = new FileStream(Server.MapPath("~/Addons/Aspose.SiteFinity.FormBuilder.ToExcel/uploads/AsposeDynamicFormsDataFile.xlsx"), FileMode.Open, FileAccess.Read);

                                //Instantiating a Workbook object
                                //Opening the Excel file through the file stream
                                Workbook workbook = new Workbook(fstream);

                                //Accessing a worksheet using its sheet name
                                Worksheet worksheet = workbook.Worksheets["Settings"];


                                //Closing the file stream to free all resources
                                fstream.Close();

                                workbook.Worksheets.RemoveAt("Settings");
                                worksheet = workbook.Worksheets.Add("Settings");
                                worksheet.Cells.ImportDataTable(dt, true, "A1");

                                Aspose.Cells.Style objStyle = workbook.CreateStyle();
                                objStyle.Font.IsBold = true;

                                //Bold style flag options
                                StyleFlag objStyleFlag = new StyleFlag();
                                objStyleFlag.FontBold = true;
                                //Apply this style to row 1

                                Row row1 = workbook.Worksheets[0].Cells.Rows[0];
                                row1.ApplyStyle(objStyle, objStyleFlag);
                                worksheet.Cells.ApplyRowStyle(0, objStyle, objStyleFlag);

                                //Auto-fit all the columns
                                workbook.Worksheets["Data"].AutoFitColumns();
                                workbook.Save(Server.MapPath("~/Addons/Aspose.SiteFinity.FormBuilder.ToExcel/uploads/AsposeDynamicFormsDataFile.xlsx"), SaveFormat.Xlsx);

                                PopulateGrid();
                                ClearFields();      // clear field function which clear all fields while update/adding record 




                            }
                        }
                    }
                }
            }
            catch (Exception exc)
            {
                ShowException(exc);
            }
        }