Пример #1
0
        protected void Button1_Click(object sender, EventArgs e)
        {
            string em  = "";
            string id  = "";
            string fee = "";

            Classes.FeeSlip fe = new Classes.FeeSlip();
            if (Session["UserInfo"] == null)
            {
                Response.Write("<script>alert('Please login first')</script>");
                Response.Redirect("login.aspx");
            }
            else
            {
                em = Session["UserInfo"].ToString();
            }
            Classes.Connection connection = new Classes.Connection();
            connection.getConnection();
            SqlCommand    com = new SqlCommand("select Uid,CName,GName from UserReg where email = '" + em + "'", connection.con);
            SqlDataReader rd  = com.ExecuteReader();

            while (rd.Read())
            {
                id             = rd["Uid"].ToString();
                fe.ChildName   = rd["CName"].ToString();
                fe.GardianName = rd["GName"].ToString();
            }
            rd.Close();
            SqlCommand    com1 = new SqlCommand("select Amount from Fee where Uid = '" + id + "'", connection.con);
            SqlDataReader rd1  = com1.ExecuteReader();

            while (rd1.Read())
            {
                fee = rd1["Amount"].ToString();
            }
            if (fee == "")
            {
                fe.Fee = "";
            }
            fe.Fee     = fee;
            fe.Date    = DateTime.Now;
            fe.DueDate = "10 days";
            fe.Recipt(fe);
            Document   pdfDoc     = new Document(PageSize.A4, 10f, 10f, 10f, 0f);
            HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
            PdfWriter  writer     = PdfWriter.GetInstance(pdfDoc, Response.OutputStream);

            pdfDoc.Open();
            htmlparser.Parse(fe.Recipt(fe));
            pdfDoc.Close();
            Response.ContentType = "application/pdf";
            Response.AddHeader("content-disposition", "attachment;filename=Slip_" + fe.Date + ".pdf");
            Response.Cache.SetCacheability(HttpCacheability.NoCache);
            Response.Write(pdfDoc);
            Response.End();
        }
        public StringReader Recipt(FeeSlip a)
        {
            string    Name    = a.ChildName;
            Random    rn      = new Random();
            string    orderNo = "0000" + rn.Next(1, 10).ToString();
            DataTable dt      = new DataTable();

            dt.Columns.AddRange(new DataColumn[5] {
                new DataColumn("Child Name", typeof(string)),
                new DataColumn("Gardian Name", typeof(string)),
                new DataColumn("Fee", typeof(string)),
                new DataColumn("Date", typeof(string)),
                new DataColumn("Valid for", typeof(string)),
            });
            dt.Rows.Add(a.ChildName, a.GardianName, a.Fee, a.Date, a.DueDate);

            using (StringWriter sw = new StringWriter())
            {
                using (HtmlTextWriter hw = new HtmlTextWriter(sw))
                {
                    StringBuilder sb = new StringBuilder();

                    //Generate Invoice (Bill) Header.
                    sb.Append("<table width='100%' cellspacing='0' cellpadding='2'>");
                    sb.Append("<tr><td align='center' style='background-color: #18B5F0' colspan = '2'><b>Organization Slip</b></td></tr>");
                    sb.Append("<tr><td colspan = '2'></td></tr>");
                    sb.Append("<tr><td><b>Serial No: </b>");
                    sb.Append(orderNo);
                    sb.Append("</td><td align = 'right'><b>Date: </b>");
                    sb.Append(DateTime.Now);
                    sb.Append(" </td></tr>");
                    sb.Append("<tr><td colspan = '2'><b> Name: </b>");
                    sb.Append(Name);
                    sb.Append("</td></tr>");
                    sb.Append("</table>");
                    sb.Append("<br />");

                    //Generate Invoice (Bill) Items Grid.
                    sb.Append("<table border = '1'>");
                    sb.Append("<tr>");
                    foreach (DataColumn column in dt.Columns)
                    {
                        sb.Append("<th style = 'background-color: #D20B0C;color:#ffffff'>");
                        sb.Append(column.ColumnName);
                        sb.Append("</th>");
                    }
                    sb.Append("</tr>");
                    foreach (DataRow row in dt.Rows)
                    {
                        sb.Append("<tr>");
                        foreach (DataColumn column in dt.Columns)
                        {
                            sb.Append("<td>");
                            sb.Append(row[column]);
                            sb.Append("</td>");
                        }
                        sb.Append("</tr>");
                    }
                    sb.Append("<tr><td align = 'right' colspan = '");
                    sb.Append(dt.Columns.Count - 1);
                    sb.Append("'></td>");
                    sb.Append("<td>");
                    //sb.Append(dt.Compute("sum(Total)", ""));
                    sb.Append("</td>");
                    sb.Append("</tr></table>");
                    sb.Append("<br />");
                    sb.Append("<div align='center' style='background-color: #18B5F0' colspan = '2'><b>.................Thanks For Generating Slip..............</b></div>");
                    sb.Append("<div align='center' style='background-color: #18B5F0' colspan = '2'><b>...........“Children are great imitators. So give them something great to imitate.”..........</b></div>");
                    sb.Append("<div align='center' style='background-color: #18B5F0' colspan = '2'><b>............................................................................................................................................................................</b></div>");
                    sb.Append("<br />");
                    sb.Append("<br />");
                    //Organization Slip
                    sb.Append("<table width='100%' cellspacing='0' cellpadding='2'>");
                    sb.Append("<tr><td align='center' style='background-color: #18B5F0' colspan = '2'><b>Users Slip</b></td></tr>");
                    sb.Append("<tr><td colspan = '2'></td></tr>");
                    sb.Append("<tr><td><b>Serial No: </b>");
                    sb.Append(orderNo);
                    sb.Append("</td><td align = 'right'><b>Date: </b>");
                    sb.Append(DateTime.Now);
                    sb.Append(" </td></tr>");
                    sb.Append("<tr><td colspan = '2'><b> Name: </b>");
                    sb.Append(Name);
                    sb.Append("</td></tr>");
                    sb.Append("</table>");
                    sb.Append("<br />");

                    //Generate Invoice (Bill) Items Grid.
                    sb.Append("<table border = '1'>");
                    sb.Append("<tr>");
                    foreach (DataColumn column in dt.Columns)
                    {
                        sb.Append("<th style = 'background-color: #D20B0C;color:#ffffff'>");
                        sb.Append(column.ColumnName);
                        sb.Append("</th>");
                    }
                    sb.Append("</tr>");
                    foreach (DataRow row in dt.Rows)
                    {
                        sb.Append("<tr>");
                        foreach (DataColumn column in dt.Columns)
                        {
                            sb.Append("<td>");
                            sb.Append(row[column]);
                            sb.Append("</td>");
                        }
                        sb.Append("</tr>");
                    }
                    sb.Append("<tr><td align = 'right' colspan = '");
                    sb.Append(dt.Columns.Count - 1);
                    sb.Append("'></td>");
                    sb.Append("<td>");
                    //sb.Append(dt.Compute("sum(Total)", ""));
                    sb.Append("</td>");
                    sb.Append("</tr></table>");
                    sb.Append("<br />");
                    sb.Append("<div align='center' style='background-color: #18B5F0' colspan = '2'><b>.................Thanks For Generating Slip..............</b></div>");
                    sb.Append("<div align='center' style='background-color: #18B5F0' colspan = '2'><b>...........“Children are great imitators. So give them something great to imitate.”..........</b></div>");
                    sb.Append("<div align='center' style='background-color: #18B5F0' colspan = '2'><b>............................................................................................................................................................................</b></div>");
                    //Export HTML String as PDF.
                    StringReader sr = new StringReader(sb.ToString());
                    return(sr);
                }
            }
        }