Beispiel #1
0
    protected void submit2_Click(object sender, EventArgs e)
    {
        try
        {
            ErrorMsg1.Visible = false;
            Database       dbObj     = new Database(HyperCatalog.Business.ApplicationSettings.Components["Datawarehouse_DB"].ConnectionString);
            DataSet        ds        = new DataSet();
            QMReportsClass QS        = new QMReportsClass();
            String         Biz1      = QS.getSelectedValues(BusinessList1);
            String         Cultures1 = QS.getSelectedValues(CulturesList1);
            if (Biz1.Length == 0 || Cultures1.Length == 0)
            {
                ErrorMsg1.Text = "Invalid selection";
                Page.ClientScript.RegisterClientScriptBlock(typeof(Page), "ClientScript", "alert('" + ErrorMsg1.Text + "');", true);
                //ErrorMsg.Visible = true;
            }
            else
            {
                ds = dbObj.RunSPReturnDataSet("Non_Compatibilities_Generate",
                                              new SqlParameter("@Business", Biz1),
                                              new SqlParameter("@RegionName", Cultures1),
                                              new SqlParameter("@Code", this.code1));

// QC777 If the number of rows returned by the dataset is less than 65536, the report will be generated in excel format


                if (ds.Tables[0].Rows.Count > 0 && ds.Tables[0].Rows.Count < 65536)
                {
                    string BizList1 = "";
                    string Regions1 = "";

                    QMReportsClass objQMReports = new QMReportsClass();
                    BizList1 = objQMReports.GetSelectedBiz_Reg(1, Biz1, this.code1);
                    Regions1 = objQMReports.GetSelectedBiz_Reg(0, Cultures1, 0);

                    System.IO.StringWriter       tw = new System.IO.StringWriter();
                    System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);
                    System.Text.StringBuilder    sb = new System.Text.StringBuilder(string.Empty);
                    sb.Append("<html><head>");
                    //   sb.Append("<meta http-equiv='Content-Type' content='text/html; charset=" + page.Request.ContentEncoding.WebName+ "'>");
                    sb.Append("</head><body style='font-size: 14; font-family:Arial Unicode MS'>");
                    // item name
                    sb.Append("<table style='font-size: 14; font-family:Arial Unicode MS' border = '1'>");
                    // sb.Append("<tr>");
                    sb.Append("PRODUCTS WITHOUT COMPATIBILITIES REPORT" + "<br>");

                    sb.Append("Selected " + BUType1.Text + ": " + BizList1 + "<br>");

                    sb.Append("Selected " + Label2.Text + ": " + Regions1 + "<br>");

                    sb.Append("Exported On: " + SessionState.User.FormatUtcDate(DateTime.UtcNow, true, "MM/dd/yyyy") + "<br>");
                    sb.Append("Generated By:" + SessionState.User.FullName + "<br>");

                    DataTable dt = ds.Tables[0];
                    sb.Append("</TR>");

                    #region "Header"

                    DataColumnCollection tableColumns = ds.Tables[0].Columns;
                    DataRowCollection    tableRows    = ds.Tables[0].Rows;
                    sb.Append("<tr>");
                    foreach (DataColumn c in tableColumns)
                    {
                        sb.Append("<th>" + c.ColumnName.ToString() + "</th>");
                    }

                    #endregion

                    foreach (DataRow dr in dt.Rows)
                    {
                        sb.Append("<tr>");
                        foreach (DataColumn dc in dt.Columns)
                        {
                            sb.Append("<td>" + dr[dc].ToString() + "</td>");
                        }
                        sb.Append("</tr>");
                    }
                    sb.Append("</table>");
                    sb.Append("</body></html>");
                    Response.Clear();
                    Response.ClearContent();
                    Response.ClearHeaders();
                    Response.Charset = string.Empty;
                    Response.AddHeader("content-disposition", "attachment;filename=" + "Products_Without_Compatibilities" + ".xls");
                    Response.ContentType = "application/vnd.ms-excel;";
                    //page.Response.ContentType = "application/vnd.ms-excel;charset=UTF-8";
                    //Fix for CR 5109 - Prabhu R S
                    Response.ContentEncoding = System.Text.Encoding.UTF8;  //page.Response.AppendHeader("Content-Length", System.Text.Encoding.UTF8.GetByteCount(exportContent).ToString());
                    EnableViewState          = false;
                    Response.Write(sb.ToString());
                }

                // QC777 If the number of rows returned by the dataset is greater than 65536, the report will be generated in CSV format
                else if (ds.Tables[0].Rows.Count > 0 && ds.Tables[0].Rows.Count > 65536)
                {
                    char   csvSeparator = ',';
                    string BizList1     = "";
                    string Regions1     = "";

                    QMReportsClass objQMReports = new QMReportsClass();
                    BizList1 = objQMReports.GetSelectedBiz_Reg(1, Biz1, code1);
                    Regions1 = objQMReports.GetSelectedBiz_Reg(0, Cultures1, 0);
                    ListItemCollection lstItemCol = new ListItemCollection();
                    lstItemCol.Add(new ListItem("Selected " + BUType1.Text + ": " + BizList1 + ""));
                    lstItemCol.Add(new ListItem("Selected " + Label2.Text + ": " + Regions1 + ""));

                    string s = Utils.ExportDataTableToCSVForSpecificReport(ds.Tables[0], csvSeparator.ToString(), lstItemCol, "PRODUCTS WITHOUT COMPATIBILITIES REPORT").ToString();

                    System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
                    byte[] contentBytes = encoding.GetBytes(s);

                    Response.Clear();
                    Response.ClearContent();
                    Response.ClearHeaders();
                    Response.AddHeader("Accept-Header", contentBytes.Length.ToString());
                    Response.ContentType = "application/txt";
                    //Fix for CR 5109 - Prabhu R S
                    Response.ContentEncoding = System.Text.Encoding.UTF8;
                    Response.AppendHeader("Content-Disposition", "attachment;filename=\"Products_Without_Compatibilities.csv\"; " +
                                          "size=" + s.Length.ToString() + "; " +
                                          "creation-date=" + DateTime.Now.ToString("R") + "; " +
                                          "modification-date=" + DateTime.Now.ToString("R") + "; " +
                                          "read-date=" + DateTime.Now.ToString("R"));

                    Response.OutputStream.Write(
                        contentBytes, 0,
                        Convert.ToInt32(contentBytes.Length));
                    Response.Flush();
                    try { Response.End(); }
                    catch { }
                }
                //QC 777 end

                else
                {
                    ErrorMsg1.Text = "No Records to be exported";
                    Page.ClientScript.RegisterClientScriptBlock(typeof(Page), "ClientScript", "alert('" + ErrorMsg1.Text + "');", true);
                    //ErrorMsg1.Visible = true;
                }
            }
        }
        catch (Exception ex)
        {
            Response.Write(ex.Message.ToString());
        }
    }
Beispiel #2
0
    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        Database dbObj = new Database(HyperCatalog.Business.ApplicationSettings.Components["Datawarehouse_DB"].ConnectionString, 1000);

        ErrorMsg.Visible = false;
        try
        {
            ErrorMsg.Visible = false;
            QMReportsClass Obj_QMReportsClass = new QMReportsClass();
            String         Biz = Obj_QMReportsClass.getSelectedValues(BusinessList);
            if (Biz == null)
            {
                ErrorMsg.Text = "Invalid selection";
                Page.ClientScript.RegisterClientScriptBlock(typeof(Page), "ClientScript", "alert('" + ErrorMsg.Text + "');", true);
            }
            DataSet ds4 = new DataSet();
            if (this.code == 3)
            {
                ds4 = dbObj.RunSPReturnDataSet("Report_GetAccessAttributePl",
                                               new SqlParameter("@PLCode", Biz),
                                               new SqlParameter("@ShortCode", ddlGeography.SelectedValue));
            }
            else
            {
                ds4 = dbObj.RunSPReturnDataSet("Report_GetAccessAttributeOrg",
                                               new SqlParameter("@OrgId", Biz),
                                               new SqlParameter("@ShortCode", ddlGeography.SelectedValue),
                                               new SqlParameter("@Code", this.code));
            }

            if (ds4.Tables[0].Rows.Count > 0)
            {
                DataTable objDt = new DataTable();
                objDt.Columns.Add(new DataColumn("ProductNumber"));
                objDt.Columns.Add(new DataColumn("ProductName"));
                objDt.Columns.Add(new DataColumn("ProductLineNo"));
                objDt.Columns.Add(new DataColumn("Status"));
                objDt.Columns.Add(new DataColumn("LiveDate"));
                objDt.Columns.Add(new DataColumn("ObsoleteDate"));

                objDt.Columns.Add(new DataColumn(Convert.ToString(ds4.Tables[0].Rows[0]["ContainerName"])));


                for (int rowIndex = 1; rowIndex < ds4.Tables[0].Rows.Count; rowIndex++)
                {
                    string curColumn = ds4.Tables[0].Rows[rowIndex]["ContainerName"].ToString();

                    if (!objDt.Columns.Contains(curColumn))
                    {
                        objDt.Columns.Add(new DataColumn(curColumn));
                    }
                }

                for (int i = 0; i < ds4.Tables[0].Rows.Count; i++)
                {
                    DataRow[] drCol = objDt.Select("ProductNumber='" + ds4.Tables[0].Rows[i]["ProductNumber"].ToString() + "'");

                    if (drCol.Length > 0)
                    {
                        drCol[0]["ProductNumber"] = ds4.Tables[0].Rows[i]["ProductNumber"];
                        drCol[0]["ProductName"]   = ds4.Tables[0].Rows[i]["ProductName"];
                        drCol[0]["ProductLineNo"] = ds4.Tables[0].Rows[i]["ProductLineNo"];
                        drCol[0]["Status"]        = ds4.Tables[0].Rows[i]["Status"];
                        drCol[0]["LiveDate"]      = ds4.Tables[0].Rows[i]["LiveDate"];
                        drCol[0]["ObsoleteDate"]  = ds4.Tables[0].Rows[i]["ObsoleteDate"];
                        drCol[0][ds4.Tables[0].Rows[i]["ContainerName"].ToString()] = ds4.Tables[0].Rows[i]["ChunkValue"];
                    }
                    else
                    {
                        DataRow newRow = objDt.NewRow();
                        newRow[0] = ds4.Tables[0].Rows[i]["ProductNumber"].ToString();
                        newRow[ds4.Tables[0].Rows[i]["ContainerName"].ToString()] = ds4.Tables[0].Rows[i]["ChunkValue"];
                        objDt.Rows.Add(newRow);
                    }

                    objDt.AcceptChanges();
                }
                System.Text.StringBuilder sb = new System.Text.StringBuilder(string.Empty);
                sb.Append("<html><head>");
                sb.Append("</head><body style='font-size: 14; font-family:Arial Unicode MS'>");
                sb.Append("<table style='font-size: 14; font-family:Arial Unicode MS' border = '1'>");
                sb.Append("Accessories with Attributes Report" + "<br>");
                string BizList = Obj_QMReportsClass.GetSelectedBiz_Reg(1, Biz, code);
                sb.Append("Selected " + BUType.Text + ": " + BizList + "<br>");

                sb.Append("Selected Region :" + ddlGeography.SelectedItem + "<br>");

                sb.Append("Exported On: " + SessionState.User.FormatUtcDate(DateTime.UtcNow, true, "MM/dd/yyyy") + "<br>");

                sb.Append("Exported By: " + SessionState.User.FullName + "<br>");

                sb.Append("</TR>");

                #region "Header"

                DataColumnCollection tableColumns = objDt.Columns;
                DataRowCollection    tableRows    = objDt.Rows;
                sb.Append("<tr>");
                foreach (DataColumn c in tableColumns)
                {
                    sb.Append("<th style='font-size: 14; font-family:Arial Unicode MS'>" + c.ColumnName.ToString() + "</th>");
                }

                #endregion

                foreach (DataRow dr in objDt.Rows)
                {
                    sb.Append("<tr>");
                    foreach (DataColumn dc in objDt.Columns)
                    {
                        sb.Append("<td>" + dr[dc].ToString() + "</td>");
                    }
                    sb.Append("</tr>");
                }
                sb.Append("</table>");
                sb.Append("</body></html>");
                Response.Clear();
                Response.ClearContent();
                Response.ClearHeaders();
                Response.Charset = string.Empty;
                Response.AddHeader("content-disposition", "attachment;filename=" + "Accessories With Attributes" + ".xls");
                Response.ContentType = "application/vnd.ms-excel;";
                //Fix for CR 5109 - Prabhu R S
                Response.ContentEncoding = System.Text.Encoding.UTF8;
                EnableViewState          = false;
                Response.Write(sb.ToString());
            }
            else
            {
                ErrorMsg.Text = "No Records to be exported";
                Page.ClientScript.RegisterClientScriptBlock(typeof(Page), "ClientScript", "alert('" + ErrorMsg.Text + "');", true);
            }
        }

        catch (Exception ex)
        {
            Response.Write(ex.Message.ToString());
        }
    }