Ejemplo n.º 1
0
        void btn_Click(object sender, EventArgs e)
        {
            Button tbtn = (Button)sender;
            string name = tbtn.Name.ToString();

            if (name == "send")
            {
                if (Feature.Available("Send Mail") == "Yes")
                {
                    string smtpAddress = "";
                    string emailFrom   = "";
                    string password    = "";
                    int    port        = 0;
                    bool   Credentials = false;
                    bool   EnableSsl   = true;

                    DataTable dtFirmMailInfo = new DataTable();
                    Database.GetSqlData("select * from mailer", dtFirmMailInfo);
                    if (dtFirmMailInfo.Rows.Count > 0)
                    {
                        smtpAddress = dtFirmMailInfo.Rows[0]["smtp"].ToString();
                        emailFrom   = dtFirmMailInfo.Rows[0]["emailid"].ToString();
                        password    = dtFirmMailInfo.Rows[0]["password"].ToString();
                        port        = int.Parse(dtFirmMailInfo.Rows[0]["port"].ToString());
                        Credentials = bool.Parse(dtFirmMailInfo.Rows[0]["Credentials"].ToString());
                        EnableSsl   = bool.Parse(dtFirmMailInfo.Rows[0]["EnableSsl"].ToString());
                    }



                    for (int i = 0; i < dataGridView1.Rows.Count; i++)
                    {
                        if (bool.Parse(dataGridView1.Rows[i].Cells["check"].Value.ToString()) == true && (dataGridView1.Rows[i].Cells["Emailid"].Value.ToString() != "None" && dataGridView1.Rows[i].Cells["Emailid"].Value.ToString() != ""))
                        {
                            SmtpClient client = new SmtpClient(smtpAddress, port);
                            client.UseDefaultCredentials = Credentials;
                            client.EnableSsl             = EnableSsl;
                            client.Credentials           = new NetworkCredential(emailFrom, password);

                            string accnam  = dataGridView1.Rows[i].Cells["cname"].Value.ToString();
                            string emailTo = dataGridView1.Rows[i].Cells["Emailid"].Value.ToString();
                            string subject = "Customer Report";
                            string body    = "Dear <b>" + accnam + "</b>,<br/>";
                            body += "Please find enclosed Bills Details.<br/>";

                            body += "Your Balance is: <b>" + funs.accbal(funs.Select_ac_id(accnam)) + "</b>";
                            body += "</b><br/><br/>Regards";
                            body += "<br/><b>" + Database.fname;

                            MailMessage mail = new MailMessage();
                            mail.From = new MailAddress(emailFrom);
                            mail.To.Add(emailTo);
                            mail.Subject    = subject;
                            mail.Body       = body;
                            mail.IsBodyHtml = true;


                            try
                            {
                                Report gg = new Report();
                                gg.CustomerDetailBillWise(dateTimePicker1.Value, dateTimePicker2.Value, accnam);
                                gg.ExportToPdf("System\\Bill-" + accnam + ".pdf");
                                gg.Close();
                                gg.Dispose();


                                System.Net.Mime.ContentType contype = new System.Net.Mime.ContentType();
                                mail.Attachments.Add(new Attachment("System\\Bill-" + accnam + ".pdf", contype));
                                object userState = mail;

                                status = "Mail Sent Successfully";
                                client.SendCompleted += new SendCompletedEventHandler(SmtpClient_OnCompleted);
                                client.SendAsync(mail, userState);
                            }
                            catch (Exception ex)
                            {
                                status = "Mail Not Sent";
                            }


                            DataTable dtemail = new DataTable("EmailLOG");
                            Database.GetSqlData("select * from EmailLOG where id=0", dtemail);
                            dtemail.Rows.Add();
                            dtemail.Rows[0]["AccName"] = accnam;
                            dtemail.Rows[0]["Email"]   = emailTo;
                            dtemail.Rows[0]["Status"]  = status;
                            dtemail.Rows[0]["SDate"]   = DateTime.Now.ToString("dd-MMM-yyyy");
                            dtemail.Rows[0]["STime"]   = DateTime.Now.ToString("HH:mm");
                            Database.SaveData(dtemail);
                        }
                    }

                    this.Close();
                    this.Dispose();
                }
            }


            else if (name == "quit")
            {
                this.Close();
                this.Dispose();
            }
        }