Esempio n. 1
0
        public void Render(ViewContext viewContext, TextWriter writer)
        {
            // generate view into string
            var sb = new System.Text.StringBuilder();
            TextWriter tw = new System.IO.StringWriter(sb);
            _result.View.Render(viewContext, tw);
            var resultCache = sb.ToString();

            var ms = new MemoryStream();
            var document = new Document();
            var pdfWriter = PdfWriter.GetInstance(document, ms);
            var worker = new HTMLWorker(document);
            document.Open();
            worker.StartDocument();

            pdfWriter.CloseStream = false;

            worker.Parse(new StringReader(resultCache));
            worker.EndDocument();
            worker.Close();
            document.Close();

            // this is as close as we can get to being "success" before writing output
            // so set the content type now
            viewContext.HttpContext.Response.ContentType = "application/pdf";
            pdfWriter.Flush();
            pdfWriter.Close();

            viewContext.HttpContext.Response.BinaryWrite(ms.ToArray());
        }
Esempio n. 2
0
    protected void GenerateInvoicePDF(object sender, EventArgs e)
    {
        //Dummy data for Invoice (Bill).
        string    companyName = "ASPSnippets";
        int       orderNo     = 2303;
        DataTable dt          = new DataTable();

        dt.Columns.AddRange(new DataColumn[5] {
            new DataColumn("ProductId", typeof(string)),
            new DataColumn("Product", typeof(string)),
            new DataColumn("Price", typeof(int)),
            new DataColumn("Quantity", typeof(int)),
            new DataColumn("Total", typeof(int))
        });
        dt.Rows.Add(101, "MuscleBlaze Whey Protein", 4000, 1, 4000);
        dt.Rows.Add(102, " Micronized Creatine Powder", 2132, 1, 2132);
        dt.Rows.Add(103, "Unflavoured 90 tablet(s)", 2312, 1, 2312);

        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>Order Sheet</b></td></tr>");
                sb.Append("<tr><td colspan = '2'></td></tr>");
                sb.Append("<tr><td><b>Order 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>Company Name: </b>");
                sb.Append(companyName);
                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("'>Total</td>");
                sb.Append("<td>");
                sb.Append(dt.Compute("sum(Total)", ""));
                sb.Append("</td>");
                sb.Append("</tr></table>");

                //Export HTML String as PDF.
                StringReader sr         = new StringReader(sb.ToString());
                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(sr);
                pdfDoc.Close();
                Response.ContentType = "application/pdf";
                Response.AddHeader("content-disposition", "attachment;filename=Invoice_" + orderNo + ".pdf");
                Response.Cache.SetCacheability(HttpCacheability.NoCache);
                Response.Write(pdfDoc);
                Response.End();
            }
        }
    }
        private void MenuRealizarExtracto_Click(object sender, RoutedEventArgs e)
        {
            MessageBoxResult r = MaterialMessageBox.ShowWithCancel("¿Desea realizar el extracto de este mes?", "Advertencia");

            if (r == MessageBoxResult.OK)
            {
                try
                {
                    StringBuilder sb  = new StringBuilder();
                    StringBuilder sb2 = new StringBuilder();
                    Byte[]        bytes;
                    using (StringWriter sw = new StringWriter())
                    {
                        using (MemoryStream ms = new MemoryStream())
                        {
                            using (Document document = new Document())
                            {
                                using (PdfWriter writer = PdfWriter.GetInstance(document, ms))
                                {
                                    document.Open();
                                    using (HtmlTextWriter hw = new HtmlTextWriter(sw))
                                    {
                                        int    orderNo     = 1234;
                                        string companyName = c.entidadcuenta;
                                        sb.Append("<table width='100%' cellspacing='0' cellpadding='2'>");
                                        sb.Append("<tr><td align='center' style='background-color: #18B5F0' colspan = '2'><b>Extracto Bancario</b></td></tr>");
                                        sb.Append("<tr><td colspan = '2'></td></tr>");
                                        sb.Append("<tr><td><b>Numero Operacion: </b>");
                                        sb.Append(orderNo);
                                        sb.Append("</td><td align = 'right'><b>Fecha: </b>");
                                        sb.Append(DateTime.Now.Date.ToShortDateString());
                                        sb.Append("</td></tr>");
                                        sb.Append("<tr><td colspan = '2'><b>Entidad Bancaria: </b>");
                                        sb.Append(companyName);
                                        sb.Append("</td></tr>");
                                        sb.Append("<tr><td colspan = '2'><b>Titular: </b>");
                                        sb.Append(c.titularcuenta);
                                        sb.Append("</td></td>");
                                        sb.Append("</table>");
                                        sb.Append("<br />");
                                        //sb2
                                        sb2.Append("<br />");

                                        sb2.Append("<table border = '1'>");
                                        sb2.Append("<tr>");

                                        sb2.Append("<th>Fecha</th>");
                                        sb2.Append("<th>Nombre</th>");
                                        sb2.Append("<th>Operación</th>");
                                        sb2.Append("<th>Cuantia</th>");
                                        sb2.Append("<th>Saldo</th>");

                                        sb2.Append("</tr>");

                                        foreach (IngresosYGastos item in dataGrid.Items)
                                        {
                                            sb2.Append("<tr>");
                                            sb2.Append("<td>");
                                            sb2.Append(item.FechaOperacion);
                                            sb2.Append("</td>");
                                            sb2.Append("<td>");
                                            sb2.Append(item.Nombre);
                                            sb2.Append("</td>");
                                            sb2.Append("<td>");
                                            sb2.Append(item.FechaValor);
                                            sb2.Append("</td>");
                                            sb2.Append("<td>");
                                            sb2.Append(item.Cuantia);
                                            sb2.Append("</td>");
                                            sb2.Append("<td>");
                                            sb2.Append((cuantiaRes + item.Cuantia));
                                            sb2.Append("</td>");
                                            sb2.Append("</tr>");
                                            cuantiaRes = cuantiaRes + item.Cuantia;
                                        }
                                        sb2.Append("</tr></table>");
                                    }
                                    using (HTMLWorker htmlWorker = new HTMLWorker(document))
                                    {
                                        StringReader sr1 = new StringReader(sb.ToString());

                                        htmlWorker.Parse(sr1);

                                        PdfContentByte cb = writer.DirectContent;
                                        cb.MoveTo(30, document.Top - 115f);
                                        cb.LineTo(563, document.Top - 115f);
                                        cb.Stroke();
                                        sr1 = new StringReader(sb2.ToString());
                                        htmlWorker.Parse(sr1);
                                    }
                                    document.Close();
                                }
                            }
                            bytes = ms.ToArray();
                        }
                    }
                    string testFile = "./../../Usuarios/" + c.numerocuenta + "/" + "Extracto_" + DateTime.Now.Day + DateTime.Now.Month + DateTime.Now.Year + DateTime.Now.Hour + DateTime.Now.Minute + DateTime.Now.Second + DateTime.Now.Millisecond + ".pdf";
                    System.IO.File.WriteAllBytes(testFile, bytes);
                    c.saldo = cuantiaRes;
                    MainWindow.u.RepositorioCuentasBancarias.Update(c);
                    Asignar();
                    listBox.Items.Clear();
                    cargarLista();
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.ToString());
                }
            }
        }
Esempio n. 4
0
        protected void imgbtnPDF_OnClick(object sender, EventArgs e)
        {
            try
            {
                Response.Clear();
                Response.Buffer          = true;
                Response.ContentType     = "application/pdf";
                Response.ContentEncoding = System.Text.Encoding.Unicode;
                Response.BinaryWrite(System.Text.Encoding.Unicode.GetPreamble());
                string filename = "UtilityAirStatus_Report" + DateTime.Now.Date.ToString("dd-MM-yyyy") + ".pdf";
                Response.AddHeader("content-disposition", "attachment;filename=" + filename);
                Response.Cache.SetCacheability(HttpCacheability.NoCache);

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

                    //To Export all pages
                    gvReport2.AllowPaging = false;
                    //   this.MilkStorageGrid();

                    gvReport2.HeaderRow.BackColor = Color.White;
                    foreach (TableCell cell in gvReport2.HeaderRow.Cells)
                    {
                        cell.BackColor = gvReport2.HeaderStyle.BackColor;
                    }
                    foreach (GridViewRow row in gvReport2.Rows)
                    {
                        row.BackColor = Color.White;
                        foreach (TableCell cell in row.Cells)
                        {
                            if (row.RowIndex % 2 == 0)
                            {
                                cell.BackColor = gvReport2.AlternatingRowStyle.BackColor;
                            }
                            else
                            {
                                cell.BackColor = gvReport2.RowStyle.BackColor;
                            }
                            cell.CssClass = "textmode";
                            List <Control> controls = new List <Control>();

                            //Add controls to be removed to Generic List
                            foreach (Control control in cell.Controls)
                            {
                                controls.Add(control);
                            }

                            //Loop through the controls to be removed and replace then with Literal
                            foreach (Control control in controls)
                            {
                                switch (control.GetType().Name)
                                {
                                case "HyperLink":
                                    cell.Controls.Add(new Literal {
                                        Text = (control as HyperLink).Text
                                    });
                                    break;

                                case "TextBox":
                                    cell.Controls.Add(new Literal {
                                        Text = (control as TextBox).Text
                                    });
                                    break;

                                case "LinkButton":
                                    cell.Controls.Add(new Literal {
                                        Text = (control as LinkButton).Text
                                    });
                                    break;

                                case "CheckBox":
                                    cell.Controls.Add(new Literal {
                                        Text = (control as CheckBox).Text
                                    });
                                    break;

                                case "RadioButton":
                                    cell.Controls.Add(new Literal {
                                        Text = (control as RadioButton).Text
                                    });
                                    break;
                                }
                                cell.Controls.Remove(control);
                            }
                        }
                    }
                    //gvPCIPLogReport.Columns[0].Visible = false;
                    gvReport2.RenderControl(hw);

                    string strSubTitle = "Utility Air Status Report";
                    string strPath     = Request.Url.GetLeftPart(UriPartial.Authority) + "/images/Logo1.gif";
                    //string content = "<div align='left' style='font-family:verdana;font-size:16px'><img src='" + strPath + "'/></div><div align='center' style='font-family:verdana;font-size:16px'><span style='font-size:16px;font-weight:bold;color:Black;'>" + Session[ApplicationSession.OrganisationName] +
                    string content = "<div align='left' style='font-family:verdana;font-size:16px'><img src='" + strPath + "'/></div><div align='center' style='font-family:verdana;font-size:16px'><span style='font-size:16px;font-weight:bold;color:Black;'>" + Session[ApplicationSession.OrganisationName] +
                                     "</span><br/><span style='font-size:13px;font-weight:bold;color:Black;'>" + Session[ApplicationSession.OrganisationAddress] + "</span><br/>" +
                                     "<span align='center' style='font-family:verdana;font-size:13px'><strong>" + strSubTitle + "</strong></span><br/>" +
                                     "<div align='center' style='font-family:verdana;font-size:12px'><strong>From Date :</strong>" +
                                     DateTime.ParseExact(txtFromDate.Text + " " + txtFromTime.Text, "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture) +
                                     "&nbsp;&nbsp;&nbsp;&nbsp;<strong> To Date :</strong>" +
                                     DateTime.ParseExact(txtToDate.Text + " " + txtToTime.Text, "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture) +
                                     "</div><br/> "
                                     + sw.ToString() + "<br/></div>";
                    // string style = @"<!--mce:2-->";
                    StringReader sr     = new StringReader(content);
                    Document     pdfDoc = new Document(iTextSharp.text.PageSize.A4, 10f, 10f, 10f, 0f);
                    pdfDoc.SetPageSize(iTextSharp.text.PageSize.A4.Rotate());
                    HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
                    PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
                    pdfDoc.Open();
                    htmlparser.Parse(sr);
                    pdfDoc.Close();
                    Response.Write(pdfDoc);
                    gvReport2.GridLines = GridLines.None;
                    Response.End();
                }
            }
            catch (Exception ex)
            {
                log.Error("Error", ex);
                ClientScript.RegisterStartupScript(typeof(Page), "MessagePopUp",
                                                   "<script>alert('Oops! There is some technical Problem. Contact to your Administrator.');</script>");
            }
            //CreateWordDocument(filename, saveAs, strType);
        }
        public async Task <byte[]> CreateSignedApplication(ApplicationViewModel viewModel)
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(null);
            }

            var img = String.Format("data:image/jpg;base64,{0}", Convert.ToBase64String(viewModel.Signature));

            Image image = Image.GetInstance(viewModel.Signature);

            using (var context = new CIMOB_IPS_DBContext(new DbContextOptions <CIMOB_IPS_DBContext>()))
            {
                var student = await context.Student
                              .Include(s => s.IdAccountNavigation)
                              .Include(s => s.IdCourseNavigation)
                              .SingleOrDefaultAsync(s => s.IdAccount == GetCurrentUserID());

                var programType = await context.ProgramType
                                  .SingleOrDefaultAsync(s => s.IdProgramType == 1); //erasmus, mudar prox fase

                var strMes = DateTime.Now.ToString("MMMM");
                strMes = strMes.First().ToString().ToUpper() + strMes.Substring(1);

                StringBuilder strbHtml = new StringBuilder();
                strbHtml.AppendLine("<h2 style='text-align: center;'>Declaração de candidatura a mobilidade</h2>");
                //incluir morada
                strbHtml.AppendLine("<br><br><p>Eu, " + student.Name + ", portador(a) do n.º de cartão de cidadão " + student.Cc + ", nascido(a) na data " + student.BirthDate.ToString("dd/MM/yyyy"));
                strbHtml.AppendLine(", declaro que, no presente dia " + DateTime.Now.Date.ToString("dd/MM/yyyy") + ", me candidato ao programa de mobilidade " + programType.Name + ", ");
                strbHtml.AppendLine("tendo o perfeito conhecimento dos regulamentos associados com o mesmo, bem como os meus deveres e direitos.</p>");
                strbHtml.AppendLine("<br><br><br><p><b>O estudante,</b></p><br><br>");
                //strbHtml.AppendLine("<img src='" + String.Format("data:image/gif;base64,{0}", Convert.ToBase64String(signature.MySignature)).Replace("/", "//") + "' />");

                MemoryStream ms        = new MemoryStream();
                TextReader   txtReader = new StringReader(strbHtml.ToString());

                Document doc = new Document(PageSize.A4, 25, 25, 25, 25);


                PdfWriter oPdfWriter = PdfWriter.GetInstance(doc, ms);

                HTMLWorker htmlWorker = new HTMLWorker(doc);

                doc.Open();
                htmlWorker.StartDocument();

                htmlWorker.Parse(txtReader);

                doc.Add(image);

                strbHtml = new StringBuilder();
                strbHtml.AppendLine(DateTime.Now.ToString("dd") + " " + strMes + " de " + DateTime.Now.ToString("yyyy"));
                txtReader = new StringReader(strbHtml.ToString());
                htmlWorker.Parse(txtReader);
                htmlWorker.EndDocument();
                htmlWorker.Close();
                doc.Close();

                //return File(ms.ToArray(), "application/pdf", "teste.pdf");
                return(ms.ToArray());
            }
        }
        public ActionResult ExportToPDF(List <UserLoginInformation> matchingUsers)
        {
            string filePath = Path.Combine(Server.MapPath(_uploadDirectory), "users_" + LoginController.ActiveUser_SESSIONID + ".pdf");

            using (var fs = new FileStream(filePath, FileMode.Create, FileAccess.Write))
            {
                Document  document = new Document(PageSize.A1.Rotate(), 25, 25, 30, 30);
                PdfWriter writer   = PdfWriter.GetInstance(document, fs);
                document.Open();

                StringBuilder sb = new StringBuilder();
                sb.Append("<table style=\"color:black;font-family: Arial, Helvetica, sans-serif;font-size: 8px;width:100%;max-width:100%;margin-bottom:20px;border:1px solid #ddd;\">");
                sb.Append("<thead>");
                sb.Append("<tr style=\"color: black;font-family:Arial, Helvetica, sans-serif; font-size:10px;font-weight:bold;border-bottom: 1px solid black; \">");

                sb.Append("<td>");
                sb.Append("Title");
                sb.Append("</td>");

                sb.Append("<td>");
                sb.Append("User Name");
                sb.Append("</td>");

                sb.Append("<td>");
                sb.Append("Email Id");
                sb.Append("</td>");

                sb.Append("<td>");
                sb.Append("Contact No");
                sb.Append("</td>");

                sb.Append("<td>");
                sb.Append("Organization");
                sb.Append("</td>");

                sb.Append("<td>");
                sb.Append("Primary Facility");
                sb.Append("</td>");


                sb.Append("<td>");
                sb.Append("User Role");
                sb.Append("</td>");

                sb.Append("<td>");
                sb.Append("Status");
                sb.Append("</td>");

                sb.Append("<td>");
                sb.Append("Date of Registration");
                sb.Append("</td>");

                sb.Append("<td>");
                sb.Append("Last Activation Date");
                sb.Append("</td>");

                sb.Append("<td>");
                sb.Append("Last Deactivated Date");
                sb.Append("</td>");

                sb.Append("<td>");
                sb.Append("ZipCode");
                sb.Append("</td>");

                sb.Append("<td>");
                sb.Append("City");
                sb.Append("</td>");

                sb.Append("<td>");
                sb.Append("State");
                sb.Append("</td>");

                sb.Append("<td>");
                sb.Append("Country");
                sb.Append("</td>");

                sb.Append("<td>");
                sb.Append("IsSuperAdmin");
                sb.Append("</td>");

                sb.Append("<td>");
                sb.Append("IsOrganizationalAdmin");
                sb.Append("</td>");

                sb.Append("<td>");
                sb.Append("IsFacilityAdmin");
                sb.Append("</td>");

                sb.Append("<td>");
                sb.Append("IsNormalUser");
                sb.Append("</td>");

                sb.Append("<td>");
                sb.Append("Other Facilities");
                sb.Append("</td>");

                sb.Append("</tr>");
                sb.Append("</thead>");

                sb.Append("<tbody>");
                foreach (UserLoginInformation @userLogin in matchingUsers)
                {
                    sb.Append("<tr>");

                    sb.Append("<td>");
                    sb.Append(userLogin.TitleName);
                    sb.Append("</td>");

                    sb.Append("<td>");
                    sb.Append(userLogin.FirstName + ", " + userLogin.LastName);
                    sb.Append("</td>");

                    sb.Append("<td>");
                    sb.Append(userLogin.EmailId);
                    sb.Append("</td>");

                    sb.Append("<td>");
                    sb.Append(userLogin.ContactNumber);
                    sb.Append("</td>");

                    sb.Append("<td>");
                    sb.Append(userLogin.Facility.OrganisationName);
                    sb.Append("</td>");

                    sb.Append("<td>");
                    sb.Append(userLogin.Facility.FacilityMasterName);
                    sb.Append("</td>");

                    string loginrole;
                    if (userLogin.IsSuperAdmin)
                    {
                        loginrole = "Super Admin";
                    }
                    else if (userLogin.IsOrganisationAdmin)
                    {
                        loginrole = "Organisation Admin";
                    }
                    else if (userLogin.IsFacilityAdmin)
                    {
                        loginrole = "Facility Admin";
                    }
                    else
                    {
                        loginrole = "Normal User";
                    }

                    sb.Append("<td>");
                    sb.Append(loginrole);
                    sb.Append("</td>");

                    sb.Append("<td>");
                    sb.Append(@userLogin.IsActive);
                    sb.Append("</td>");

                    sb.Append("<td>");
                    sb.Append(@userLogin.CreatedDate);
                    sb.Append("</td>");

                    sb.Append("<td>");
                    sb.Append(@userLogin.ActivatedDate);
                    sb.Append("</td>");

                    sb.Append("<td>");
                    sb.Append(@userLogin.DeactivatedDate);
                    sb.Append("</td>");

                    string zipcode = "";
                    if (@userLogin.ZipId.HasValue)
                    {
                        zipcode = @userLogin.ZipId.Value.ToString().PadLeft(5, '0');
                    }

                    sb.Append("<td>");
                    sb.Append(zipcode);
                    sb.Append("</td>");


                    sb.Append("<td>");
                    sb.Append(@userLogin.City);
                    sb.Append("</td>");

                    sb.Append("<td>");
                    sb.Append(@userLogin.State);
                    sb.Append("</td>");

                    sb.Append("<td>");
                    sb.Append(@userLogin.Country);
                    sb.Append("</td>");

                    sb.Append("<td>");
                    sb.Append(@userLogin.IsSuperAdmin);
                    sb.Append("</td>");

                    sb.Append("<td>");
                    sb.Append(@userLogin.IsOrganisationAdmin);
                    sb.Append("</td>");

                    sb.Append("<td>");
                    sb.Append(@userLogin.IsFacilityAdmin);
                    sb.Append("</td>");

                    sb.Append("<td>");
                    sb.Append(@userLogin.IsNormalUser);
                    sb.Append("</td>");

                    sb.Append("<td>");
                    sb.Append(@userLogin.GetUserFacilityNamesAsString());
                    sb.Append("</td>");


                    sb.Append("</tr>");
                }
                sb.Append("</tbody>");
                sb.Append("</table>");

                TextReader reader = new StringReader(sb.ToString());
                using (var htmlWorker = new HTMLWorker(document))
                {
                    htmlWorker.Parse(reader);
                }
                document.Close();
                writer.Close();
                fs.Close();
            }
            filePath = "users_" + LoginController.ActiveUser_SESSIONID + ".pdf";
            return(Json(filePath, JsonRequestBehavior.AllowGet));
        }
        protected void GenerateInvoicePDF(object sender, EventArgs e)
        {
            string    companyName = "Gallery Website";
            string    address     = Convert.ToString(Session["address"]);
            int       orderid     = Convert.ToInt32(Session["orderid"]);
            int       orderNo     = orderid;
            DataTable dt          = new DataTable();

            dt.Columns.AddRange(new DataColumn[4] {
                new DataColumn("ProductId", typeof(int)),
                new DataColumn("Name", typeof(string)),
                new DataColumn("Quantity", typeof(int)),
                new DataColumn("Total Price", typeof(Double))
            });

            GalleryEntities1   _db          = new GalleryEntities1();
            List <ORDERDETAIL> orderdetails = _db.ORDERDETAILs.Where(
                c => c.OrderId == orderid).ToList();

            for (int i = 0; i < orderdetails.Count; i++)
            {
                PRODUCT product = _db.PRODUCTs.Find(orderdetails[i].ProductId);

                dt.Rows.Add(orderdetails[i].ProductId, product.Name, orderdetails[i].Quantity, orderdetails[i].TotalPrice);
            }

            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>Receipt</b></td></tr>");
                    sb.Append("<tr><td colspan = '2'></td></tr>");
                    sb.Append("<tr><td><b>Order 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><b>Company Name: </b>");
                    sb.Append(companyName);
                    sb.Append("</td><td align = 'right'><b>Address: </b>");
                    sb.Append(address);
                    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>");
                        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("'>Total</td>");
                    sb.Append("<td>");
                    double total1 = Convert.ToDouble(Session["total"]);
                    sb.Append(String.Format("{0:0.00}", total1));
                    sb.Append("</td>");
                    sb.Append("</tr></table>");

                    //Export HTML String as PDF.
                    StringReader sr         = new StringReader(sb.ToString());
                    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(sr);
                    pdfDoc.Close();
                    Response.ContentType = "application/pdf";
                    Response.AddHeader("content-disposition", "attachment;filename=Invoice_" + orderNo + ".pdf");
                    Response.Cache.SetCacheability(HttpCacheability.NoCache);
                    Response.Write(pdfDoc);
                    Response.End();
                }
            }
        }
    public void GeneratePDFNew(string Imagepath, string fileName, string HeaderName, GridView GridReport, Page oPage, string text)
    {
        var document = new Document(PageSize.A4, 50, 50, 25, 25);

        //  document.SetMargins(20, 20, 20, 20);
        try
        {
            // oPage.Response.Clear();
            PdfWriter.GetInstance(document, oPage.Response.OutputStream);
            // generates the grid first
            StringBuilder strB  = new StringBuilder();
            StringBuilder strB1 = new StringBuilder();
            string        str   = string.Empty;

            //str = "<font size='12px' face='arial'><table width='70%' align='left'><tr><td colspan='5' ></td></tr>";
            //str = str + "<tr><td colspan='5' width='30%' align='center'><b>Estimate Details</b></td></tr> <tr><td align='right' >Estimate No:</td><td><b>" + Obj_Comm.ToTitleCase(lblEstimateNo.Text) + "</b></td></tr>";
            //str = str + "<tr><td align='right' >Estimate Date:</td><td><b>" + Obj_Comm.ToTitleCase(lblEstimateDate.Text) + "</b></td></tr>";
            //str = str + "<tr><tr><td align='right' >Order By:</td><td><b>" + Obj_Comm.ToTitleCase(lblOrderBy.Text) + "</b></td></tr>";
            //str = str + "<tr><tr><td align='right' >Customer:</td><td><b>" + Obj_Comm.ToTitleCase(lblCustName.Text) + "</b></td></tr>";
            //str = str + "<tr><tr><td align='right' >Site:</td><td><b>" + Obj_Comm.ToTitleCase(lblSite.Text) + "</b></td></tr>";
            //str = str + "<tr><tr><td align='right' >Exp Delivery Date:</td><td><b>" + Obj_Comm.ToTitleCase(lblExpDelDate.Text) + "</b></td></tr>";
            //str = str + "<tr><tr><td align='right' >Order Status:</td><td><b>" + Obj_Comm.ToTitleCase(lblOrderStatus.Text) + "</b></td></tr>";

            str = "<font size='12px' face='arial'><table width='90%' align='left'>";

            str = str + "<tr><td colspan='4' align='left'><b>" + lblCompanyName.Text + "</b></td></tr>";
            str = str + "<tr><td colspan='4' align='left'><b>" + lblCompanyAddress.Text + "</b></td></tr>";
            str = str + "<tr><td colspan='4' align='left'><b>Phone No:" + lblPhnNo.Text + "</b></td></tr>";
            str = str + "<tr><td colspan='4' align='left'><b>Fax No:" + lblFaxNo.Text + "</b></td></tr>";
            str = str + "<tr><td colspan='4' align='Center'><b>Material Requisition</b></td></tr>";

            str = str + "<tr><td align='Right'><b>" + "Requisition No :" + "</b></td><td align='Left'><b>" + lblReqNo.Text + "</b></td><td  align='right'><b>" + "Requisition Date :" + "</b></td><td align='Left'><b>" + lblReqDate.Text + "</b></td></tr>";
            str = str + "<tr><td align='Right'><b></b></td><td align='Left'><b></b></td><td  align='right'><b>" + "Requisition By :" + "</b></td><td align='Left'><b>" + lblEmp.Text + "</b></td></tr>";

            str = str + "<tr><td colspan='4' align='Left'><b>" + "" + "</b></td></tr>";

            //str = str + "<tr><td colspan='3' align='Left'><b></b></td></tr>";
            // str = str + "<tr><td ><b>" + lblSuplier.Text + "</b></td><td colspan='2' align='Left'></td></tr>";
            // str = str + "<tr><td colspan='3' align='Left'><b>" + "" + "</b></td></tr>";

            document.SetMargins(10, 10, 10, 10);
            document.Open();
            str = str + "<br><tr><td colspan='4' align='right'>" + GridViewToHtml(ReqGrid) + "</td></tr><br>";
            str = str + "<br><tr><td colspan='4'><table><tr><td>Prepared By</td><td></td><td>Authorised By</td><td></td><td>Issued By</td><td></td><td>Received By</td></tr>";
            str = str + "<tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>";
            str = str + "<tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>";
            str = str + "<tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>";
            str = str + "<tr><td width='100%'><b>Name &amp; Designation<b></td><td></td><td width='100%'><b>Name &amp; Designation<b></td><td></td><td width='100%'><b>Name &amp; Designation<b></td><td></td><td width='100%'><b>Name &amp; Designation<b></td></tr>";
            str = str + "</table></td></tr>";
            str = str + "</table></font>";

            strB.Append(str);

            document.SetMargins(20, 20, 20, 20);
            document.Open();
            if (text.Length.Equals(0)) // export the text
            {
                //  BindMyGrid();
                using (StringWriter sWriter = new StringWriter(strB))
                {
                    using (HtmlTextWriter htWriter = new HtmlTextWriter(sWriter))
                    {
                        //grdPrice.RenderControl(htWriter);
                    }
                }
            }
            else // export the grid
            {
                strB.Append(text);
            }
            // now read the Grid html one by one and add into the document object
            using (TextReader sReader = new StringReader(strB.ToString()))
            {
                iTextSharp.text.Image gif = iTextSharp.text.Image.GetInstance(Server.MapPath("~/Images/MasterPages/MayurLogo.png"));
                document.Add(gif);
                List <IElement> list = HTMLWorker.ParseToList(sReader, new StyleSheet());
                foreach (IElement elm in list)
                {
                    document.Add(elm);
                }
            }
            // oPage.Response.ContentType = "application/pdf";
            // oPage.Response.AddHeader("content-disposition", "attachment; filename=" + fileName);
            //  oPage.Response.Flush();
            //  oPage.Response.End();
        }
        catch (Exception ex)
        {
            throw new Exception(ex.Message);
        }
        finally
        {
            document.Close();
        }
    }
Esempio n. 9
0
    protected void Button1_Click(object sender, EventArgs e)
    {
        //Dummy data for Invoice (Bill).
        string    companyName = "GGL CRM";
        int       orderNo     = 1;
        DataTable dt          = new DataTable();

        dt.Columns.AddRange(new DataColumn[6] {
            new DataColumn("UserID", typeof(string)),
            new DataColumn("bookingDate", typeof(string)),
            new DataColumn("ApxDelivaryDate", typeof(string)),
            new DataColumn("GasType", typeof(string)),
            new DataColumn("GasQuantity", typeof(string)),
            new DataColumn("Total", typeof(float))
        });
        dt.Rows.Add(1, "18 /03 / 2015", DateTime.Now.ToShortDateString(), "CNG", 10, 12345.89);
        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>Order Sheet</b></td></tr>");
                sb.Append("<tr><td colspan = '2'></td></tr>");
                sb.Append("<tr><td><b>Order 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>Company Name: </b>");
                sb.Append(companyName);
                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("'>Total</td>");
                sb.Append("<td>");
                sb.Append(dt.Compute("sum(Total)", ""));
                sb.Append("</td>");
                sb.Append("</tr></table>");

                //Export HTML String as PDF.
                StringReader sr         = new StringReader(sb.ToString());
                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(sr);
                pdfDoc.Close();
                Response.ContentType = "application/pdf";
                Response.AddHeader("content-disposition", "attachment;filename=Invoice_" + orderNo + ".pdf");
                Response.Cache.SetCacheability(HttpCacheability.NoCache);
                Response.Write(pdfDoc);
                Response.End();
            }
        }
    }
Esempio n. 10
0
        /// <summary>
        /// Creates the document.
        /// </summary>
        /// <param name="mergeTemplate">The merge template.</param>
        /// <param name="mergeObjectList">The merge object list.</param>
        /// <param name="globalMergeFields">The global merge fields.</param>
        /// <returns></returns>
        public override byte[] GenerateReport(List <ReservationService.ReservationSummary> reservationSummaryList, string logoFileUrl, string font, DateTime?filterStartDate, DateTime?filterEndDate, string lavaTemplate = "")
        {
            Font zapfdingbats = new Font(Font.ZAPFDINGBATS);

            // Date Ranges
            var today = RockDateTime.Today;
            var filterStartDateTime = filterStartDate.HasValue ? filterStartDate.Value : today;
            var filterEndDateTime   = filterEndDate.HasValue ? filterEndDate.Value : today.AddMonths(1);

            // Build the Lava html
            var reservationSummaries = reservationSummaryList.Select(r => new
            {
                Id = r.Id,
                ReservationName                = r.ReservationName,
                ReservationType                = r.ReservationType,
                ApprovalState                  = r.ApprovalState.ConvertToString(),
                Locations                      = r.ReservationLocations.ToList(),
                Resources                      = r.ReservationResources.ToList(),
                CalendarDate                   = r.EventStartDateTime.ToLongDateString(),
                EventStartDateTime             = r.EventStartDateTime,
                EventEndDateTime               = r.EventEndDateTime,
                ReservationStartDateTime       = r.ReservationStartDateTime,
                ReservationEndDateTime         = r.ReservationEndDateTime,
                EventDateTimeDescription       = r.EventTimeDescription,
                ReservationDateTimeDescription = r.ReservationTimeDescription,
                Ministry     = r.ReservationMinistry,
                ContactInfo  = String.Format("{0} {1}", r.EventContactPersonAlias.Person.FullName, r.EventContactPhoneNumber),
                SetupPhotoId = r.SetupPhotoId,
                Note         = r.Note
            })
                                       .OrderBy(r => r.EventStartDateTime)
                                       .GroupBy(r => r.EventStartDateTime.Date)
                                       .Select(r => r.ToList())
                                       .ToList();

            var mergeFields = new Dictionary <string, object>();

            mergeFields.Add("ReservationSummaries", reservationSummaries);
            mergeFields.Add("FilterStartDate", filterStartDateTime);
            mergeFields.Add("FilterEndDate", filterEndDateTime);
            mergeFields.Add("ImageUrl", logoFileUrl.EncodeHtml());
            mergeFields.Add("ReportFont", font);
            mergeFields.Add("CheckMark", new Phrase("\u0034", zapfdingbats).ToString());

            string mergeHtml = lavaTemplate.ResolveMergeFields(mergeFields);

            //Setup the document
            StringReader stringReader = new StringReader(mergeHtml);
            var          document     = new Document(PageSize.LETTER.Rotate(), 25, 25, 25, 25);
            HTMLWorker   htmlWorker   = new HTMLWorker(document);

            using (var outputStream = new MemoryStream())
            {
                var writer = PdfWriter.GetInstance(document, outputStream);

                document.Open();

                htmlWorker.Parse(stringReader);

                document.Close();

                return(outputStream.ToArray());
            }
        }
Esempio n. 11
0
        private void ConvertToPDF(string ApplicationId)

        {
            string         imagepath = Server.MapPath("~/Images"); Response.Cache.SetCacheability(HttpCacheability.NoCache);
            StringWriter   sw        = new StringWriter();
            HtmlTextWriter hw        = new HtmlTextWriter(sw);

            this.Page.RenderControl(hw);
            StringReader sr         = new StringReader(sw.ToString());
            Document     pdfDoc     = new Document(PageSize.A4, 10f, 10f, 100f, 0f);
            HTMLWorker   htmlparser = new HTMLWorker(pdfDoc);

            //string fromusername = ConfigurationManager.AppSettings["userNameEmail"];
            //string Tousername = ConfigurationManager.AppSettings["TouserName"];
            //string EmailPassword = ConfigurationManager.AppSettings["EmailPassword"];
            //string cc1username = ConfigurationManager.AppSettings["NotificationtoDepartment1"];
            //string cc2username = ConfigurationManager.AppSettings["NotificationtoDepartment2"];
            using (MemoryStream memoryStream = new MemoryStream())
            {
                iTextSharp.text.Image addLogo = default(iTextSharp.text.Image);
                // iTextSharp.text.Image gif = iTextSharp.text.Image.GetInstance(imagepath + "/mudra.jpg");
                addLogo = iTextSharp.text.Image.GetInstance(imagepath + "/logo.png");

                iTextSharp.text.Image BankLogo = default(iTextSharp.text.Image);
                // iTextSharp.text.Image gif = iTextSharp.text.Image.GetInstance(imagepath + "/mudra.jpg");
                BankLogo = iTextSharp.text.Image.GetInstance(imagepath + "/logo.png");
                PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);


                // addLogo.SetAbsolutePosition(0, docWorkingDocument.PageSize.Height - 100)

                pdfDoc.Open();
                addLogo.ScaleToFit(128, 37);
                addLogo.Alignment = iTextSharp.text.Image.ALIGN_LEFT;
                pdfDoc.Add(addLogo);

                htmlparser.Parse(sr);

                pdfDoc.Close();
                byte[] bytes = memoryStream.ToArray();
                memoryStream.Close();


                // Added by Anand Dated on 04-10-2018

                ObjEmailSchema.ApplicationID = ApplicationId;
                string Mobile = string.Empty;

                ds = new DataSet();
                ds = objemail.GetEmailDetails(ObjEmailSchema);
                if (ds != null && ds.Tables[0].Rows.Count > 0)
                {
                    string      t_XMLName = HttpContext.Current.Server.MapPath("~/APP_Data/MailConfig.XML");
                    XmlDocument xmlDoc    = new XmlDocument();
                    xmlDoc.Load(t_XMLName);
                    XmlNode     xnod     = xmlDoc.DocumentElement;
                    XmlNodeList nodeList = xnod.SelectNodes("Mail");

                    Mobile = ds.Tables[0].Rows[0]["MobileNo"].ToString().Trim();

                    objSendSMS.SMSSend(Mobile, ObjEmailSchema.ApplicationID, "application");

                    foreach (XmlNode _node in nodeList)
                    {
                        string SMTPstr = string.Empty, Portstr = string.Empty, FromEamil = string.Empty, To = string.Empty, Subject = string.Empty, Body = string.Empty, BodyU = string.Empty, FromEmailPwd = string.Empty;

                        //SMTPstr = _node.SelectSingleNode("host").InnerText.Trim();
                        //Portstr = _node.SelectSingleNode("port").InnerText.Trim();
                        //FromEamil = _node.SelectSingleNode("from").InnerText.Trim();
                        //FromEmailPwd = _node.SelectSingleNode("pwd").InnerText.Trim();

                        String SMTP_HOST_NAME = ConfigurationManager.AppSettings["host"];
                        String SMTP_AUTH_USER = ConfigurationManager.AppSettings["FromEmail"];
                        String SMTP_AUTH_PWD  = ConfigurationManager.AppSettings["EmailPassword"];



                        if (_node.Attributes["Profile"].Value.ToString().ToLower() == "pmmycustomer")
                        {
                            To = ds.Tables[0].Rows[0]["CustEmailID"].ToString().Trim();

                            Subject = _node.SelectSingleNode("subject").InnerText.Trim();
                            Body    = _node.SelectSingleNode("body").InnerText.Trim();

                            Subject = Subject.Replace("#ApplicationID", ds.Tables[0].Rows[0]["ApplicationID"].ToString().Trim());
                            Subject = Subject.Replace("#LoanType", ds.Tables[0].Rows[0]["LoanType"].ToString().Trim());

                            Body = Body.Replace("#ApplicantName", ds.Tables[0].Rows[0]["ApplicantName"].ToString().Trim());
                            Body = Body.Replace("#ApplicationID", ds.Tables[0].Rows[0]["ApplicationID"].ToString().Trim());
                            Body = Body.Replace("#LoanType", ds.Tables[0].Rows[0]["LoanType"].ToString().Trim());
                            Body = Body.Replace("#ApplicationDate", ds.Tables[0].Rows[0]["ApplicationDate"].ToString().Trim());
                        }

                        if (_node.Attributes["Profile"].Value.ToString().ToLower() == "pmmydpo")
                        {
                            //To = ds.Tables[0].Rows[0]["DPOEmailID"].ToString().Trim();
                            To      = "*****@*****.**";
                            Subject = _node.SelectSingleNode("subject").InnerText.Trim();
                            Body    = _node.SelectSingleNode("body").InnerText.Trim();

                            Subject = Subject.Replace("#ApplicationID", ds.Tables[0].Rows[0]["ApplicationID"].ToString().Trim());
                            Subject = Subject.Replace("#LoanType", ds.Tables[0].Rows[0]["LoanType"].ToString().Trim());

                            Body = Body.Replace("#ApplicantName", ds.Tables[0].Rows[0]["ApplicantName"].ToString().Trim());
                            Body = Body.Replace("#ApplicationID", ds.Tables[0].Rows[0]["ApplicationID"].ToString().Trim());
                            Body = Body.Replace("#LoanType", ds.Tables[0].Rows[0]["LoanType"].ToString().Trim());
                        }

                        if (_node.Attributes["Profile"].Value.ToString().ToLower() == "pmmybank")
                        {
                            //To = ds.Tables[0].Rows[0]["BankEmailID"].ToString().Trim();
                            To      = "*****@*****.**";
                            Subject = _node.SelectSingleNode("subject").InnerText.Trim();
                            Body    = _node.SelectSingleNode("body").InnerText.Trim();

                            Subject = Subject.Replace("#ApplicationID", ds.Tables[0].Rows[0]["ApplicationID"].ToString().Trim());
                            Subject = Subject.Replace("#LoanType", ds.Tables[0].Rows[0]["LoanType"].ToString().Trim());

                            Body = Body.Replace("#ApplicantName", ds.Tables[0].Rows[0]["ApplicantName"].ToString().Trim());
                            Body = Body.Replace("#ApplicationID", ds.Tables[0].Rows[0]["ApplicationID"].ToString().Trim());
                            Body = Body.Replace("#LoanType", ds.Tables[0].Rows[0]["LoanType"].ToString().Trim());
                        }

                        if (To.ToString() != "" || To.ToString().Trim() != string.Empty)
                        {
                            SmtpClient client = new SmtpClient();
                            client.Port = Convert.ToInt16(ConfigurationManager.AppSettings["port"]);
                            client.Host = SMTP_HOST_NAME;

                            client.EnableSsl = true;
                            client.Timeout   = 600000;

                            client.DeliveryMethod        = SmtpDeliveryMethod.Network;
                            client.UseDefaultCredentials = false;
                            client.Credentials           = new System.Net.NetworkCredential(SMTP_AUTH_USER, SMTP_AUTH_PWD);

                            MailMessage mm = new MailMessage(SMTP_AUTH_USER, To, Subject, Body);
                            mm.Attachments.Add(new Attachment(new MemoryStream(bytes), "" + Convert.ToString(ApplicationId) + ".pdf"));
                            mm.IsBodyHtml   = true;
                            mm.BodyEncoding = UTF8Encoding.UTF8;
                            mm.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;

                            ServicePointManager.ServerCertificateValidationCallback = delegate(object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
                            { return(true); };

                            client.Send(mm);

                            //using (MailMessage mm = new MailMessage(FromEamil, To))
                            //{
                            //    mm.Subject = Subject;
                            //    mm.Body = Body;
                            //    mm.Attachments.Add(new Attachment(new MemoryStream(bytes), "" + Convert.ToString(ApplicationId) + ".pdf"));
                            //    mm.IsBodyHtml = true;
                            //    using (SmtpClient smtp = new SmtpClient())
                            //    {
                            //        smtp.Host = SMTPstr;
                            //        smtp.EnableSsl = true;
                            //        NetworkCredential NetworkCred = new NetworkCredential();
                            //        NetworkCred.UserName = FromEamil;//"[email protected] ";
                            //        NetworkCred.Password = FromEmailPwd;//"Pass@123";
                            //        smtp.UseDefaultCredentials = true;
                            //        smtp.Credentials = NetworkCred;
                            //        smtp.Port = Convert.ToInt16(Portstr);
                            //        smtp.TargetName = "STARTTLS/smtp.gmail.com";
                            //        //ServicePointManager.ServerCertificateValidationCallback = delegate (object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
                            //        //{ return true; };
                            //        smtp.Send(mm);

                            //    }
                            //}
                        }
                    }

                    Response.Redirect("FrmPMMYLoanForm.aspx");
                }

                //End  04-10-2018
            }
        }
Esempio n. 12
0
        public ActionResult Index(FormCollection coll)
        {
            var ID = coll["rowcount"];

            for (int j = 1; j <= Convert.ToInt32(ID); j++)
            {
                var guest     = coll["Guest" + j];
                var guestname = coll["guestname" + j];
                if (guest != null && guestname != null)
                {
                    Session["PRNO" + j]      = coll["guestid" + j];
                    Session["guestname" + j] = coll["guestname" + j];
                    if (Session["PRNO" + j] != null)
                    {
                        var id1 = coll["rowcount1"];
                        for (int i = 1; i <= Convert.ToInt32(id1); i++)
                        {
                            Feast_Details feast = new Feast_Details();
                            string        PRNO  = "";
                            try
                            {
                                PRNO = Session["PRNO" + j].ToString();
                            }
                            catch
                            {
                                PRNO = null;
                            }
                            feast.PRNO = PRNO;
                            string guestname1 = "";
                            try
                            {
                                guestname1 = Session["guestname" + j].ToString();
                            }
                            catch
                            {
                                guestname1 = null;
                            }
                            feast.Guest_name = guestname1;
                            string feastname = "";
                            try
                            {
                                feastname = coll["itemcode" + i].ToString();
                            }
                            catch
                            {
                                feastname = null;
                            }

                            feast.Feast_Time = TimeSpan.Parse(coll["itemname" + i].ToString());
                            feast.Feast_Name = feastname;
                            feast.Created_dt = DateTime.Today;
                            db.Feast_Details.Add(feast);
                            db.SaveChanges();
                        }
                        var id2 = coll["rowcount2"];
                        for (int k = 1; k <= Convert.ToInt32(id2); k++)
                        {
                            Dinacharya_Treatment dnt = new Dinacharya_Treatment();
                            string PRNO = "";
                            try
                            {
                                PRNO = Session["PRNO" + j].ToString();
                            }
                            catch
                            {
                                PRNO = null;
                            }
                            dnt.PRNO = PRNO;
                            string guestname1 = "";
                            try
                            {
                                guestname1 = Session["guestname" + j].ToString();
                            }
                            catch
                            {
                                guestname1 = null;
                            }
                            dnt.Guest_name = guestname1;
                            dnt.From_Time  = TimeSpan.Parse(coll["from" + k].ToString());
                            dnt.To_Time    = TimeSpan.Parse(coll["to" + k].ToString());
                            string Treatment = "";
                            try
                            {
                                Treatment = coll["Treatment" + k].ToString();
                            }
                            catch
                            {
                                Treatment = null;
                            }
                            dnt.Treatment_Name = Treatment;
                            dnt.Created_dt     = DateTime.Today;
                            db.Dinacharya_Treatment.Add(dnt);
                            db.SaveChanges();
                        }
                        var      gt    = Session["PRNO" + j].ToString();
                        DateTime date  = DateTime.Today;
                        var      list  = db.Feast_Details.Where(a => a.PRNO == gt && a.Created_dt == date).ToList();
                        var      list1 = db.Dinacharya_Treatment.Where(a => a.PRNO == gt && a.Created_dt == date).ToList();

                        //string mheader = " <div style='border:groove;background-color:aliceblue;'><div style='font-weight:bold;text-align:center;width:100%;'><center><a href='http://pemawellness.co/Index/index'><img src='http://pemawellness.co/images/logo1.png'></a></center></div> <div><center><p style='font-size:30px;'><b>Dinacharya</b></p></center></div>";
                        string mfooter = "<div><div><span>*<span>Your arrival on time for the treatment will be appreciated and will not cause anyinconvenience for the following guests.</p></div></div>";
                        //StringBuilder mbody;
                        //string smtpAddress = "smtp.gmail.com";
                        //int portNumber = 587;
                        //bool enableSSL = true;
                        //string emailFrom = "*****@*****.**";
                        //string password = "******";
                        //string emailTo1 = "*****@*****.**";
                        //string emailTo2 = "*****@*****.**";
                        //string subject = "Dinacharya";
                        StringBuilder mbody = new StringBuilder();

                        //mbody.Append(mheader);
                        mbody.Append("<div style='background-color: aliceblue;'>");
                        mbody.Append("<div>");
                        mbody.Append("<img src='http://pemawellness.co/images/logo1.png'>");
                        mbody.Append("</div>");
                        mbody.Append("<div><center><p style='font-size:30px;'><b>Dinacharya</b></p></center></div>");
                        mbody.Append("<br>");
                        //mbody.Append("<div></div>");
                        //mbody.Append("<div><table style='font-size:15px;'><tr><td>PRNO :</td><td>" + list[0].PRNO+ "&nbsp;&nbsp;&nbsp;&nbsp;</td><td>Name :</td><td>" + list[0].Guest_name + "&nbsp;&nbsp;&nbsp;&nbsp;</td><td>Date :</td><td>" + DateTime.Now + "</td></tr></table></div>");
                        mbody.Append("<div><table style='font-size:15px;'><tr><td style='width:30%;'>PRNO :</td><td>" + list[0].PRNO + "&nbsp;&nbsp;&nbsp;&nbsp;</td></tr>");
                        mbody.Append("<tr><td style='width:30%;'>Name  :</td><td>" + list[0].Guest_name + "&nbsp;&nbsp;&nbsp;&nbsp;</td></tr>");
                        mbody.Append("<tr><td style='width:30%;'>Date   :</td><td>" + DateTime.Now + "</td></tr>");
                        mbody.Append("</table></div>");
                        //mbody.Append("<hr>");
                        mbody.Append("<br>");
                        //mbody.Append("<hr>");
                        mbody.Append("<div style='font-size: 18px;'><b style:color:black;>FEAST PLAN </b></div>");
                        mbody.Append("<br>");
                        mbody.Append("<div style='font-size: 15px;'><table style='width:100%;color: black;'>");
                        mbody.Append("<thead><tr><th style='width:25%;text-align: -webkit-left;'>Timings</th><th style='width:30%;text-align: -webkit-left;'>Feast Name</th></tr></thead>");
                        for (int i = 0; i < list.Count(); i++)
                        {
                            mbody.Append("<tbody><tr><td style='width:25%'>" + DateTime.ParseExact(list[i].Feast_Time.ToString(), "HH:mm:ss", CultureInfo.InvariantCulture).ToShortTimeString() + "</td><td style='width:30%'>" + '-' + "&nbsp;&nbsp;&nbsp;&nbsp;" + list[i].Feast_Name + "</td></tr></tbody>");
                        }
                        mbody.Append("</table></div>");
                        mbody.Append("<br>");
                        mbody.Append("<br>");
                        mbody.Append("<div style='font-size: 18px;'><b style:color:black;>HEALING PLAN FOR THE DAY</b></div>");
                        mbody.Append("<br>");
                        mbody.Append("<div style='font-size: 15px;'><table style='width:100%;color: black;'>");
                        mbody.Append("<thead><tr><th style='width:25%;text-align: -webkit-left;'>From-To</th><th style='width:30%;text-align: -webkit-left;'>Treatment Name</th></tr></thead>");
                        for (int h = 0; h < list1.Count(); h++)
                        {
                            mbody.Append("<tbody><tr><td style='width:25%'>" + DateTime.ParseExact(list1[h].From_Time.ToString(), "HH:mm:ss", CultureInfo.InvariantCulture).ToShortTimeString() + "-" + DateTime.ParseExact(list1[h].To_Time.ToString(), "HH:mm:ss", CultureInfo.InvariantCulture).ToShortTimeString() + "</td><td style='width:30%'>" + '-' + "&nbsp;&nbsp;&nbsp;&nbsp;" + list1[h].Treatment_Name + "</td></tr></tbody>");
                        }
                        mbody.Append("</table></div>");
                        mbody.Append("<br>");
                        mbody.Append("<br>");
                        mbody.Append(mfooter);
                        mbody.Append("<br>");
                        mbody.Append("<div><p>Thank You</p></div></div>");
                        StringReader sr = new StringReader(mbody.ToString());

                        Document   pdfDoc     = new Document(PageSize.A4, 10f, 10f, 10f, 0f);
                        HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
                        using (MemoryStream memoryStream = new MemoryStream())
                        {
                            PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
                            pdfDoc.Open();
                            htmlparser.Parse(sr);
                            pdfDoc.Close();

                            byte[] bytes = memoryStream.ToArray();
                            memoryStream.Close();
                            string      fromEmail = "*****@*****.**";
                            MailMessage mm        = new MailMessage();
                            //string emailFrom = "*****@*****.**";
                            //string password = "******";
                            string emailto1 = "*****@*****.**";
                            //string emailto2 = "*****@*****.**";
                            mm.To.Add(emailto1);
                            // mm.To.Add(emailto2);
                            mm.From    = new MailAddress(fromEmail);
                            mm.Subject = "Dinacharya";
                            mm.Body    = "Thanks for your time, Please find the attached Dinacharya";
                            mm.Attachments.Add(new Attachment(new MemoryStream(bytes), "Dinacharya.pdf"));
                            mm.IsBodyHtml = true;
                            SmtpClient smtp = new SmtpClient();
                            smtp.Host      = "smtp.gmail.com";
                            smtp.EnableSsl = true;
                            NetworkCredential NetworkCred = new NetworkCredential();
                            NetworkCred.UserName       = "******";
                            NetworkCred.Password       = "******";
                            smtp.UseDefaultCredentials = true;
                            smtp.Credentials           = NetworkCred;
                            smtp.Port = 587;
                            smtp.Send(mm);
                            string path = ConfigurationManager.AppSettings["folderpath1"];
                            //string path = Server.MapPath("DinacharyaReportsForK");
                            string path1    = list[0].PRNO;
                            string newpath  = path + path1;
                            bool   IsExists = System.IO.Directory.Exists(Server.MapPath(path1));
                            if (!IsExists)
                            {
                                System.IO.Directory.CreateDirectory(newpath);
                            }
                            var newpt = newpath + "\\" + DateTime.Now.ToString("ddMMyyyyHHmmss") + "Dinacharya.pdf";
                            System.IO.File.WriteAllBytes(newpath + "\\" + DateTime.Now.ToString("ddMMyyyyHHmmss") + "Dinacharya.pdf", bytes);

                            //string targetpath1 = ConfigurationManager.AppSettings["folderpath1"];
                            //string path = Server.MapPath("DinacharyaReportsForK");
                            //string path1 = list[0].PRNO + "\\Dinacharya.pdf";
                            //
                            //System.IO.File.WriteAllBytes(newpath, bytes);

                            //System.IO.Directory.CreateDirectory(newpath);
                        }
                        //using (MailMessage mail = new MailMessage())
                        //{
                        //    mail.From = new MailAddress(emailFrom);
                        //    mail.To.Add(emailTo1);
                        //    mail.To.Add(emailTo2);
                        //    //mail.To.Add(emailTo3);
                        //    mail.Subject = subject;
                        //    mail.Body = mbody.ToString();
                        //    mail.IsBodyHtml = true;
                        //    // Can set to false, if you are sending pure text.
                        //    using (SmtpClient smtp = new SmtpClient(smtpAddress, portNumber))
                        //    {
                        //        smtp.Credentials = new NetworkCredential(emailFrom, password);
                        //        smtp.EnableSsl = enableSSL;
                        //        smtp.Send(mail);
                        //    }
                        //}
                        return(Content("<script>alert('Request Submitted Successfully');window.location = '/Dinacharya/Index'</script>"));
                    }
                }
            }

            return(View());
        }
Esempio n. 13
0
        public string GetRecibo(string tranferId,
                                string username,
                                string numReceipt,
                                string date,
                                string nAffiliate,
                                string typeMembresia,
                                string namePeson,
                                string hour,
                                string detalle,
                                string quotesPendiente,
                                string concepto)
        {
            string fechaVar   = DateTime.Now.ToString("yyyyMMddHHmmss");
            string nameTicket = username + "_" + tranferId + fechaVar;
            string dni        = username.Substring(2, (username.Length - 2));

            using (Document document = new Document(PageSize.A4, 10, 10, 10, 10))
            {
                string     rutaImg = HttpContext.Current.Server.MapPath("~/Resources/Images/");
                string     ruta    = HttpContext.Current.Server.MapPath("~/Resources/RecibosRegister/") + nameTicket + ".pdf";
                FileStream stream  = new FileStream(ruta, FileMode.Create);
                PdfWriter.GetInstance(document, stream);
                document.Open();


                string cadenfinal = string.Empty;
                cadenfinal += "<!DOCTYPE html ><html><head><title></title></head><body>";
                cadenfinal += "<div style='font-family: sans-serif;display: block;padding:20px;margin:10px auto;width:700px;height: 700px;background-color: white;'>";

                cadenfinal += "<div><img src='" + rutaImg + "rec.png' style='position: absolute;top: 24%;left:28%;opacity: 0.1;z-index:1;width:515px;'></div>";

                cadenfinal += "<div style='display:block;margin:10px auto;text-align: center;' ><h2><b> VALLE ENCANTADO S.A.C </b></h2>";
                cadenfinal += "<h4><b> RUC 20601460271 </b></h4></div><div style='display: flex;justify-content: space-between;'>";
                //cadenfinal += "<div style='display:block' ><div style='margin:5px 0'><b> Nro. MEMBRESIA:</b> AR00101 </div>";
                cadenfinal += "<div style='display:block' ><div style='margin:5px 0'><b> Codigo:</b> " + username + " </div>";
                cadenfinal += "<label><b> Nombre: </b> " + namePeson.ToUpper() + "</label></div><div><div><b> Codido Membresia: </b>" + typeMembresia + "</div>";
                cadenfinal += "<label><b> DNI: </b> " + dni + " </label></div></div><div style = 'margin:15px auto;'><label><B> Codigo de operacion: </B> " + tranferId + " </label>";
                cadenfinal += "</div>";
                cadenfinal += "<div style='margin: 15px auto' ><b> Fecha: </b>" + date + " HORA: " + hour + " </div>";
                cadenfinal += "<div style='margin: 15px auto' ><b> Concepto: </b> " + concepto + " </div>";
                cadenfinal += "<div style='margin: 15px auto' ><b> Monto: </b>" + detalle + " </div>";
                cadenfinal += "<div style='margin: 15px auto' ><b> Cuotas pendientes: </b>" + quotesPendiente + " </div>";


                cadenfinal += "</div></body></html>";

                var styles = new StyleSheet();
                Dictionary <string, string> cuadro = new Dictionary <string, string>();
                cuadro.Add("font-family", "sans-serif");
                cuadro.Add("display", "block");
                cuadro.Add("padding", "20px");
                cuadro.Add("margin", "10px auto");
                cuadro.Add("width", "700px");
                cuadro.Add("height", "700px");
                cuadro.Add("background-color", "green");

                styles.LoadStyle("cuadro", cuadro);

                var parsehtml = HTMLWorker.ParseToList(new StringReader(cadenfinal), null);

                foreach (var htmlElement in parsehtml)
                {
                    document.Add(htmlElement as IElement);
                }
                document.Close();
            }

            return(nameTicket + ".pdf");
        }
Esempio n. 14
0
    public void ExportToPDF(DataTable dt)
    {
        string filena    = Session["filename"].ToString();
        string address   = Session["Address"].ToString();
        string TitleName = Session["TitleName"].ToString();
        string title     = Session["title"].ToString();
        string filename  = "";

        if (filena != "" && filena != null)
        {
            filename = filena;
        }
        else
        {
            filename = "Report";
        }
        if (filename == "Total Deduction" || filename == "Employeedetails" || filename == "Employeebankdetails" || filename == "Organisetionflowdetails")
        {
        }
        else
        {
            using (StringWriter sw = new StringWriter())
            {
                using (HtmlTextWriter hw = new HtmlTextWriter(sw))
                {
                    StringBuilder sb = new StringBuilder();

                    sb.Append("<table width='100%' cellspacing='0' cellpadding='2'>");
                    sb.Append("<tr><td align='center' style='background-color: #18B5F0' colspan = '2'><b>Order Sheet</b></td></tr>");
                    sb.Append("<tr><td colspan = '2'></td></tr>");
                    sb.Append("<tr><td><b>Order 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>Company Name: </b>");
                    // sb.Append(companyName);
                    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:#777;width:150px;'>");
                        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("'>Total</td>");
                    //sb.Append("<td>");
                    //sb.Append(dt.Compute("sum(Total)", ""));
                    //sb.Append("</td>");
                    sb.Append("</table>");

                    //Export HTML String as PDF.
                    StringReader sr         = new StringReader(sb.ToString());
                    Document     pdfDoc     = new Document(PageSize.A3, 0f, 0f, 0f, 0f);
                    Document     doc        = new Document(new RectangleReadOnly(842, 595), 88f, 88f, 10f, 10f);
                    HTMLWorker   htmlparser = new HTMLWorker(pdfDoc);
                    PdfWriter    writer     = PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
                    pdfDoc.Open();
                    htmlparser.Parse(sr);
                    pdfDoc.Close();
                    Response.ContentType = "application/pdf";
                    Response.AddHeader("content-disposition", "attachment;filename=" + filename + ".pdf");
                    Response.Cache.SetCacheability(HttpCacheability.NoCache);
                    Response.Write(pdfDoc);
                    Response.End();
                }
            }
        }
    }
Esempio n. 15
0
        public void Cronograma2(int _nAfiliate, string _cc, string correlativo)
        {
            string[] arrayLogin = HttpContext.Current.User.Identity.Name.Split('¬');
            string   tipocambio = "", numerodecuotas = "", nombre = "", dni = "", domicilio = "", distrito = "", correo = "", telefono = "", codemem = "";

            string username = "", fecha = "";


            //Session["cronogramaya"] = "6857.5|6142.5|0|11/2/2018¬89.57|24|10|Mensual^Inicial nro: 1|11/2/2018|S/. 6857.5|S/. 715|S/. 0|S/. 715¬Inicial nro: 2|12/2/2018|S/. 6142.5|S/. 800|S/. 0|S/. 800¬Inicial nro: 3|1/2/2018|S/. 5342.5|S/. 1000|S/. 0|S/. 1000¬Cuota nro: 1|11/1/2018|S/. 4342.5|S/. 164.89|S/. 34.63|S/. 199.52¬Cuota nro: 2|12/1/2018|S/. 4177.61|S/. 166.21|S/. 33.31|S/. 199.52¬Cuota nro: 3|1/1/2019|S/. 4011.4|S/. 167.53|S/. 31.99|S/. 199.52¬Cuota nro: 4|2/1/2019|S/. 3843.87|S/. 168.87|S/. 30.65|S/. 199.52¬Cuota nro: 5|3/1/2019|S/. 3675|S/. 170.22|S/. 29.3|S/. 199.52¬Cuota nro: 6|4/1/2019|S/. 3504.78|S/. 171.57|S/. 27.95|S/. 199.52¬Cuota nro: 7|5/1/2019|S/. 3333.21|S/. 172.94|S/. 26.58|S/. 199.52¬Cuota nro: 8|6/1/2019|S/. 3160.27|S/. 174.32|S/. 25.2|S/. 199.52¬Cuota nro: 9|7/1/2019|S/. 2985.95|S/. 175.71|S/. 23.81|S/. 199.52¬Cuota nro: 10|8/1/2019|S/. 2810.24|S/. 177.11|S/. 22.41|S/. 199.52¬Cuota nro: 11|9/1/2019|S/. 2633.13|S/. 178.52|S/. 21|S/. 199.52¬Cuota nro: 12|10/1/2019|S/. 2454.61|S/. 179.95|S/. 19.57|S/. 199.52¬Cuota nro: 13|11/1/2019|S/. 2274.66|S/. 181.38|S/. 18.14|S/. 199.52¬Cuota nro: 14|12/1/2019|S/. 2093.28|S/. 182.83|S/. 16.69|S/. 199.52¬Cuota nro: 15|1/1/2020|S/. 1910.45|S/. 184.29|S/. 15.23|S/. 199.52¬Cuota nro: 16|2/1/2020|S/. 1726.16|S/. 185.76|S/. 13.76|S/. 199.52¬Cuota nro: 17|3/1/2020|S/. 1540.4|S/. 187.24|S/. 12.28|S/. 199.52¬Cuota nro: 18|4/1/2020|S/. 1353.16|S/. 188.73|S/. 10.79|S/. 199.52¬Cuota nro: 19|5/1/2020|S/. 1164.43|S/. 190.24|S/. 9.29|S/. 199.52¬Cuota nro: 20|6/1/2020|S/. 974.19|S/. 191.75|S/. 7.77|S/. 199.52¬Cuota nro: 21|7/1/2020|S/. 782.44|S/. 193.28|S/. 6.24|S/. 199.52¬Cuota nro: 22|8/1/2020|S/. 589.16|S/. 194.82|S/. 4.7|S/. 199.52¬Cuota nro: 23|9/1/2020|S/. 394.34|S/. 196.38|S/. 3.14|S/. 199.52¬Cuota nro: 24|10/1/2020|S/. 197.96|S/. 197.94|S/. 1.58|S/. 199.52¬~446.01~4788.5";
            //Session["datos"] = "Nombre|Apellidos|birthDay|M|DocumentType|NroDoc$NombreC|ApellidoC|1|313231c$bankName|nombreBankAccount|TypeAccount|nroAccount|nroTaxer|SocialReason|fiscalAdress|UserType$email|nroCell|nroCell2|country|State|City|Adress";
            //Session["carrito"] = "6000.00|descripcionDB|60|9750.00|3.25|10|TOP";


            string[] datos      = Session["datos"].ToString().Split('$');
            string[] carrito    = Session["carrito"].ToString().Split('|');
            string[] cronograma = Session["cronogramaYa"].ToString().Split('|');

            string[] arrayperson   = datos[0].Split('|');
            string[] arraycontacto = datos[3].Split('|');
            string   totaldolares  = cronograma[0];
            string   primeracuota  = carrito[3];

            tipocambio = carrito[4];
            decimal typeChange = decimal.Parse(tipocambio);

            numerodecuotas = carrito[2];
            codemem        = carrito[1];

            nombre   = arrayperson[0].ToUpper() + " " + arrayperson[1].ToUpper();
            dni      = arrayperson[5];
            username = (arrayperson[0].Substring(0, 1) + arrayperson[1].Substring(0, 1) + dni).ToUpper();

            domicilio = arraycontacto[6];
            distrito  = arraycontacto[5];
            correo    = arraycontacto[0];
            telefono  = arraycontacto[1];

            fecha = DateTime.Now.ToString("dd-MM-yyyy");

            MyFunctions mf = new MyFunctions();
            MyConstants mc = new MyConstants();

            string[] array1   = Session["cronogramaYa"].ToString().Split('^');
            string[] datosMem = array1[0].Split('|');
            string[] array2   = array1[1].Split('~');

            string[] cuotas = array2[0].Split('¬');

            decimal totalpagar = 0, interestotal = 0, importefinanciado = 0, porcefinanciado = 0;
            int     ncuotas = 0, interruptor = 0;

            for (int i = 0; i < cuotas.Length - 1; i++)
            {
                var fila = cuotas[i].Split('|');
                if (fila[0].Substring(0, 7) != "Inicial")
                {
                    totalpagar   += decimal.Parse(fila[5].Replace("S/.", ""));
                    interestotal += decimal.Parse(fila[4].Replace("S/.", ""));
                    ncuotas++;
                    if (interruptor != 1)
                    {
                        interruptor               = 1;
                        importefinanciado         = decimal.Parse(fila[2].Replace("S/.", ""));
                        Session["financedAmount"] = importefinanciado;
                    }
                }
            }
            porcefinanciado = (importefinanciado * 100) / decimal.Parse(datosMem[0]);


            using (Document document = new Document(PageSize.A4, 10, 10, 10, 10))
            {
                string ruta = HttpContext.Current.Server.MapPath("~/Resources/PoliticsPdf/") + $"CRO{username}{correlativo}.pdf";

                string datecur = DateTime.Now.ToString("yyyy;MM;dd;hh;mm;ss;fff");
                string destin  = HttpContext.Current.Server.MapPath("~/Resources/trash/") + "CRO" + username + correlativo + datecur + ".pdf";

                if (File.Exists(ruta))
                {
                    File.Move(ruta, destin);
                }

                FileStream stream = new FileStream(ruta, FileMode.Create);
                PdfWriter.GetInstance(document, stream);


                document.Open();

                string cadenfinal = string.Empty;
                cadenfinal += "<div style='text-align: center;font-family:cambria;font-size: 12pt;font-weight: bold;'>CRONOGRAMA DE PAGOS</div>";
                cadenfinal += "<p style='font-family:cambria;font-size: 10pt;line-height: 8px;'>Número de Membresia: AR" + _nAfiliate.ToString("00000") + " </p>";
                cadenfinal += "<p style='font-family:cambria;font-size: 10pt;line-height: 13px;'>Código: " + username + " </p>";
                //cadenfinal += "<p style='font-family:cambria;font-size: 10pt;line-height: 13px;'><b>Nombre:</b>" + datosMem[0] + "</p>";
                //cadenfinal += "<p style='text-align: justify;font-family:cambria;font-size: 10pt;line-height: 13px;'>Importe Membresia: S/. " + datosMem[0] + "</p>";
                cadenfinal += "<p style='text-align: justify;font-family:cambria;font-size: 10pt;line-height: 13px;'>Nombre del Cliente: " + nombre + " </p>";
                cadenfinal += "<p style='text-align: justify;font-family:cambria;font-size: 10pt;line-height: 13px;'>Documento de Identidad: " + dni + "</p>";
                cadenfinal += "<p style='text-align: justify;font-family:cambria;font-size: 10pt;line-height: 13px;'>Correo Electronico: " + correo + " </p>";
                cadenfinal += "<p style='text-align: justify;font-family:cambria;font-size: 10pt;line-height: 13px;'>Telefono de Contacto: " + telefono + " </p>";
                cadenfinal += "<p style='text-align: justify;font-family:cambria;font-size: 10pt;line-height: 13px;'>Producto: Membresia " + codemem + "</p>";
                cadenfinal += "<p style='text-align: justify;font-family:cambria;font-size: 10pt;line-height: 13px;'> </p>";


                //
                cadenfinal += "<br/> <table ><tr>";
                cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>Importe de la Membresia </td>";
                cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'> " + mf.GetAmountCurrency(datosMem[0], _cc, typeChange) + " " + _cc + "</td>";
                cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>% Financiamiento </td>";
                cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'> " + porcefinanciado.ToString("0.00") + "% </td></tr>";

                cadenfinal += "<tr><td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>Importe Financiado </td>";
                cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'> " + mf.GetAmountCurrency(importefinanciado.ToString(), _cc, typeChange) + " " + _cc + " </td>";
                cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>Cuotas a Pagar </td>";
                cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>" + ncuotas + " </td></tr>";

                cadenfinal += "<tr><td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>Cantidad Total a Pagar </td>";
                cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'> " + mf.GetAmountCurrency(totalpagar.ToString(), _cc, typeChange) + " " + _cc + " </td>";
                cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>Tasa Efectiva Anual </td>";
                cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'> " + mc.AmountInteresAnual.ToString() + " %</td></tr>";

                cadenfinal += "<tr><td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>Monto total de Interes </td>";
                cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'> " + mf.GetAmountCurrency(interestotal.ToString(), _cc, typeChange) + " " + _cc + " </td>";
                cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>Periodicidad </td>";
                cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'> Mensual </td></tr>";

                cadenfinal += "<tr><td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>Fecha Emision Cronograma</td>";
                cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'> " + fecha + " </td>";
                cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'> </td>";
                cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'> </td></tr>";
                cadenfinal += "</tr></table>";


                cadenfinal += "<table border='1' height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>";
                cadenfinal += "<tr height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>";
                cadenfinal += "<th height='100' bgcolor='#858282' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>N°</th>";
                cadenfinal += "<th height='100' bgcolor='#858282' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>Vencimiento</th>";
                cadenfinal += "<th height='100' bgcolor='#858282' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>Capital</th>";
                cadenfinal += "<th height='100' bgcolor='#858282' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>Amortizacion</th>";
                cadenfinal += "<th height='100' bgcolor='#858282' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>Interes</th>";
                cadenfinal += "<th height='100' bgcolor='#858282' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>Cuota</th>";
                cadenfinal += "</tr>";

                for (int i = 0; i < cuotas.Length - 1; i++)
                {
                    var fila = cuotas[i].Split('|');
                    cadenfinal += "<tr height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>";
                    cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'> " + fila[0] + "</td>";
                    cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>" + DateTime.Parse(fila[1]).ToString("dd-MM-yyyy") + " </td>";
                    cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>" + mf.GetAmountCurrency(fila[2].Replace("S/.", ""), _cc, typeChange) + " " + _cc + "</td>";
                    cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>" + mf.GetAmountCurrency(fila[3].Replace("S/.", ""), _cc, typeChange) + " " + _cc + "</td>";
                    cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>" + mf.GetAmountCurrency(fila[4].Replace("S/.", ""), _cc, typeChange) + " " + _cc + "</td>";
                    cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>" + mf.GetAmountCurrency(fila[5].Replace("S/.", ""), _cc, typeChange) + " " + _cc + "</td>";

                    cadenfinal += "</tr>";
                }

                cadenfinal += "</table>";
                cadenfinal += "<p style='text-align: justify;font-family:cambria;font-size: 10pt;line-height: 13px;'>Este Cronograma se elabora bajo el supuesto cumpliento de pagos de las cuotas en las fechas indicadas.Cualquier alteracion en los pagos o en las condiciones del financiamiento,deja sin efecto este documento.</p>";
                cadenfinal += "<p style='text-align: justify;font-family:cambria;font-size: 10pt;line-height: 13px;'>El atraso de una cuota mensual por mas de 8 días generará una penalidad de S/.30 soles.</p>";
                cadenfinal += "<p style='text-align: justify;font-family:cambria;font-size: 10pt;line-height: 13px;'>Si tuviera alguna consulta sirvase comunicarse con su asesor de membresías o a la línea de atención al cliente (01)-434-9481.</p>";

                cadenfinal += "<br />";
                cadenfinal += "<br />";
                cadenfinal += "<br />";

                cadenfinal += "<div style='text-align: right;'>";

                cadenfinal += "<div style='text-align: left;width: 200px;margin-left:100px' >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_____________________________</div>";
                cadenfinal += "<div style='text-align: left;width: 200px;margin-left:100px'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Omar Urteaga Cabrera</div>";
                cadenfinal += "<div style='text-align: left;width: 200px;margin-left:100px'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gerente General</div>";
                cadenfinal += "<div style='text-align: left;width: 200px;margin-left:100px'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ribera del Rio Club Resort</div>";
                cadenfinal += "</div>";


                var parsehtml = HTMLWorker.ParseToList(new StringReader(cadenfinal), null);

                foreach (var htmlElement in parsehtml)
                {
                    document.Add(htmlElement as IElement);
                }
                document.Close();
            }
        }
Esempio n. 16
0
    public void generatePdf()
    {
        Document pdfDoc         = new Document(PageSize.A4, 10, 10, 10, 10);
        Proyecto proyecto       = crudProyecto.nomProyecto(Convert.ToInt16(vistaCertificaciones.SelectedRow.Cells[7].Text));
        String   nombreProyecto = proyecto.nomProyecto;

        try
        {
            PdfWriter.GetInstance(pdfDoc, System.Web.HttpContext.Current.Response.OutputStream);
            DateTime thisDay = DateTime.Today;
            //Open PDF Document to write data
            pdfDoc.Open();
            string cadenaFinal = "";
            String encabezado  = "";
            String firma       = "<br><br><br><br><br><br><p>___________________________&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;___________________________<br>" +
                                 "&nbsp;&nbsp;&nbsp;Ing:" + Convert.ToString(crudMaestro.nombreDirector(Convert.ToInt16(vistaCertificaciones.SelectedRow.Cells[7].Text)))
                                 + "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ing:" + lblNombre.Text + "" +
                                 "<br>&nbsp;&nbsp;&nbsp;DIRECTOR DEL PROYECTO"
                                 + "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DIRECTO DE VINCULACIÓN</p>";
            String tituloUniversidad = "<br><br><br><br><p align='center' FONT FACE='times new roman'FONT SIZE=5><b>UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE <br>" +
                                       "VIERRECTORADO DE INVESTIGACIÓN, INNOVACIÓN Y TRASNFERENCIA DE TECNOLOGÍA <br>" +
                                       "UNIDAD DE VINCULACION CON LA SOCIEDAD</b></p><br><br>";
            String cuerpo;
            string pathEspe       = Server.MapPath("/Imagenes/Logo_ESPE.png");
            string pathVincuacion = Server.MapPath("/Imagenes/logo-vinculacion.png");
            encabezado = "<TABLE><TR><TD><img src='" + pathEspe + "' Height='100' Width='100'/>" +
                         "</TD><TD><TD></TD></TD><TD><img src='" + pathVincuacion + "' Height='100' Width='100'/></TD></TR></TABLE>";
            cuerpo = "<br><br><p FONT FACE='times new roman' align='justify'FONT SIZE=5>Señor <b>" + vistaCertificaciones.SelectedRow.Cells[3].Text + " " + vistaCertificaciones.SelectedRow.Cells[4].Text + "</b>" +
                     ", con cédula de ciudadanía, <b>" + vistaCertificaciones.SelectedRow.Cells[2].Text + "</b></br>." +
                     "Quien participo en el Proyecto de Vinculación con la Sociedad, " + nombreProyecto + " " +
                     "cumpliendo con un total de<b> " + Convert.ToString(crudEstudiante.numHoras(Convert.ToInt16(vistaCertificaciones.SelectedRow.Cells[1].Text))) + "" +
                     " </b>horas de servicio a la comunidad, a partir del <b> " + Convert.ToString(Convert.ToDateTime(proyecto.fechaInicio).ToString("yyyy-MM-dd").ToString()) + "</b>, hasta <b>" + Convert.ToString(thisDay.ToString("d")) + "</b>.</p>";

            //encabezado = "<img src='" + pathEspe + "' Height='320' Width='350'/>";
            //cadenaFinal += "<TABLE BORDER='1'><TR><TD>NOMBRE :</TD><TD>GILMER</TD></TR>" +"<br></br>"+
            //                "<TR><TD>APELLIDO :</TD><TD>MELGAREJO LIMAS</TD></TR>" +
            //                "<TR><TD>EDAD :</TD><TD>24</TD></TR></TABLE>";
            cadenaFinal = encabezado + tituloUniversidad + cuerpo + firma;
            //Assign Html content in a string to write in PDF
            string strContent = cadenaFinal;

            //Read string contents using stream reader and convert html to parsed conent
            var parsedHtmlElements = HTMLWorker.ParseToList(new StringReader(strContent), null);

            //Get each array values from parsed elements and add to the PDF document
            foreach (var htmlElement in parsedHtmlElements)
            {
                pdfDoc.Add(htmlElement as IElement);
            }

            //Close your PDF
            pdfDoc.Close();

            Response.ContentType = "application/pdf";

            //Set default file Name as current datetime
            Response.AddHeader("content-disposition", "attachment; filename=certificadoVinculación.pdf");
            System.Web.HttpContext.Current.Response.Write(pdfDoc);

            Response.Flush();
            Response.End();
        }
        catch (Exception ex)
        {
            Response.Write(ex.ToString());
        }
    }
Esempio n. 17
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request["id"] == null)
        {
            Response.Redirect("./Dashboard.aspx");
        }

        entryForm = null;

        try
        {
            //EntryId = new Guid(GeneralFunction.StringDecryption(Request.QueryString["Id"]));
            EntryId = new Guid(Request.QueryString["Id"]);

            if (Request["temp"] != null)
            {
                if (Session["Entry-" + EntryId.ToString() + Request["skey"]] == null)
                {
                    return;
                }

                entryForm = (EntryForm)Session["Entry-" + EntryId.ToString() + Request["skey"]];
                //HttpContext.Current.Session.Remove("Entry-" + EntryId.ToString() + Request["skey"]);
            }
            else
            {
                entryForm = EntryForm.GetEntryForm(Guid.Empty, EntryId);
            }

            entry = Entry.GetEntry(EntryId);
        }
        catch
        {
            Response.Redirect("./Dashboard.aspx");
        }

        MemoryStream memoryStream = new System.IO.MemoryStream();
        StringReader srdr         = new StringReader(GetDocument());
        Document     pdfDoc       = new Document(PageSize.A4, 40, 40, 20, 35);
        HTMLWorker   hparse       = new HTMLWorker(pdfDoc);
        PdfWriter    pdfWriter    = PdfWriter.GetInstance(pdfDoc, memoryStream);

        //Define the page number
        PageEventHelper pageEventHelper = new PageEventHelper();

        pdfWriter.PageEvent = pageEventHelper;
        // Define the page header
        pageEventHelper.Title       = "";
        pageEventHelper.HeaderFont  = FontFactory.GetFont(BaseFont.COURIER_BOLD, 10, Font.BOLD);
        pageEventHelper.HeaderLeft  = "";
        pageEventHelper.HeaderRight = "";

        pdfDoc.Open();
        hparse.Parse(srdr);

        pdfWriter.CloseStream = false;
        pdfDoc.Close();
        pdfWriter.Close();

        Response.ContentType = "application/pdf";
        memoryStream.WriteTo(Response.OutputStream);
        memoryStream.Close();
    }
        protected void Page_Load(object sender, EventArgs e)
        {
            using (ShoppingCart shoppingCart = new ShoppingCart())
            {
                shoppingCart.EmptyCart();
            }

            int       orderid = Convert.ToInt32(Session["orderid"]);
            DataTable dt      = new DataTable();

            dt.Columns.AddRange(new DataColumn[4] {
                new DataColumn("ProductId", typeof(int)),
                new DataColumn("Name", typeof(string)),
                new DataColumn("Quantity", typeof(int)),
                new DataColumn("TotalPrice", typeof(Double))
            });

            GalleryEntities1   _db          = new GalleryEntities1();
            List <ORDERDETAIL> orderdetails = _db.ORDERDETAILs.Where(
                c => c.OrderId == orderid).ToList();

            for (int i = 0; i < orderdetails.Count; i++)
            {
                PRODUCT product         = _db.PRODUCTs.Find(orderdetails[i].ProductId);
                String  stockCount      = product.Stock;
                int     stockCountValue = Convert.ToInt32(stockCount);
                stockCountValue--;
                stockCount    = stockCountValue.ToString();
                product.Stock = stockCount;
                _db.SaveChanges();
                dt.Rows.Add(orderdetails[i].ProductId, product.Name, orderdetails[i].Quantity, orderdetails[i].TotalPrice);
            }

            GridView1.DataSource = dt;
            GridView1.DataBind();
            double total1 = Convert.ToDouble(Session["total"]);

            // Label lblTotal = (Label)GridView1.FindControl("lblTotal");
            lblTotal.Text = String.Format("{0:0.00}", total1);


            //for receipt email
            string    companyName = "Gallery Website";
            string    address     = Convert.ToString(Session["address"]);
            int       orderid1    = Convert.ToInt32(Session["orderid"]);
            int       orderNo     = orderid1;
            DataTable dt1         = new DataTable();

            dt1.Columns.AddRange(new DataColumn[4] {
                new DataColumn("ProductId", typeof(int)),
                new DataColumn("Name", typeof(string)),
                new DataColumn("Quantity", typeof(int)),
                new DataColumn("Total Price", typeof(Double))
            });

            GalleryEntities1   _db1          = new GalleryEntities1();
            List <ORDERDETAIL> orderdetails1 = _db1.ORDERDETAILs.Where(
                c => c.OrderId == orderid1).ToList();

            for (int i = 0; i < orderdetails1.Count; i++)
            {
                PRODUCT product = _db1.PRODUCTs.Find(orderdetails1[i].ProductId);

                dt1.Rows.Add(orderdetails1[i].ProductId, product.Name, orderdetails1[i].Quantity, orderdetails1[i].TotalPrice);
            }

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

                    //Generate Invoice/Receipt Header.
                    sb.Append("<table width='100%' cellspacing='0' cellpadding='2'>");
                    sb.Append("<tr><td align='center' style='background-color: #18B5F0' colspan = '2'><b>Receipt</b></td></tr>");
                    sb.Append("<tr><td colspan = '2'></td></tr>");
                    sb.Append("<tr><td><b>Order 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><b>Company Name: </b>");
                    sb.Append(companyName);
                    sb.Append("</td><td align = 'right'><b>Address: </b>");
                    sb.Append(address);
                    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 dt1.Columns)
                    {
                        sb.Append("<th>");
                        sb.Append(column.ColumnName);
                        sb.Append("</th>");
                    }
                    sb.Append("</tr>");
                    foreach (DataRow row in dt1.Rows)
                    {
                        sb.Append("<tr>");
                        foreach (DataColumn column in dt1.Columns)
                        {
                            sb.Append("<td>");
                            sb.Append(row[column]);
                            sb.Append("</td>");
                        }
                        sb.Append("</tr>");
                    }
                    sb.Append("<tr><td align = 'right' colspan = '");
                    sb.Append(dt1.Columns.Count - 1);
                    sb.Append("'>Total</td>");
                    sb.Append("<td>");
                    double total2 = Convert.ToDouble(Session["total"]);
                    sb.Append(String.Format("{0:0.00}", total2));
                    sb.Append("</td>");
                    sb.Append("</tr></table>");

                    //Export HTML String as PDF.
                    StringReader sr         = new StringReader(sb.ToString());
                    Document     pdfDoc1    = new Document(PageSize.A4, 10f, 10f, 10f, 0f);
                    HTMLWorker   htmlparser = new HTMLWorker(pdfDoc1);
                    using (MemoryStream memoryStream = new MemoryStream())
                    {
                        PdfWriter writer = PdfWriter.GetInstance(pdfDoc1, memoryStream);
                        pdfDoc1.Open();
                        htmlparser.Parse(sr);
                        pdfDoc1.Close();
                        byte[] bytes = memoryStream.ToArray();
                        memoryStream.Close();

                        MembershipUser u = Membership.GetUser(User.Identity.Name);
                        _db = new Models.GalleryEntities1();

                        MailMessage mm = new MailMessage("*****@*****.**", u.Email);
                        mm.Subject = "Receipt PDF";
                        mm.Body    = "Receipt PDF Attachment";
                        mm.Attachments.Add(new Attachment(new MemoryStream(bytes), "ReceiptPDF.pdf"));
                        mm.IsBodyHtml = true;
                        SmtpClient smtp = new SmtpClient();
                        smtp.Host      = "smtp.gmail.com";
                        smtp.EnableSsl = true;
                        System.Net.NetworkCredential NetworkCred = new System.Net.NetworkCredential();
                        NetworkCred.UserName       = "******";
                        NetworkCred.Password       = "******";
                        smtp.UseDefaultCredentials = true;
                        smtp.Credentials           = NetworkCred;
                        smtp.Port = 587;
                        try {
                            smtp.Send(mm);
                        }catch (Exception ex)
                        {
                            Console.Write(ex.StackTrace);
                        }
                    }
                }
            }
        }
    public static void ExportPDFContrlReport(string fileName, GridView gv, string LoginName, string withRender, string[] relData)
    {
        HttpContext.Current.Response.Clear();
        //HttpContext.Current.Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", fileName));
        //HttpContext.Current.Response.ContentType = "application/ms-excel";
        //HttpContext.Current.Response.ContentType = "application/pdf";

        HttpContext.Current.Response.ContentType = "application/pdf";
        HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename=" + fileName + ".pdf");
        HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);

        using (StringWriter sw = new StringWriter())
        {
            using (HtmlTextWriter htw = new HtmlTextWriter(sw))
            {
                Table table = new Table();

                //table.GridLines = gv.GridLines;

                if (gv.HeaderRow != null)
                {
                    gv.HeaderStyle.Font.Bold = true;
                    GridViewExportUtil.PrepareControlForExport(gv.HeaderRow);
                    gv.HeaderRow.Font.Bold = true;
                    table.Rows.Add(gv.HeaderRow);
                }
                foreach (GridViewRow row in gv.Rows)
                {
                    GridViewExportUtil.PrepareControlForExport(row);
                    table.Rows.Add(row);
                }
                if (gv.FooterRow != null)
                {
                    GridViewExportUtil.PrepareControlForExport(gv.FooterRow);
                    table.Rows.Add(gv.FooterRow);
                }
                table.RenderControl(htw);

                //table.HeaderRow.Style.Add("width", "15%");
                //gvData.HeaderRow.Style.Add("font-size", "10px");
                //gvData.Style.Add("text-decoration", "none");
                //gvData.Style.Add("font-family", "Arial, Helvetica, sans-serif;");
                //gvData.Style.Add("font-size", "8px");

                StringReader sr  = new StringReader(sw.ToString());
                StringReader sr1 = new StringReader(withRender);
                EtrekReports.text.Document pdfDoc = new EtrekReports.text.Document(EtrekReports.text.PageSize.A2, 7f, 7f, 7f, 0f);
                HTMLWorker htmlparser             = new HTMLWorker(pdfDoc);
                PdfWriter.GetInstance(pdfDoc, HttpContext.Current.Response.OutputStream);

                pdfDoc.Open();

                //Read string contents using stream reader and convert html to parsed content
                var parsedHtmlElements = HTMLWorker.ParseToList(new StringReader(withRender), null);

                //Get each array values from parsed elements and add to the PDF document
                foreach (var htmlElement in parsedHtmlElements)
                {
                    pdfDoc.Add(htmlElement as EtrekReports.text.IElement);
                }
                // htmlparser.Parse(sr1);
                htmlparser.Parse(sr);
                pdfDoc.Close();
                HttpContext.Current.Response.Write(pdfDoc);
                HttpContext.Current.Response.End();

                //if (withRender.ToUpper() == "REN")
                //    rptRenewalListstyle(LoginName);
                //else if (withRender.ToUpper() == "CLINV")
                //    rptInvoiceListstyle(LoginName);
                //else if (withRender.ToUpper() == "BKR")
                //    rptBrokeragestyle(LoginName);
                //else if (withRender.ToUpper() == "OCL")
                //    rptOutstandingClaimListstyle(LoginName, relData);
                //if (withRender.ToUpper() == "OSCP")
                //    rptOSLossesClaimPaymentheader(LoginName, (relData[0] == null ? "" : relData[0].ToString()), (relData[1] == null ? "" : relData[1].ToString()));
                //HttpContext.Current.Response.Write(sw.ToString());
                //HttpContext.Current.Response.End();
            }
        }
    }
Esempio n. 20
0
    public void GeneratePDFNew(string Imagepath, string fileName, string HeaderName, GridView GridReport, Page oPage, string text)
    {
        var document = new Document(PageSize.A4, 50, 50, 25, 25);

        //  document.SetMargins(20, 20, 20, 20);
        try
        {
            PdfWriter.GetInstance(document, oPage.Response.OutputStream);
            StringBuilder strB  = new StringBuilder();
            StringBuilder strB1 = new StringBuilder();
            string        str   = string.Empty;

            #region [pdfPrint]
            str = "<font size='12px' face='arial'><table width='100%' align='Centre'>";

            str = str + "<tr><td colspan='5' align='left'><b>" + lblCompanyName.Text + "</b></td></tr>";
            str = str + "<tr><td colspan='5' align='left'><b>" + lblCompanyAddress.Text + "</b></td></tr>";
            str = str + "<tr><td colspan='5' align='left'><b>Phone No:" + lblPhnNo.Text + "</b></td></tr>";
            str = str + "<tr><td colspan='5' align='left'><b>Fax No:" + lblFaxNo.Text + "</b></td></tr>";
            str = str + "<tr><td colspan='5' align='Center'><b>Material Issue Register Details </b></td></tr>";

            str = str + "<tr><td align='right'><b>Inward No:</b></td><td align='left'><b>" + lbInwardNo.Text + "</b></td><td align='right'><b></b></td><td align='right'><b>Inward Date:</b></td><td align='left'><b>" + lblInwardDate.Text + "</b></td></tr>";
            str = str + "<tr><td align='right'><b>Bill No:</b></td><td align='left'><b>" + lbBillNo.Text + "</b></td><td align='right'><b></b></td><td align='right'><b>Inward Through:</b></td><td align='left'><b>" + lbInwardThrough.Text + "</b></td></tr>";
            str = str + "<tr><td align='right'><b>To,</b></td><td align='left'><b></b></td><td align='right'><b></b></td><td align='right'><b>Purchase Order No:</b></td><td align='left'><b>" + lblPONO.Text + "</b></td></tr>";
            str = str + "<tr><td align='right'><b></b></td><td align='left' colspan='3'><b>" + lblSupplier.Text + "</b></td><td align='left'><b></b></td></tr>";
            str = str + "<tr><td align='right'><b></b></td><td align='left' colspan='3'><b></b></td><td align='left'><b></b></td></tr>";
            str = str + "<tr><td align='right'><b>Billing Address:</b></td><td align='left' colspan='4'><b>" + lblBillingAddress.Text + "</b></td></tr>";
            str = str + "<tr><td align='right'><b>Shipping Address:</b></td><td align='left' colspan='4'><b>" + lblShippingAddress.Text + "</b></td></tr>";

            document.SetMargins(10, 10, 10, 10);
            document.Open();
            str = str + "<br><tr><td colspan='5' align='Center'>" + GridViewToHtml(InwardGrid) + "</td></tr><br>";
            str = str + "<tr><td colspan='5' align='Right'><b>" + "SubTotal:" + lblSubTotal.Text + "</b></td></tr>";
            str = str + "<tr><td colspan='5' align='Right'><b>" + "Discount:" + lblDiscount.Text + "</b></td></tr>";
            str = str + "<tr><td colspan='5' align='Right'><b>" + "VAT:" + lblVat.Text + "</b></td></tr>";
            str = str + "<tr><td colspan='5' align='Right'><b>" + "Dekhrekh:" + lblDekhrekh.Text + "</b></td></tr>";
            str = str + "<tr><td colspan='5' align='Right'><b>" + "Hamali:" + lblHamali.Text + "</b></td></tr>";
            str = str + "<tr><td colspan='5' align='Right'><b>" + "Cess:" + lblCESS.Text + "</b></td></tr>";
            str = str + "<tr><td colspan='5' align='Right'><b>" + "Freight:" + lblFreight.Text + "</b></td></tr>";
            str = str + "<tr><td colspan='5' align='Right'><b>" + "Packing:" + lblPacking.Text + "</b></td></tr>";
            str = str + "<tr><td align='Right'><b>Tin No:" + LblTinNo.Text + "</b></td><td colspan='4' align='Right'><b>" + "Postage:" + lblPostage.Text + "</b></td></tr>";
            str = str + "<tr><td align='Right'><b>Vat No:" + lblVatNo.Text + "</b></td><td colspan='4' align='Right'><b>" + "Other Charges:" + lblOtherCharges.Text + "</b></td></tr>";
            str = str + "<tr><td align='Right'><b>ServiceTaxNo:" + lblServiceTaxNo.Text + "</b></td><td colspan='4' align='Right'><b>" + "GrandTotal:" + lblGrandTotal.Text + "</b></td></tr>";

            str = str + "<br><tr><td colspan='7'><table width='100%'><tr><td width='15%'>Prepared By</td><td></td><td width='15%'>Authorised By</td><td></td><td width='15%'>Received By</td></tr></br>";
            str = str + "<br><tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr></br>";
            str = str + "<br><tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr></br>";
            str = str + "<br><tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr></br>";
            str = str + "<br><tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr></br>";
            str = str + "<br><tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr></br>";
            str = str + "<br><tr><td>Name &amp; Designation</td><td></td><td>Name &amp; Designation</td><td></td><td >Name &amp; Designation</td></tr></br>";
            str = str + "<br><tr><td>Store Incharge</td><td></td><td>Unit Head/Operation Manager</td><td></td><td>Store Incharge</td></tr></br>";
            str = str + "</table></td></tr></br>";
            str = str + "</table></font>";
            #endregion

            strB.Append(str);

            document.SetMargins(20, 20, 20, 20);
            document.Open();
            if (text.Length.Equals(0)) // export the text
            {
                //  BindMyGrid();
                using (StringWriter sWriter = new StringWriter(strB))
                {
                    using (HtmlTextWriter htWriter = new HtmlTextWriter(sWriter))
                    {
                        //grdPrice.RenderControl(htWriter);
                    }
                }
            }
            else // export the grid
            {
                strB.Append(text);
            }
            // now read the Grid html one by one and add into the document object
            using (TextReader sReader = new StringReader(strB.ToString()))
            {
                iTextSharp.text.Image gif = iTextSharp.text.Image.GetInstance(Server.MapPath("~/Images/MasterPages/MayurLogo.png"));
                document.Add(gif);
                List <IElement> list = HTMLWorker.ParseToList(sReader, new StyleSheet());
                foreach (IElement elm in list)
                {
                    document.Add(elm);
                }
            }
        }
        catch (Exception ex)
        {
            throw new Exception(ex.Message);
        }
        finally
        {
            document.Close();
        }
    }
    //    else
    //    {
    //        Master.ShowError("Already Send Mails");
    //    }



    private void SendPDFEmail(DataTable dt, string ToMail)
    {
        // DataView dv_new;
        //DataTable dt_new;
        //string ToMail = "";
        //DataSourceSelectArguments args_new = new DataSourceSelectArguments();
        //dv_new = MailDataSource.Select(args_new) as DataView;
        //dt_new = dv_new.ToTable() as DataTable;


        //foreach (DataRow myRow in dt_new.Rows)
        //{
        //    ToMail = WebTools.GetExpr("EMAIL", "USERS", " WHERE UPPER(USER_NAME)='" + myRow["USER_NAME"].ToString().ToUpper() + "'");

        //    string cnString = ConfigurationManager.ConnectionStrings["ipmsConnectionString"].ConnectionString;
        //    OracleConnection sqlConnection = new OracleConnection(cnString);

        //    string CommandText = "SELECT * FROM VIEW_BATCH_EMAIL WHERE EMAIL='" + ToMail + "'";
        //    OracleCommand sqlCommand = new OracleCommand(CommandText, sqlConnection);

        //    OracleDataAdapter sqlDataAdapter = new OracleDataAdapter();
        //    sqlDataAdapter.SelectCommand = sqlCommand;

        //    DataSet dataSet = new DataSet();


        //    sqlDataAdapter.Fill(dataSet, "header");
        //    sqlConnection.Close();

        //    DataTable dt = new DataTable();
        //    String ConnString = ConfigurationManager.ConnectionStrings["ipmsConnectionString"].ConnectionString;
        //    OracleConnection con = new OracleConnection(ConnString);
        //    OracleCommand cmd = new OracleCommand("SELECT * FROM VIEW_BATCH_EMAIL WHERE EMAIL='" + ToMail + "'", con);
        //    cmd.CommandType = CommandType.Text;
        //    OracleDataAdapter da = new OracleDataAdapter(cmd);

        //    System.Data.DataTable result = new System.Data.DataTable();
        //    da.Fill(result);

        //    SendPDFEmail(result, ToMail);
        //}
        using (StringWriter sw = new StringWriter())
        {
            using (HtmlTextWriter hw = new HtmlTextWriter(sw))
            {
                string        companyName = "Amogh";
                StringBuilder sb          = new StringBuilder();
                sb.Append("<table width='100%' cellspacing='0' cellpadding='2'>");
                sb.Append("<tr><td align='center' style='background-color: #18B5F0' colspan = '2'><b>Batch Details</b></td></tr>");
                sb.Append("<tr><td colspan = '2'></td></tr>");
                //sb.Append("<tr><td><b>PO Number:</b>");
                //sb.Append(orderNo);
                sb.Append("</td><td><b>Date: </b>");
                sb.Append(DateTime.Now);
                sb.Append(" </td></tr>");
                sb.Append("<tr><td colspan = '2'><b>Company Name:</b> ");
                sb.Append(companyName);
                sb.Append("</td></tr>");
                sb.Append("</table>");
                sb.Append("<br />");
                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("</table>");
                StringReader sr = new StringReader(sb.ToString());

                Document   pdfDoc     = new Document(PageSize.A4, 10f, 10f, 10f, 0f);
                HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
                using (MemoryStream memoryStream = new MemoryStream())
                {
                    PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
                    pdfDoc.Open();
                    htmlparser.Parse(sr);
                    pdfDoc.Close();
                    byte[] bytes = memoryStream.ToArray();
                    memoryStream.Close();

                    MailMessage mm = new MailMessage("*****@*****.**", ToMail);
                    mm.Subject = "Expire Batches";
                    mm.Body    = "The attached batches are going to expire";
                    mm.Attachments.Add(new Attachment(new MemoryStream(bytes), "batch.pdf"));
                    mm.IsBodyHtml = true;
                    SmtpClient smtp = new SmtpClient();
                    smtp.Credentials = new NetworkCredential("*****@*****.**", "Puw48379");
                    smtp.Port        = 587;
                    smtp.Host        = "smtp-mail.outlook.com";
                    smtp.EnableSsl   = true;
                    smtp.Timeout     = 2000000;
                    smtp.Send(mm);
                }
            }
        }
    }
        protected void Button1_Click(object sender, EventArgs e)
        {
            HttpContext.Current.Response.ContentType = "Application/PDF";
            HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename= District_Master.pdf");
            StringWriter   sw = new StringWriter();
            HtmlTextWriter tw = new HtmlTextWriter(sw);

            string         qry1 = "select Dist_Code,Dist_Name from Dist_List order by Dist_Name";
            SqlCommand     cmd  = new SqlCommand(qry1, con);
            SqlDataAdapter da   = new SqlDataAdapter(cmd);
            DataSet        ds   = new DataSet();

            da.Fill(ds);

            iTextSharp.text.Table tb = new iTextSharp.text.Table(2);
            tb.BorderWidth  = 0.6f;
            tb.BorderColor  = new Color(0, 0, 0);
            tb.CellsFitPage = true;
            tb.Padding      = 2;
            tb.Width        = 90;

            //Single widths = new Single() [ 5, 5];
            //tb.Widths = widths;


            if (ds.Tables[0].Rows.Count > 0)
            {
                DataTable dt;
                dt = ds.Tables[0];

                Paragraph            p31     = new Paragraph("District Code", new Font(Font.TIMES_ROMAN, 11, Font.BOLD));
                iTextSharp.text.Cell tcell_1 = new iTextSharp.text.Cell(p31);
                tcell_1.Header = true;
                tcell_1.HorizontalAlignment = Element.ALIGN_CENTER;
                tcell_1.BackgroundColor     = Color.LIGHT_GRAY;
                tb.AddCell(tcell_1);
                tb.EndHeaders();

                Paragraph            p32     = new Paragraph("District Name", new Font(Font.TIMES_ROMAN, 11, Font.BOLD));
                iTextSharp.text.Cell tcell_2 = new iTextSharp.text.Cell(p32);
                tcell_2.Header = true;
                tcell_2.HorizontalAlignment = Element.ALIGN_CENTER;
                tcell_2.BackgroundColor     = Color.LIGHT_GRAY;
                tb.AddCell(tcell_2);
                tb.EndHeaders();


                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    Paragraph p11;
                    Paragraph p12;

                    p11 = new Paragraph(ds.Tables[0].Rows[i]["Dist_Code"].ToString(), new Font(Font.TIMES_ROMAN, 10, Font.NORMAL));
                    p12 = new Paragraph(ds.Tables[0].Rows[i]["Dist_Name"].ToString(), new Font(Font.TIMES_ROMAN, 10, Font.NORMAL));

                    iTextSharp.text.Cell tcell_p111 = new iTextSharp.text.Cell(p11);
                    tcell_p111.HorizontalAlignment = Element.ALIGN_CENTER;
                    tb.AddCell(tcell_p111);

                    iTextSharp.text.Cell tcell_p112 = new iTextSharp.text.Cell(p12);
                    tcell_p112.HorizontalAlignment = Element.ALIGN_LEFT;
                    tb.AddCell(tcell_p112);
                }
            }
            StringReader sr         = new StringReader(sw.ToString());
            Document     pdfDoc     = new Document(PageSize.A4, 2, 2, 2, 1);
            HTMLWorker   htmlparser = new HTMLWorker(pdfDoc);

            PdfWriter.GetInstance(pdfDoc, HttpContext.Current.Response.OutputStream);

            PdfWriter writer = PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
            String    pcnt;

            pcnt = (writer.CurrentPageNumber - 1).ToString();
            pcnt = pcnt.Substring(1);
            pdfDoc.Open();
            pdfDoc.Add(new Paragraph("            DISTRICT MASTER"));
            pdfDoc.Add(tb);
            pdfDoc.Close();
            HttpContext.Current.Response.Write(pdfDoc);
            HttpContext.Current.Response.End();
        }
Esempio n. 23
0
        public static void ExportData(System.Data.DataTable dt, string ExportFileName)
        {
            //if (sfd.FilterIndex == 1)
            //{
            //    bool ExcelImport = false;
            //    if (W.Show("Will this file be Imported into MS EXCEL?", "EXCEL", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == DialogResult.Yes)
            //        ExcelImport = true;

            //    using (StreamWriter sw = new StreamWriter(sfd.FileName))
            //    {
            //        StringBuilder sb = new StringBuilder();
            //        foreach (DataColumn dc in dt.Columns)
            //        {
            //            sb.Append(dc.ColumnName + ",");
            //        }
            //        sw.WriteLine(sb.ToString().Substring(0, sb.ToString().Length - 1));

            //        foreach (DataRow dr in dt.Rows)
            //        {
            //            sb = new StringBuilder();
            //            string rec = "";
            //            foreach (DataColumn dc in dt.Columns)
            //            {
            //                if (ExcelImport)
            //                    rec = @"=" + "\"" + dr[dc.ColumnName].ToString() + "\"";
            //                else
            //                    rec = dr[dc.ColumnName].ToString();

            //                sb.Append(rec + ",");
            //            }

            //            sw.WriteLine(sb.ToString().Substring(0, sb.ToString().Length - 1));
            //        }
            //    }
            //}
            //else if (sfd.FilterIndex == 2)
            //{
            //Document is inbuilt class, available in iTextSharp
            Document      document = new Document(PageSize.A4, 80, 50, 30, 65);
            StringBuilder strData  = new StringBuilder(string.Empty);

            try
            {
                StringWriter sw = new StringWriter();
                sw.WriteLine(Environment.NewLine);
                sw.WriteLine(Environment.NewLine);
                sw.WriteLine(Environment.NewLine);
                sw.WriteLine(Environment.NewLine);
                StreamWriter strWriter = new StreamWriter(ExportFileName, false, Encoding.UTF8);
                //strWriter.Write("<html><head><link href=Style.css rel=stylesheet type=text/css /></head><body>" + htw.InnerWriter.ToString() + "</body></html>");
                #region Write in StreamWriter

                string sError           = string.Empty;
                int    iNoOfColsinaPage = 7;
                int    iRunningColCount = 0;
                strWriter.Write("<HTML><BODY><TABLE>");
                foreach (DataColumn dc in dt.Columns)
                {
                    if (iRunningColCount % iNoOfColsinaPage == 0)
                    {
                        strWriter.Write("<TR>");
                    }
                    strWriter.Write("<TD>&nbsp;" + dc.ColumnName + "&nbsp;</TD>");

                    iRunningColCount++;

                    if (iRunningColCount % iNoOfColsinaPage == 0)
                    {
                        strWriter.Write("</TR>");
                    }
                }

                foreach (DataRow dr in dt.Rows)
                {
                    iRunningColCount = 0;
                    foreach (DataColumn dc in dt.Columns)
                    {
                        if (iRunningColCount % iNoOfColsinaPage == 0)
                        {
                            strWriter.Write("<TR>");
                        }
                        strWriter.Write("<TD>" + dr[dc.ColumnName].ToString() + "&nbsp;</TD>");
                        iRunningColCount++;
                        if (iRunningColCount % iNoOfColsinaPage == 0)
                        {
                            strWriter.Write("</TR>");
                        }
                    }
                }

                strWriter.Write("</TABLE></BODY></HTML>");
                //sb = strWriter.to .Replace("</TD><TR>", "</TD></TR><TR>");

                #endregion
                strWriter.Close();
                strWriter.Dispose();
                iTextSharp.text.html.simpleparser.
                StyleSheet styles = new iTextSharp.text.html.simpleparser.StyleSheet();
                styles.LoadTagStyle("ol", "leading", "16,0");
                List <IElement> objects;
                styles.LoadTagStyle("li", "face", "garamond");
                styles.LoadTagStyle("span", "size", "8px");
                styles.LoadTagStyle("body", "font-family", "times new roman");
                styles.LoadTagStyle("body", "font-size", "10px");
                StreamReader sr = new StreamReader(ExportFileName, Encoding.Default);
                objects = HTMLWorker.ParseToList(sr, styles);
                sr.Close();
                PdfWriter.GetInstance(document, new FileStream(ExportFileName, FileMode.Create));

                document.Add(new Header("stylesheet", "Style.css"));
                document.Open();
                document.NewPage();
                for (int k = 0; k < objects.Count; k++)
                {
                    document.Add((IElement)objects[k]);
                }
            }
            catch (Exception ex)
            {
                //throw ex;
            }
            finally
            {
                document.Close();
            }
        }
Esempio n. 24
0
        protected void imgPdfButton_Click(object sender, EventArgs e)
        {
            try
            {
                string text  = Session[ApplicationSession.OrganisationName].ToString();
                string text1 = Session[ApplicationSession.OrganisationAddress].ToString();
                string text2 = "Dryer Log Sheet Report";

                using (StringWriter sw = new StringWriter())
                {
                    using (HtmlTextWriter hw = new HtmlTextWriter(sw))
                    {
                        StringBuilder sb = new StringBuilder();
                        sb.Append("<div align='center' style='font-size:16px;font-weight:bold;color:Black;'>");
                        sb.Append(text);
                        sb.Append("</div>");
                        sb.Append("<br/>");
                        sb.Append("<div align='center' style='font-size:13px;font-weight:bold;color:Black;'>");
                        sb.Append(text1);
                        sb.Append("</div>");
                        sb.Append("<br/>");
                        sb.Append("<div align='center' style='font-size:26px;color:Maroon;'><b>");
                        sb.Append(text2);
                        sb.Append("</b></div>");
                        sb.Append("<br/>");

                        string content = "<table style='display: table;width: 900px; clear:both;'> <tr> <th colspan='10' style='float: left;padding-left: 220px;'><div align='left'><strong>Start Date: </strong>" + txtFromDate.Text + "</div></th>";

                        content += "<th style='float:left; padding-left:-180px;'></th>";

                        content += "<th style='float:left; padding-left:-210px;'></th>";

                        content += "<th colspan='1' align='left' style=' float: left; padding-left:-200px;'><strong> End Date: </strong>" + //colspan='4'
                                   txtToDate.Text + "</th>" +
                                   "</tr></table>";
                        sb.Append(content);
                        sb.Append("<br/>");

                        PdfPTable pdfPTable = new PdfPTable(gvDryerLog.HeaderRow.Cells.Count);

                        //TableCell headerCell = new TableCell();

                        PdfPCell headerCell = new PdfPCell(new Phrase("Sr No."));
                        headerCell.Padding             = 5;
                        headerCell.BorderWidth         = 1.5f;
                        headerCell.HorizontalAlignment = Element.ALIGN_CENTER;
                        headerCell.VerticalAlignment   = Element.ALIGN_MIDDLE;
                        pdfPTable.AddCell(headerCell);

                        PdfPCell headerCell1 = new PdfPCell(new Phrase("ID"));
                        headerCell1.Padding             = 5;
                        headerCell1.BorderWidth         = 1.5f;
                        headerCell1.HorizontalAlignment = Element.ALIGN_CENTER;
                        headerCell1.VerticalAlignment   = Element.ALIGN_MIDDLE;

                        pdfPTable.AddCell(headerCell1);


                        PdfPCell headerCell2 = new PdfPCell(new Phrase("Time"));
                        headerCell2.Padding             = 5;
                        headerCell2.BorderWidth         = 1.5f;
                        headerCell2.HorizontalAlignment = Element.ALIGN_CENTER;
                        headerCell2.VerticalAlignment   = Element.ALIGN_MIDDLE;
                        pdfPTable.AddCell(headerCell2);

                        PdfPCell headerCell3 = new PdfPCell(new Phrase("Homogenizer Inlet Pressure (bar)"));
                        headerCell3.Padding             = 5;
                        headerCell3.BorderWidth         = 1.5f;
                        headerCell3.HorizontalAlignment = Element.ALIGN_CENTER;
                        headerCell3.VerticalAlignment   = Element.ALIGN_MIDDLE;
                        pdfPTable.AddCell(headerCell3);

                        PdfPCell headerCell4 = new PdfPCell(new Phrase("Homogenizer Freq. (Hz)"));
                        headerCell4.Padding             = 5;
                        headerCell4.BorderWidth         = 1.5f;
                        headerCell4.HorizontalAlignment = Element.ALIGN_CENTER;
                        headerCell4.VerticalAlignment   = Element.ALIGN_MIDDLE;
                        pdfPTable.AddCell(headerCell4);

                        PdfPCell headerCell5 = new PdfPCell(new Phrase("Homogenizer Outlet Pressure (bar)"));
                        headerCell5.Padding             = 5;
                        headerCell5.BorderWidth         = 1.5f;
                        headerCell5.HorizontalAlignment = Element.ALIGN_CENTER;
                        headerCell5.VerticalAlignment   = Element.ALIGN_MIDDLE;
                        pdfPTable.AddCell(headerCell5);

                        PdfPCell headerCell6 = new PdfPCell(new Phrase("Dryer Feed Temp."));
                        headerCell6.Padding             = 5;
                        headerCell6.BorderWidth         = 1.5f;
                        headerCell6.HorizontalAlignment = Element.ALIGN_CENTER;
                        headerCell6.VerticalAlignment   = Element.ALIGN_MIDDLE;
                        pdfPTable.AddCell(headerCell6);

                        PdfPCell headerCell7 = new PdfPCell(new Phrase("Drying Chamber Vacuum (mmHg)"));
                        headerCell7.Padding             = 5;
                        headerCell7.BorderWidth         = 1.5f;
                        headerCell7.HorizontalAlignment = Element.ALIGN_CENTER;
                        headerCell7.VerticalAlignment   = Element.ALIGN_MIDDLE;
                        pdfPTable.AddCell(headerCell7);

                        PdfPCell headerCell8 = new PdfPCell(new Phrase("Exhaust Fan Freq. (Hz)"));
                        headerCell8.Padding             = 5;
                        headerCell8.BorderWidth         = 1.5f;
                        headerCell8.HorizontalAlignment = Element.ALIGN_CENTER;
                        headerCell8.VerticalAlignment   = Element.ALIGN_MIDDLE;
                        pdfPTable.AddCell(headerCell8);

                        PdfPCell headerCell9 = new PdfPCell(new Phrase("Vibro Vacuum (mmHg)"));
                        headerCell9.Padding             = 5;
                        headerCell9.BorderWidth         = 1.5f;
                        headerCell9.HorizontalAlignment = Element.ALIGN_CENTER;
                        headerCell9.VerticalAlignment   = Element.ALIGN_MIDDLE;
                        pdfPTable.AddCell(headerCell9);

                        PdfPCell headerCell10 = new PdfPCell(new Phrase("Main Air Supply Flow (kg/hr)"));
                        headerCell10.Padding             = 5;
                        headerCell10.BorderWidth         = 1.5f;
                        headerCell10.HorizontalAlignment = Element.ALIGN_CENTER;
                        headerCell10.VerticalAlignment   = Element.ALIGN_MIDDLE;
                        pdfPTable.AddCell(headerCell10);

                        PdfPCell headerCell11 = new PdfPCell(new Phrase("Main Air Supply Fan Freq. (Hz)"));
                        headerCell11.Padding             = 5;
                        headerCell11.BorderWidth         = 1.5f;
                        headerCell11.HorizontalAlignment = Element.ALIGN_CENTER;
                        headerCell11.VerticalAlignment   = Element.ALIGN_MIDDLE;
                        pdfPTable.AddCell(headerCell11);

                        PdfPCell headerCell12 = new PdfPCell(new Phrase("Air Disperser Temp. (°C)"));
                        headerCell12.Padding             = 5;
                        headerCell12.BorderWidth         = 1.5f;
                        headerCell12.HorizontalAlignment = Element.ALIGN_CENTER;
                        headerCell12.VerticalAlignment   = Element.ALIGN_MIDDLE;
                        pdfPTable.AddCell(headerCell12);

                        PdfPCell headerCell13 = new PdfPCell(new Phrase("Main Air Supply Temp. (°C)"));
                        headerCell13.Padding             = 5;
                        headerCell13.BorderWidth         = 1.5f;
                        headerCell13.HorizontalAlignment = Element.ALIGN_CENTER;
                        headerCell13.VerticalAlignment   = Element.ALIGN_MIDDLE;
                        pdfPTable.AddCell(headerCell13);

                        PdfPCell headerCell14 = new PdfPCell(new Phrase("VF-1 & 2 Air Supply Temp. (°C)"));
                        headerCell14.Padding             = 5;
                        headerCell14.BorderWidth         = 1.5f;
                        headerCell14.HorizontalAlignment = Element.ALIGN_CENTER;
                        headerCell14.VerticalAlignment   = Element.ALIGN_MIDDLE;
                        pdfPTable.AddCell(headerCell14);

                        PdfPCell headerCel15 = new PdfPCell(new Phrase("VF-3 Air Supply Temp. (°C)"));
                        headerCel15.Padding             = 5;
                        headerCel15.BorderWidth         = 1.5f;
                        headerCel15.HorizontalAlignment = Element.ALIGN_CENTER;
                        headerCel15.VerticalAlignment   = Element.ALIGN_MIDDLE;
                        pdfPTable.AddCell(headerCel15);

                        PdfPCell headerCell16 = new PdfPCell(new Phrase("VF-4 Air Supply Temp. (°C)"));
                        headerCell16.Padding             = 5;
                        headerCell16.BorderWidth         = 1.5f;
                        headerCell16.HorizontalAlignment = Element.ALIGN_CENTER;
                        headerCell16.VerticalAlignment   = Element.ALIGN_MIDDLE;
                        pdfPTable.AddCell(headerCell16);

                        PdfPCell headerCell17 = new PdfPCell(new Phrase("Vibro Outlet Temp. (°C)"));
                        headerCell17.Padding             = 5;
                        headerCell17.BorderWidth         = 1.5f;
                        headerCell17.HorizontalAlignment = Element.ALIGN_CENTER;
                        headerCell17.VerticalAlignment   = Element.ALIGN_MIDDLE;
                        pdfPTable.AddCell(headerCell17);

                        PdfPCell headerCell18 = new PdfPCell(new Phrase("Drying Chamber Outlet Temp. (°C)"));
                        headerCell18.Padding             = 5;
                        headerCell18.BorderWidth         = 1.5f;
                        headerCell18.HorizontalAlignment = Element.ALIGN_CENTER;
                        headerCell18.VerticalAlignment   = Element.ALIGN_MIDDLE;
                        pdfPTable.AddCell(headerCell18);

                        PdfPCell headerCell19 = new PdfPCell(new Phrase("SFB Air Supply Temp. (°C)"));
                        headerCell19.Padding             = 5;
                        headerCell19.BorderWidth         = 1.5f;
                        headerCell19.HorizontalAlignment = Element.ALIGN_CENTER;
                        headerCell19.VerticalAlignment   = Element.ALIGN_MIDDLE;
                        pdfPTable.AddCell(headerCell19);

                        PdfPCell headerCell20 = new PdfPCell(new Phrase("SFB Temp. (°C)"));
                        headerCell20.Padding             = 5;
                        headerCell20.BorderWidth         = 1.5f;
                        headerCell20.HorizontalAlignment = Element.ALIGN_CENTER;
                        headerCell20.VerticalAlignment   = Element.ALIGN_MIDDLE;
                        pdfPTable.AddCell(headerCell20);

                        PdfPCell headerCell21 = new PdfPCell(new Phrase("SFB DPT. (bar)"));
                        headerCell21.Padding             = 5;
                        headerCell21.BorderWidth         = 1.5f;
                        headerCell21.HorizontalAlignment = Element.ALIGN_CENTER;
                        headerCell21.VerticalAlignment   = Element.ALIGN_MIDDLE;
                        pdfPTable.AddCell(headerCell21);

                        PdfPCell headerCell22 = new PdfPCell(new Phrase("SFB Fan Freq. (bar)"));
                        headerCell22.Padding             = 5;
                        headerCell22.BorderWidth         = 1.5f;
                        headerCell22.HorizontalAlignment = Element.ALIGN_CENTER;
                        headerCell22.VerticalAlignment   = Element.ALIGN_MIDDLE;
                        pdfPTable.AddCell(headerCell22);

                        PdfPCell headerCell23 = new PdfPCell(new Phrase("Cyclone 1 DPT. (bar)"));
                        headerCell23.Padding             = 5;
                        headerCell23.BorderWidth         = 1.5f;
                        headerCell23.HorizontalAlignment = Element.ALIGN_CENTER;
                        headerCell23.VerticalAlignment   = Element.ALIGN_MIDDLE;
                        pdfPTable.AddCell(headerCell23);

                        PdfPCell headerCell24 = new PdfPCell(new Phrase("Cyclone 2 DPT. (bar)"));
                        headerCell24.Padding             = 5;
                        headerCell24.BorderWidth         = 1.5f;
                        headerCell24.HorizontalAlignment = Element.ALIGN_CENTER;
                        headerCell24.VerticalAlignment   = Element.ALIGN_MIDDLE;
                        pdfPTable.AddCell(headerCell24);

                        PdfPCell headerCell25 = new PdfPCell(new Phrase("Powder Moisture"));
                        headerCell25.Padding             = 5;
                        headerCell25.BorderWidth         = 1.5f;
                        headerCell25.HorizontalAlignment = Element.ALIGN_CENTER;
                        headerCell25.VerticalAlignment   = Element.ALIGN_MIDDLE;
                        pdfPTable.AddCell(headerCell25);

                        PdfPCell headerCell26 = new PdfPCell(new Phrase("Bag No."));
                        headerCell26.Padding             = 5;
                        headerCell26.BorderWidth         = 1.5f;
                        headerCell26.HorizontalAlignment = Element.ALIGN_CENTER;
                        headerCell26.VerticalAlignment   = Element.ALIGN_MIDDLE;
                        pdfPTable.AddCell(headerCell26);


                        float[] widthsTAS = { 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f };
                        pdfPTable.SetWidths(widthsTAS);

                        for (int i = 0; i < gvDryerLog.Rows.Count; i++)
                        {
                            if (gvDryerLog.Rows[i].RowType == DataControlRowType.DataRow)
                            {
                                for (int j = 0; j < gvDryerLog.Columns.Count; j++)
                                {
                                    string cellText = Server.HtmlDecode(gvDryerLog.Rows[i].Cells[j].Text);
                                    gvDryerLog.Columns[1].Visible = false;
                                    DateTime dDate;
                                    double   dbvalue;
                                    int      intvalue;

                                    if (DateTime.TryParse(cellText, out dDate))
                                    {
                                        PdfPCell CellTwoHdr = new PdfPCell(new Phrase(cellText));
                                        CellTwoHdr.HorizontalAlignment = Element.ALIGN_CENTER;
                                        CellTwoHdr.VerticalAlignment   = Element.ALIGN_MIDDLE;
                                        CellTwoHdr.Padding             = 5;
                                        pdfPTable.AddCell(CellTwoHdr);
                                    }
                                    else if (double.TryParse(cellText, out dbvalue) || Int32.TryParse(cellText, out intvalue))
                                    {
                                        PdfPCell CellTwoHdr = new PdfPCell(new Phrase(cellText));
                                        CellTwoHdr.HorizontalAlignment = Element.ALIGN_CENTER;
                                        CellTwoHdr.VerticalAlignment   = Element.ALIGN_MIDDLE;
                                        CellTwoHdr.Padding             = 5;
                                        pdfPTable.AddCell(CellTwoHdr);
                                    }
                                    else
                                    {
                                        PdfPCell CellTwoHdr = new PdfPCell(new Phrase(cellText));
                                        CellTwoHdr.HorizontalAlignment = Element.ALIGN_CENTER;
                                        CellTwoHdr.VerticalAlignment   = Element.ALIGN_MIDDLE;
                                        CellTwoHdr.Padding             = 5;
                                        pdfPTable.AddCell(CellTwoHdr);
                                    }
                                }
                                pdfPTable.HeaderRows = 1;
                            }
                        }


                        var imageURL = Server.MapPath(".") + "\\GEAProcess_large_20122024.jpg";
                        iTextSharp.text.Image jpg = iTextSharp.text.Image.GetInstance(imageURL);

                        jpg.Alignment = Element.ALIGN_CENTER;
                        jpg.SetAbsolutePosition(30, 1060);

                        //For IDMC Logo
                        var imageURL1 = Server.MapPath(".") + "\\GEAProcess_large_20122024.jpg";
                        iTextSharp.text.Image jpg1 = iTextSharp.text.Image.GetInstance(imageURL1);

                        jpg1.Alignment = Element.ALIGN_RIGHT;
                        jpg1.SetAbsolutePosition(700, 1060);

                        StringReader sr = new StringReader(sb.ToString());
                        //StringReader sr1 = new StringReader(sb1.ToString());
                        Document pdfDoc = new Document(PageSize.A1, -150f, -150f, 10f, 0f);

                        HTMLWorker          htmlparser      = new HTMLWorker(pdfDoc);
                        PdfWriter           writer          = PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
                        PDFBackgroundHelper pageEventHelper = new PDFBackgroundHelper();
                        writer.PageEvent = pageEventHelper;
                        pdfDoc.Open();
                        htmlparser.Parse(sr);
                        pdfDoc.Add(jpg);
                        pdfDoc.Add(jpg1);
                        pdfDoc.Add(pdfPTable);
                        //htmlparser.Parse(sr1);

                        //----------- FOOTER -----------
                        PdfPTable footer        = new PdfPTable(2);
                        PdfPTable footer2       = new PdfPTable(2);
                        PdfPCell  footer_Cell1  = new PdfPCell(new Phrase("Shift"));
                        PdfPCell  footer2_Cell1 = new PdfPCell(new Phrase("Shift Incharge"));
                        PdfPCell  common_Cell   = new PdfPCell(new Phrase(": ____________________"));

                        float[] cols = new float[] { 100, 300 };

                        footer.SetWidthPercentage(cols, PageSize.A3);
                        footer2.SetWidthPercentage(cols, PageSize.A3);
                        footer_Cell1.Border  = 0;
                        footer2_Cell1.Border = 0;
                        common_Cell.Border   = 0;
                        footer.AddCell(footer_Cell1);
                        footer.AddCell(common_Cell);
                        footer2.AddCell(footer2_Cell1);
                        footer2.AddCell(common_Cell);
                        footer.WriteSelectedRows(0, -1, pdfDoc.LeftMargin + 125, 90, writer.DirectContent);
                        footer2.WriteSelectedRows(0, -1, pdfDoc.LeftMargin + 125, 70, writer.DirectContent);
                        //----------- /FOOTER -----------

                        pdfDoc.Close();
                        Response.ContentType = "application/pdf";

                        Response.AddHeader("content-disposition", "attachment;" + "filename=DryerLogSheetReport" + DateTime.Now.Date.ToString("dd-MM-yyyy") + ".pdf");
                        Response.Cache.SetCacheability(HttpCacheability.NoCache);
                        Response.Write(pdfDoc);
                        Response.Flush();
                        Response.Clear();
                        Response.End();
                    }
                }
            }
            catch (Exception ex)
            {
                log.Error("Error", ex);
                ClientScript.RegisterStartupScript(typeof(Page), "MessagePopUp",
                                                   "<script>alert('Oops! There is some technical Problem. Contact to your Administrator.');</script>");
            }
        }
Esempio n. 25
0
        /// <summary>
        /// Renders the PDF to an array of bytes
        /// </summary>
        public byte[] RenderPdf(string imageFilePath)
        {
            //Document is inbuilt class, available in iTextSharp
            MemoryStream file     = new MemoryStream();
            Document     document = new Document(new Rectangle(842, 595));

            document.SetMargins(200, 200, 200, 100);
            PdfWriter writer = PdfWriter.GetInstance(document, file);
            Image     jpg    = iTextSharp.text.Image.GetInstance(imageFilePath);

            jpg.ScaleToFit(842, 595);
            jpg.Alignment = Image.UNDERLYING;
            jpg.SetAbsolutePosition(0, 0);


            //allow modifications of the document
            if (this.BeforeRender is RenderEvent)
            {
                this.BeforeRender(writer, document);
            }

            document.Open();

            //render each page that has been added
            foreach (HtmlPdfPage page in this._Pages)
            {
                document.NewPage();
                document.Add(jpg);

                //generate this page of text
                MemoryStream output = new MemoryStream();
                StreamWriter html   = new StreamWriter(output, Encoding.UTF8);

                //get the page output
                html.Write(string.Concat(HtmlToPdfBuilder.DOCUMENT_HTML_START, page._Html.ToString(), HtmlToPdfBuilder.DOCUMENT_HTML_END));
                html.Close();
                html.Dispose();

                //read the created stream
                MemoryStream generate = new MemoryStream(output.ToArray());
                StreamReader reader   = new StreamReader(generate);
                foreach (object item in HTMLWorker.ParseToList(reader, this._Styles))
                {
                    document.Add((IElement)item);
                }

                //cleanup these streams
                html.Dispose();
                reader.Dispose();
                output.Dispose();
                generate.Dispose();
            }

            //after rendering
            if (this.AfterRender is RenderEvent)
            {
                this.AfterRender(writer, document);
            }

            //return the rendered PDF
            document.Close();
            return(file.ToArray());
        }
    private void SendPDFEmail(DataTable dt)
    {
        using (StringWriter sw = new StringWriter())
        {
            using (HtmlTextWriter hw = new HtmlTextWriter(sw))
            {
                string        companyName = "Online Book Shop";
                int           orderNo     = 1111;
                string        email       = "Email";
                string        desc        = "Description";
                string        name        = "Book Name";
                StringBuilder sb          = new StringBuilder();
                sb.Append("<br /><br />");
                sb.Append("<table width='100%' cellspacing='0' cellpadding='2'>");
                sb.Append("<tr><td align='center' style='background-color: #18B5F0' colspan = '2'><b>Donation Sleep</b></td></tr>");
                sb.Append("<tr><td colspan = '2'></td></tr>");
                sb.Append("<tr><td><b>Order No:</b>");
                sb.Append(orderNo);
                sb.Append("</td><td><b>Date: </b>");
                sb.Append(DateTime.Now);
                sb.Append(" </td></tr>");
                sb.Append("<tr><td colspan = '2'><b>Company Name :</b> ");
                sb.Append(companyName);
                sb.Append("</td></tr>");
                sb.Append("</table>");
                sb.Append("<br />");
                sb.Append("<table border = '1'>");
                sb.Append("<tr>");
                //foreach (DataColumn column in dt.Columns)
                //{
                sb.Append("<td style = 'background-color: #D20B0C;color:black'>");
                sb.Append(email);
                sb.Append("</td>");
                sb.Append("<td style = 'background-color: #D20B0C;color:black'>");
                sb.Append(name);
                sb.Append("</td>");
                sb.Append("<td style = 'background-color: #D20B0C;color:black'>");
                sb.Append(desc);
                sb.Append("</td>");
                //}
                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("</table>");
                sb.Append("<br/><br/>");
                sb.Append("<b> Thank You For Your Valuable Donation");
                StringReader sr = new StringReader(sb.ToString());

                Document   pdfDoc     = new Document(PageSize.A4, 10f, 10f, 10f, 0f);
                HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
                using (MemoryStream memoryStream = new MemoryStream())
                {
                    PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
                    pdfDoc.Open();
                    htmlparser.Parse(sr);
                    pdfDoc.Close();
                    byte[] bytes = memoryStream.ToArray();
                    memoryStream.Close();


                    MailDefinition md = new MailDefinition();
                    md.From       = "*****@*****.**";
                    md.IsBodyHtml = true;
                    //md.Subject = "Test of MailDefinition";
                    ListDictionary replacements = new ListDictionary();
                    replacements.Add("{name}", TextBox_emailID.Text);
                    replacements.Add("{book}", TextBox_Bookname.Text);
                    //replacements.Add("{url}", "/ICON.jpg");
                    //string body = "<div style='color:red;background:yellow'>Hello {name}<br><br><br> You're from {country}.</div><br><br> <div style='color:red;background:red'>Nice To Meet You.</div>";
                    string body = "<style type='text/css'>td {padding: 15px;}.auto-style1 {color: #00E600;}</style><div style='width:80%;height:80%;margin:auto;padding:20px;color:#00cc00;border:10px solid #00cc00;'><img src=\"cid:filename\"><div style='margin:50px;background-color:#f7ffe6;padding:30px'><center><h2>Thank you for the donation!</h2></center><table><tr><td>Donor Name:</td><td>{name}</td></tr><tr><td>Donation ID:</td><td>4355</td></tr><tr><td>Book Donated:</td><td>{book}</td></tr></table></div><b style='float:right;'>&copy;Copyright BooksForTechs</b></div>";

                    MailMessage mm = md.CreateMailMessage(TextBox_emailID.Text, replacements, body, new System.Web.UI.Control());
                    //MailMessage mm = new MailMessage("*****@*****.**", "*****@*****.**");
                    mm.Subject = "Donation Sleep";
                    mm.Attachments.Add(new Attachment(new MemoryStream(bytes), "donationPDF.pdf"));
                    mm.IsBodyHtml = true;
                    SmtpClient smtp = new SmtpClient();
                    smtp.Host      = "smtp.gmail.com";
                    smtp.EnableSsl = true;
                    NetworkCredential NetworkCred = new NetworkCredential();
                    NetworkCred.UserName       = "******";
                    NetworkCred.Password       = "******";
                    smtp.UseDefaultCredentials = true;
                    smtp.Credentials           = NetworkCred;
                    smtp.Port = 587;
                    smtp.Send(mm);



                    /*MailMessage mm = new MailMessage();
                     * mm.From=new MailAddress("*****@*****.**");
                     * mm.To.Add(new MailAddress(TextBox_emailID.Text));
                     * mm.Subject = "Donation Reciept";
                     * mm.Body = "Thank you for donating book...we appriciate your work.....please find an attachment which contains donation sleep";
                     * mm.Attachments.Add(new Attachment(new MemoryStream(bytes), "donationPDF.pdf"));
                     * mm.IsBodyHtml = true;
                     * SmtpClient smtp = new SmtpClient();
                     * smtp.Host = "smtp.gmail.com";
                     * smtp.EnableSsl = true;
                     * NetworkCredential NetworkCred = new NetworkCredential();
                     * NetworkCred.UserName = "******";
                     * NetworkCred.Password = "******";
                     * smtp.UseDefaultCredentials = true;
                     * smtp.Credentials = NetworkCred;
                     * smtp.Port = 587;
                     * smtp.Send(mm);*/
                }
            }
        }
    }
Esempio n. 27
0
        public string GetRecibo(string tranferId,
                                string username,
                                string numReceipt,
                                string date,
                                string nAffiliate,
                                string typeMembresia,
                                string namePeson,
                                string hour,
                                string detalle,
                                string quotesPendiente,
                                string concepto)
        {
            string fechaVar   = DateTime.Now.ToString("yyyyMMddHHmmss");
            string nameTicket = username + "_" + tranferId + fechaVar;
            string dni        = username.Substring(2, (username.Length - 2));

            using (Document document = new Document(PageSize.A4, 10, 10, 10, 10))
            {
                string     rutaImg = HttpContext.Current.Server.MapPath("~/Resources/Images/");
                string     ruta    = HttpContext.Current.Server.MapPath("~/Resources/RecibosRegister/") + nameTicket + ".pdf";
                FileStream stream  = new FileStream(ruta, FileMode.Create);
                PdfWriter.GetInstance(document, stream);
                document.Open();


                string cadenfinal = string.Empty;
                cadenfinal += "<!DOCTYPE html ><html><head><title></title></head><body>";
                cadenfinal += "<div style='font-family: sans-serif;display: block;padding:20px;margin:10px auto;width:700px;height: 700px;background-color: white;'>";
                //cadenfinal += "<img src='" + rutaImg + "rec.png' style='position: absolute;top: 24%;left:28%;opacity: 0.1;z-index:1;width:515px;'/>";
                //cadenfinal += "<div style='display:flex;justify-content:space-between;text-align:center;' >";
                //cadenfinal += "<img src='" + rutaImg + "rec.png'/>";
                //cadenfinal += "<div><div style='font-size: 24px' ><b> RECIBO </b> Nro. 002044 </div><label> 20 de marzo del 2019 </label></div></div>";
                cadenfinal += "<div><img src='" + rutaImg + "rec.png' style='position: absolute;top: 24%;left:28%;opacity: 0.1;z-index:1;width:515px;'></div>";

                cadenfinal += "<div style='display:block;margin:10px auto;text-align: center;' ><h2><b> VALLE ENCANTADO S.A.C </b></h2>";
                cadenfinal += "<h4><b> RUC 20601460271 </b></h4></div><div style='display: flex;justify-content: space-between;'>";
                //cadenfinal += "<div style='display:block' ><div style='margin:5px 0'><b> Nro. MEMBRESIA:</b> AR00101 </div>";
                cadenfinal += "<div style='display:block' ><div style='margin:5px 0'><b> Codigo:</b> " + username + " </div>";
                cadenfinal += "<label><b> Nombre: </b> " + namePeson.ToUpper() + "</label></div><div><div><b> Codido Membresia: </b>" + typeMembresia + "</div>";
                cadenfinal += "<label><b> DNI: </b> " + dni + " </label></div></div><div style = 'margin:15px auto;'><label><B> Codigo de operacion: </B> " + tranferId + " </label>";
                cadenfinal += "</div>";
                cadenfinal += "<div style='margin: 15px auto' ><b> Fecha: </b>" + date + " HORA: " + hour + " </div>";
                cadenfinal += "<div style='margin: 15px auto' ><b> Concepto: </b> " + concepto + " </div>";
                cadenfinal += "<div style='margin: 15px auto' ><b> Monto: </b>" + detalle + " </div>";
                cadenfinal += "<div style='margin: 15px auto' ><b> Cuotas pendientes: </b>" + quotesPendiente + " </div>";

                //cadenfinal += "<div style='border:1px solid grey;display: flex;justify-content: space-around;' ><div style='border:2px solid grey;width: 25%;text-align: center;'>";
                //cadenfinal += "<div style='border-bottom: 2px solid grey;font-weight: bold; background-color: #d6d6d6'> CONCEPTO </div>";
                //cadenfinal += "<label> CUOTA 1°</label></div><div style = 'border:2px solid grey;width:25%;text-align: center;'>";
                //cadenfinal += "<div style='border-bottom: 2px solid grey;font-weight: bold; background-color: #d6d6d6'> MONTO </div>";
                //cadenfinal += "<label> 2437.00 </label></div><div style = 'border:2px solid grey;width: 25%;text-align: center;'>";
                //cadenfinal += "<div style='border-bottom: 2px solid grey;font-weight: bold; background-color: #d6d6d6'> INTERÉS </div>";
                //cadenfinal += "<label> 00.00 </label></div><div style = 'border:2px solid grey;width: 25%;text-align: center;' >";
                //cadenfinal += "<div style='border-bottom: 2px solid grey;font-weight: bold; background-color: #d6d6d6' > TOTAL </div>";
                //cadenfinal += "<label> 2437.00 </label></div></div><div style='display: flex;justify-content: space-between;'>";
                //cadenfinal += "<label style='margin: 20px'> CUOTAS PENDIENTES: 0 </label><div style=';text-align: center;";
                //cadenfinal += "display: flex;margin: 10px 0px;background-color: white;border: 1px solid grey;' >";
                //cadenfinal += "<div style='width: 160px;padding:7px 5px;border: 2px solid grey'><b> TOTAL PAGADO </b></div>";
                //cadenfinal += "<div style='width: 160px;padding:5px 5px;border: 2px solid grey'> S /. 2437.00 </div>";
                //cadenfinal += "</div></div><div style='font-size: 14px;margin: 30px 0'><div> VALLE ENCANTADO S.A.C - RUC 20601460271 </div>";
                //cadenfinal += "<div>AV.GUARDIA CIVIL 1321 EDIFICIO CONEXION LIMA OFICINA 602 </div>";
                //cadenfinal += "<div>FIJO: 01 - 4349481 / 01 - 4799174 </div><div> CELULAR / WHATSAPP: 938627349 / 938627411 / 938627011 </div>";
                //cadenfinal += "<div>CORREO: SOCIOS @CIENEGUILLARIBERADELRIO.COM</div></div>";
                cadenfinal += "</div></body></html>";

                var styles = new StyleSheet();
                Dictionary <string, string> cuadro = new Dictionary <string, string>();
                cuadro.Add("font-family", "sans-serif");
                cuadro.Add("display", "block");
                cuadro.Add("padding", "20px");
                cuadro.Add("margin", "10px auto");
                cuadro.Add("width", "700px");
                cuadro.Add("height", "700px");
                cuadro.Add("background-color", "green");

                styles.LoadStyle("cuadro", cuadro);

                var parsehtml = HTMLWorker.ParseToList(new StringReader(cadenfinal), null);

                foreach (var htmlElement in parsehtml)
                {
                    document.Add(htmlElement as IElement);
                }
                document.Close();
            }

            return(nameTicket + ".pdf");
        }
Esempio n. 28
0
        public ActionResult InventoryReportPrint(CMSReportViewModels model)
        {
            var uService = new UserService();
            var prole    = uService.ValidatePageRole(User.Identity.GetUserId(), Page_Code.P0016);

            if (prole == null)
            {
                return(RedirectToAction("ErrorPage", "Account", new ErrorViewModel()
                {
                    Message = Resource.Message_Access_Denied
                }));
            }
            if (prole.View == null || prole.View == false)
            {
                return(RedirectToAction("ErrorPage", "Account", new ErrorViewModel()
                {
                    Message = Resource.Message_Access_Denied
                }));
            }

            if (!string.IsNullOrEmpty(model.Lot_No) || !string.IsNullOrEmpty(model.Drum_Code) || !string.IsNullOrEmpty(model.Product_Code))
            {
                var cmsService = new CMSService();
                var cri        = new CMSCriteria();
                cri.Lot_No               = model.Lot_No;
                cri.Drum_Code            = model.Drum_Code;
                cri.Product_Code         = model.Product_Code;
                cri.Not_Yet_Deliver      = true;
                cri.Sort_By              = model.Sort_By;
                cri.Drum_Code_Have_Value = true;
                var result = cmsService.GetCMSCharge(cri);
                if (result.Code == ReturnCode.SUCCESS)
                {
                    model.chargelist = result.Object as List <CMS_Charge>;
                }

                cri = new CMSCriteria();
                cri.Drum_Code_Have_Value = true;
                var result2 = cmsService.GetCMSCharge(cri);
                if (result2.Code == ReturnCode.SUCCESS)
                {
                    model.chargelistAll = result2.Object as List <CMS_Charge>;
                }
            }
            var htmlToConvert = RenderPartialViewAsString("InventoryReportPrint", model);

            Response.Clear();
            Response.ClearContent();
            Response.ClearHeaders();
            Response.ContentType     = "application/pdf";
            Response.Charset         = Encoding.UTF8.ToString();
            Response.HeaderEncoding  = Encoding.UTF8;
            Response.ContentEncoding = Encoding.UTF8;
            Response.Buffer          = true;
            StringReader sr     = new StringReader(htmlToConvert);
            Document     pdfDoc = new Document(PageSize.A4, 10, 10, 10, 40);

            pdfDoc.SetPageSize(iTextSharp.text.PageSize.A4.Rotate());

            HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
            var        writer     = PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
            var        action     = new PdfAction(PdfAction.PRINTDIALOG);

            writer.SetOpenAction(action);

            var pageevent = new PDFPageEvent();

            writer.PageEvent = pageevent;
            pdfDoc.Open();
            htmlparser.Parse(sr);
            pdfDoc.Close();
            Response.End();
            return(View(model));
        }
Esempio n. 29
0
    protected void GenerateInvoicePDF()
    {
        //Dummy data for Invoice (Bill).
        string    companyName = "ASPSnippets";
        int       orderNo     = 2303;
        DataTable dt          = new DataTable();

        dt.Columns.AddRange(new DataColumn[5] {
            new DataColumn("ProductId", typeof(string)),
            new DataColumn("Product", typeof(string)),
            new DataColumn("Price", typeof(int)),
            new DataColumn("Quantity", typeof(int)),
            new DataColumn("Total", typeof(int))
        });
        dt.Rows.Add(101, "Sun Glasses", 200, 5, 1000);
        dt.Rows.Add(102, "Jeans", 400, 2, 800);
        dt.Rows.Add(103, "Trousers", 300, 3, 900);
        dt.Rows.Add(104, "Shirts", 550, 2, 1100);

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

                //Generate Invoice (Bill) Header.
                sb.Append("<table border = '1' Style='position: absolute;  height: 100%; width: 100%'>");
                sb.Append("<tr ><td align = 'right'></td></tr>");
                sb.Append("<tr border = '0' style='text-align:center;' ><td><h4>Tax Invoice</h4></td></tr>");
                sb.Append("<tr border = '0'><td align = 'right'>Original</td></tr>");
                sb.Append("<tr>");
                sb.Append("<td>");
                sb.Append("<table border = '1' >");
                sb.Append("<tr><td align='center' style='background-color: #18B5F0' colspan = '2'><b>Order Sheet</b></td></tr>");
                sb.Append("<tr><td colspan = '2'></td></tr>");
                sb.Append("<tr><td><b>Order 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>Company Name: </b>");
                sb.Append(companyName);
                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("'>Total</td>");
                sb.Append("<td>");
                sb.Append(dt.Compute("sum(Total)", ""));
                sb.Append("</td>");
                sb.Append("</td>");
                sb.Append("</tr></table>");
                sb.Append("</tr></table>");
                //Export HTML String as PDF.
                StringReader sr         = new StringReader(sb.ToString());
                StringReader sr2        = new StringReader("Hello");
                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(sr);
                pdfDoc.NewPage();

                htmlparser.Parse(sr2);
                pdfDoc.Close();
                Response.ContentType = "application/pdf";
                //Response.AddHeader("content-disposition", "attachment;filename=Invoice_" + orderNo + ".pdf");
                Response.AddHeader("content-length", "attachment;filename=Invoice_" + orderNo + ".pdf");
                Response.Cache.SetCacheability(HttpCacheability.NoCache);
                Response.Write(pdfDoc);
                Response.End();
            }
        }
    }
Esempio n. 30
0
        public Documento UsuariosExportarPDF(UsuarioFilter filter)
        {
            FileStream fs;
            Document   doc = null;
            PdfWriter  writer;

            try
            {
                doc = new Document();
                // Verifico el directorio
                string filePath = System.IO.Path.Combine(HttpRuntime.AppDomainAppPath, "Archivos\\");
                if (!Directory.Exists(filePath))
                {
                    Directory.CreateDirectory(filePath);
                }

                var fecha = DateTime.Now.ToString("dd-MM-yyyyHHmm");
                // Nombre del archivo
                string fileName = string.Format("{0}-{1}-{2}.pdf", "Usuarios", filter.campo, fecha);
                // Generación del PDF
                fs = new FileStream(System.IO.Path.Combine(filePath, fileName), FileMode.Create, FileAccess.Write, FileShare.None);

                writer = PdfWriter.GetInstance(doc, fs);
                doc.Open();
                string pathImg1 = System.IO.Path.Combine(HttpRuntime.AppDomainAppPath, "Archivos\\logo_farmix.jpg");
                Image  image1;
                if (Image.GetInstance(pathImg1) != null)
                {
                    image1 = Image.GetInstance(pathImg1);
                    image1.ScalePercent(24F);
                    image1.Alignment = Element.ALIGN_CENTER;
                    doc.Add(image1);
                }
                //añadimos linea negra abajo de las imagenes para separar.
                doc.Add(new Paragraph(new Chunk(new iTextSharp.text.pdf.draw.LineSeparator(2.0F, 100.0F, BaseColor.BLACK, Element.ALIGN_LEFT, 1))));
                doc.Add(new Paragraph(" "));
                //Inicio datos
                var             lista   = GetList(filter);
                Font            fuente1 = new Font(FontFamily.TIMES_ROMAN, 12.0f, Font.BOLD, BaseColor.BLACK);
                Font            fuente2 = new Font(FontFamily.TIMES_ROMAN, 14.0f, Font.BOLD, BaseColor.BLACK);
                Rectangle       rect    = PageSize.LETTER;
                List <IElement> ie;
                float           pageWidth = rect.Width;
                string          html      = "";
                fecha = DateTime.Now.ToString("dd-MM-yyyy HH:mm");
                html  = @"
                            <html><head></head><body>
                            <table>
                            <tr><td><b>Usuarios</b></td></tr>
                            <tr><td>Campo: <b>" + filter.campo + @"</b></td></tr>
                            <tr><td>Generado por: <b>" + filter.usuario + @"</b></td></tr>
                            <tr><td>Fecha: <b>" + fecha + @"</b></td></tr>
                            <tr><td>Período: <b>" + filter.periodo + @"</b></td></tr>                 
                            </table>
                            </body></html>";
                ie    = HTMLWorker.ParseToList(new StringReader(html), null);
                foreach (IElement element in ie)
                {
                    PdfPTable table1 = element as PdfPTable;

                    if (table1 != null)
                    {
                        table1.SetWidthPercentage(new float[] { (float)1 * pageWidth }, rect);
                    }
                    doc.Add(element);
                }
                doc.Add(new Paragraph(" "));
                if (lista.Count() > 0)
                {
                    string nombre, apellido, rol = "Sin datos";
                    if (filter.nombre == null)
                    {
                        nombre = "Sin datos";
                    }
                    else
                    {
                        nombre = filter.nombre;
                    }
                    if (filter.apellido == null)
                    {
                        apellido = "Sin datos";
                    }
                    else
                    {
                        apellido = filter.apellido;
                    }
                    if (filter.idRol != 0)
                    {
                        switch (filter.idRol)
                        {
                        case 1:
                            rol = "Dueño";
                            break;

                        case 2:
                            rol = "Ingeniero";
                            break;

                        case 3:
                            rol = "Peón";
                            break;
                        }
                    }

                    html  = @"
                            <html><head></head><body>
                            <table>
                            <tr><td><b>Filtro Aplicado</b></td><td></td><td></td></tr>                
                            </table>
                            <table border='1'>
                            <thead>
                            <tr>
                            <th>Nombre</th>
                            <th>Apellido</th>       
                            <th>Rol</th>";
                    html += @"</tr>               
                            </thead>
                            <tbody>
                            <tr><td>" + nombre + @"</td><td>" + apellido + @"</td><td>" + rol + @"</td></tr>
                            </tbody></table></body></html>";
                    ie    = HTMLWorker.ParseToList(new StringReader(html), null);
                    foreach (IElement element in ie)
                    {
                        PdfPTable table = element as PdfPTable;

                        if (table != null)
                        {
                            table.SetWidthPercentage(new float[] { (float).3 * pageWidth, (float).3 * pageWidth, (float).3 * pageWidth }, rect);
                        }
                        doc.Add(element);
                    }
                    doc.Add(new Paragraph(" "));
                    html = @"
                            <html><head></head><body>
                            <table border='1'>
                            <thead>
                            <tr>
                            <th>Usuario</th>
                            <th>Nombre</th>       
                            <th>Apellido</th>
                            <th>Rol</th>
                            <th>Estado</th>
                            <th>Fecha Alta</th>
                            <th>Fecha Baja</th> 
                            </tr>               
                            </thead>
                            <tbody>";
                    foreach (var item in lista)
                    {
                        html += @"<tr><td>" + item.usuario + @"</td><td>" + item.nombre + @"</td><td>" + item.apellido + @"</td><td>" + item.rol + @"</td><td>" + (item.fechaBaja == " " ? "Activo" : "Inactivo") + @"</td><td>" + item.fechaAlta + @"</td><td>" + (item.fechaBaja == " " ? "-" : item.fechaBaja) + @"</td></tr>";
                    }
                    html += @"</tbody></table>
                            </body></html> ";
                    ie    = HTMLWorker.ParseToList(new StringReader(html), null);
                    foreach (IElement element in ie)
                    {
                        PdfPTable table = element as PdfPTable;

                        if (table != null)
                        {
                            table.SetWidthPercentage(new float[] { (float).14 * pageWidth, (float).14 * pageWidth, (float).14 * pageWidth, (float).14 * pageWidth, (float).1 * pageWidth, (float).16 * pageWidth, (float).16 * pageWidth }, rect);
                        }
                        doc.Add(element);
                    }
                }
                doc.Close();
                return(new Documento()
                {
                    nombre = fileName
                });
            }
            catch (Exception ex)
            {
                doc.Close();
                throw ex;
            }
            finally
            {
                fs     = null;
                doc    = null;
                writer = null;
            }
        }
        protected void btnpdf_Click(object sender, ImageClickEventArgs e)
        {
            HttpContext.Current.Response.ContentType = "Application/PDF";
            HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename= School_Master.pdf");
            StringWriter   sw = new StringWriter();
            HtmlTextWriter tw = new HtmlTextWriter(sw);

            string         qry1 = "Select Dist_List.Dist_Name, SMS_Sub_Division.Sub_Div_Name, sms_school_master.School_Code, sms_school_master.School_Name, sms_school_board.Board from (((sms_school_master inner join Dist_List on sms_school_master.Dist_Code = Dist_List.Dist_Code) inner join SMS_Sub_Division on sms_school_master.Sub_Div_Code = SMS_Sub_Division.Sub_Div_Code) inner join sms_school_board on sms_school_master.Board_ID=sms_school_board.Board_ID) order by Dist_List.Dist_Name, SMS_Sub_Division.Sub_Div_Name, sms_school_board.Board";
            SqlCommand     cmd  = new SqlCommand(qry1, con);
            SqlDataAdapter da   = new SqlDataAdapter(cmd);
            DataSet        ds   = new DataSet();

            da.Fill(ds);

            iTextSharp.text.Table tb = new iTextSharp.text.Table(5);
            tb.BorderWidth  = 0.6f;
            tb.BorderColor  = new Color(0, 0, 0);
            tb.CellsFitPage = true;
            tb.Padding      = 2;
            tb.Width        = 90;

            //Single widths = new Single() [ 5, 5];
            //tb.Widths = widths;


            if (ds.Tables[0].Rows.Count > 0)
            {
                DataTable dt;
                dt = ds.Tables[0];

                Paragraph            p31     = new Paragraph("District", new Font(Font.TIMES_ROMAN, 11, Font.BOLD));
                iTextSharp.text.Cell tcell_1 = new iTextSharp.text.Cell(p31);
                tcell_1.Header = true;
                tcell_1.HorizontalAlignment = Element.ALIGN_CENTER;
                tcell_1.BackgroundColor     = Color.LIGHT_GRAY;
                tb.AddCell(tcell_1);
                tb.EndHeaders();

                Paragraph            p32     = new Paragraph("Sub Division", new Font(Font.TIMES_ROMAN, 11, Font.BOLD));
                iTextSharp.text.Cell tcell_2 = new iTextSharp.text.Cell(p32);
                tcell_2.Header = true;
                tcell_2.HorizontalAlignment = Element.ALIGN_CENTER;
                tcell_2.BackgroundColor     = Color.LIGHT_GRAY;
                tb.AddCell(tcell_2);
                tb.EndHeaders();

                Paragraph            p33     = new Paragraph("School Code", new Font(Font.TIMES_ROMAN, 11, Font.BOLD));
                iTextSharp.text.Cell tcell_3 = new iTextSharp.text.Cell(p33);
                tcell_3.Header = true;
                tcell_3.HorizontalAlignment = Element.ALIGN_CENTER;
                tcell_3.BackgroundColor     = Color.LIGHT_GRAY;
                tb.AddCell(tcell_3);
                tb.EndHeaders();

                Paragraph            p34     = new Paragraph("School Name", new Font(Font.TIMES_ROMAN, 11, Font.BOLD));
                iTextSharp.text.Cell tcell_4 = new iTextSharp.text.Cell(p34);
                tcell_4.Header = true;
                tcell_4.HorizontalAlignment = Element.ALIGN_CENTER;
                tcell_4.BackgroundColor     = Color.LIGHT_GRAY;
                tb.AddCell(tcell_4);
                tb.EndHeaders();

                Paragraph            p35     = new Paragraph("Board", new Font(Font.TIMES_ROMAN, 11, Font.BOLD));
                iTextSharp.text.Cell tcell_5 = new iTextSharp.text.Cell(p35);
                tcell_5.Header = true;
                tcell_5.HorizontalAlignment = Element.ALIGN_CENTER;
                tcell_5.BackgroundColor     = Color.LIGHT_GRAY;
                tb.AddCell(tcell_5);
                tb.EndHeaders();

                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    Paragraph p11;
                    Paragraph p12;
                    Paragraph p13;
                    Paragraph p14;
                    Paragraph p15;

                    p11 = new Paragraph(ds.Tables[0].Rows[i]["Dist_Name"].ToString(), new Font(Font.TIMES_ROMAN, 10, Font.NORMAL));
                    p12 = new Paragraph(ds.Tables[0].Rows[i]["Sub_Div_Name"].ToString(), new Font(Font.TIMES_ROMAN, 10, Font.NORMAL));
                    p13 = new Paragraph(ds.Tables[0].Rows[i]["School_Code"].ToString(), new Font(Font.TIMES_ROMAN, 10, Font.NORMAL));
                    p14 = new Paragraph(ds.Tables[0].Rows[i]["School_Name"].ToString(), new Font(Font.TIMES_ROMAN, 10, Font.NORMAL));
                    p15 = new Paragraph(ds.Tables[0].Rows[i]["Board"].ToString(), new Font(Font.TIMES_ROMAN, 10, Font.NORMAL));

                    iTextSharp.text.Cell tcell_p111 = new iTextSharp.text.Cell(p11);
                    tcell_p111.HorizontalAlignment = Element.ALIGN_CENTER;
                    tb.AddCell(tcell_p111);

                    iTextSharp.text.Cell tcell_p112 = new iTextSharp.text.Cell(p12);
                    tcell_p112.HorizontalAlignment = Element.ALIGN_CENTER;
                    tb.AddCell(tcell_p112);

                    iTextSharp.text.Cell tcell_p113 = new iTextSharp.text.Cell(p13);
                    tcell_p113.HorizontalAlignment = Element.ALIGN_CENTER;
                    tb.AddCell(tcell_p113);

                    iTextSharp.text.Cell tcell_p114 = new iTextSharp.text.Cell(p14);
                    tcell_p114.HorizontalAlignment = Element.ALIGN_CENTER;
                    tb.AddCell(tcell_p114);

                    iTextSharp.text.Cell tcell_p115 = new iTextSharp.text.Cell(p15);
                    tcell_p115.HorizontalAlignment = Element.ALIGN_CENTER;
                    tb.AddCell(tcell_p115);
                }
            }
            StringReader sr         = new StringReader(sw.ToString());
            Document     pdfDoc     = new Document(PageSize.A4, 2, 2, 2, 1);
            HTMLWorker   htmlparser = new HTMLWorker(pdfDoc);

            PdfWriter.GetInstance(pdfDoc, HttpContext.Current.Response.OutputStream);

            PdfWriter writer = PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
            String    pcnt;

            pcnt = (writer.CurrentPageNumber - 1).ToString();
            pcnt = pcnt.Substring(1);
            pdfDoc.Open();
            pdfDoc.Add(new Paragraph("              SCHOOL MASTER"));
            pdfDoc.Add(tb);
            pdfDoc.Close();
            HttpContext.Current.Response.Write(pdfDoc);
            HttpContext.Current.Response.End();
        }