Aspose.DotNetNuke.Modules.AsposeDynamicFormGeneratorExcel.Settings.ProcessButton_Click C# (CSharp) Method

ProcessButton_Click() protected method

protected ProcessButton_Click ( object sender, EventArgs e ) : void
sender object
e EventArgs
return void
        protected void ProcessButton_Click(object sender, EventArgs e)
        {
            try
            {
                if (Session["AsposeDynamicFormsdataTable"] != null)
                {
                    DataTable dt = (DataTable)Session["AsposeDynamicFormsdataTable"];
                    if (dt != null)
                    {
                        if (dt.Rows.Count > 0)
                        {
                            DataRow[] drs = dt.Select("[Field ID] = '" + txtFieldId.Text + "'");
                            if (drs != null)
                            {
                                if (drs.Length > 0)
                                {
                                    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();
                                    drs[0]["Modified By"] = UserId.ToString();
                                    drs[0]["Modified On"] = DateTime.Now.ToString("MM-dd-YYYY");

                                    dt.AcceptChanges();
                                }
                                else
                                {
                                    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 By"] = UserId.ToString();
                                    dr["Modified On"] = DateTime.Now.ToString("MM-dd-YYYY");

                                    dt.Rows.Add(dr);
                                }
                                Session["AsposeDynamicFormsdataTable"] = dt;


                                // Check for license and apply if exists
                                string licenseFile = Server.MapPath("~/App_Data/Aspose.Total.lic");
                                if (File.Exists(licenseFile))
                                {
                                    License license = new License();
                                    license.SetLicense(licenseFile);
                                }

                                //Creating a file stream containing the Excel file to be opened
                                FileStream fstream = new FileStream(Server.MapPath("~/DesktopModules/Aspose.DNN.DynamicFormGenerator.Excel/Docs/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");

                                // Apply Hearder Row/First Row text to Bold
                                Cells.Style objStyle = new Cells.Style();
                                objStyle.Font.IsBold = true;

                                StyleFlag objStyleFlag = new StyleFlag();
                                objStyleFlag.FontBold = true;

                                worksheet.Cells.ApplyRowStyle(0, objStyle, objStyleFlag);

                                //Auto-fit all the columns
                                workbook.Worksheets["Data"].AutoFitColumns();

                                workbook.Save(Server.MapPath("~/DesktopModules/Aspose.DNN.DynamicFormGenerator.Excel/Docs/AsposeDynamicFormsDataFile.xlsx"), SaveFormat.Xlsx);

                                ClearFormButton_Click(sender, e);
                            }
                        }
                    }
                }
                ProcessButton.Text = "Add New Field";
            }
            catch (Exception exc)
            {
                success_msg.Visible = false;
                error_msg.Visible = true;
                error_msg.InnerText = exc.Message;
            }
        }