Example #1
0
    private void cargaDatos()
    {
        //cargar grid
        var parameters = new Dictionary <string, object>();

        try
        {
            parameters.Add("@idPlanta", ddlPlanta.SelectedValue);
            var dt = DataAccess.executeStoreProcedureDataTable("spr_GET_BoletinChildPublicado", parameters, this.Session["connection"].ToString());
            gdvBoletin.DataSource = dt;
            gdvBoletin.DataBind();

            GridViewMail.DataSource = dt;
            GridViewMail.DataBind();

            ViewState["GridBoletin"] = dt;

            //campos de cabecera
            txtNombre.Text = dt.Rows.Count > 0 ? dt.Rows[0]["vNombreBoletinHeader"].ToString() : "";
            //txtDesde.Text = dt.Rows.Count > 0 ? dt.Rows[0]["dateFechaInicioBoletinHeader"].ToString() : "";txtHasta.Text = dt.Rows.Count > 0 ? dt.Rows[0]["dateFechaFinBoletinHeader"].ToString() : "";

            //si no se cargo nada en el boletín, no mostrar el botón de enviar correo:
            if (gdvBoletin.Rows.Count < 1)
            {
                bntEnviar.Visible = false;
            }
            else
            {
                bntEnviar.Visible = true;
            }
        }
        catch (Exception EX)
        {
            Log.Error(EX);
            popUpMessageControl1.setAndShowInfoMessage(GetLocalResourceObject("ErrorDatos").ToString(), Common.MESSAGE_TYPE.Error);
        }
    }
Example #2
0
    protected void bntEnviar_Click(object sender, EventArgs e)
    {
        try
        {
            string path = HttpContext.Current.Server.MapPath(string.Format("{0}/{1}",
                                                                           _XMLRootFolder, GetLocalResourceObject("Boletin.pdf")));
            var sb     = new StringBuilder();
            var sw     = new StringWriter(sb);
            var htmlTw = new HtmlTextWriter(sw);
            //gdvBoletin.RenderControl(htmlTw);
            GridViewMail.Visible = true;
            GridViewMail.RenderControl(htmlTw);
            GridViewMail.Visible = false;
            var html = sb.ToString();
            //var html = "";
            //Create PDF document
            //var ms = new MemoryStream();
            Rectangle rect        = PageSize.A4.Rotate();
            var       pdfDocument = new Document(rect);
            var       writer      = PdfWriter.GetInstance(pdfDocument, new FileStream(path, FileMode.Create));
            pdfDocument.Open();

            pdfDocument.Open();
            XMLWorkerHelper.GetInstance().ParseXHtml(writer, pdfDocument, new StringReader(html));

            pdfDocument.Close();


            #region Correo
            var parameters = new Dictionary <string, object>();
            parameters.Add("@ACTIVO", true);
            parameters.Add("@planta", ddlPlanta.SelectedValue);
            var dt = DataAccess.executeStoreProcedureDataTable("spr_ObtieneCorreos", parameters, this.Session["connection"].ToString());
            if (dt.Rows.Count > 0)
            {
                foreach (DataRow row in dt.Rows)
                {
                    var ms = new FileStream(path, FileMode.Open);

                    try{
                        if (DBNull.Value != row["correo"] && !string.IsNullOrEmpty(row["correo"].ToString()))
                        {
                            //Envío de correo


                            var pv = new Dictionary <string, string>();

                            var files = new Dictionary <string, Stream>
                            {
                                { "Boletin.pdf", ms }
                            };

                            Common.SendMailByDictionary(pv, files, row["correo"].ToString(), "BoletinPublicado");
                            //popUpMessageControl1.setAndShowInfoMessage("Correo enviado exitosamente", Common.MESSAGE_TYPE.Success);
                            popUpMessageControl1.setAndShowInfoMessage(GetLocalResourceObject("CorreoExito").ToString(), Common.MESSAGE_TYPE.Success);
                        }
                        ms.Close();
                    }
                    catch (Exception ex)
                    {
                        Log.Error(ex);
                        //popUpMessageControl1.setAndShowInfoMessage("No fue posible enviar el correo: " + ex.Message, Common.MESSAGE_TYPE.Warning);
                        popUpMessageControl1.setAndShowInfoMessage(GetLocalResourceObject("CorreoError").ToString(), Common.MESSAGE_TYPE.Warning);
                    }
                    finally
                    { ms.Close(); }
                }



                if (File.Exists(path))
                {
                    File.Delete(path);
                }
            }
            #endregion
        }
        catch (Exception ex)
        {
            Log.Error(ex);
            popUpMessageControl1.setAndShowInfoMessage(GetLocalResourceObject("ErrorCorreo").ToString(), Common.MESSAGE_TYPE.Warning);
        }
        //finally {

        //    //ms = null;
        //    //ms.Close();
        //}
    }