public List <MD_GRUPPOModel> CreaNuovoGruppo(string Gruppo) { List <MD_GRUPPOModel> gruppi = new List <MD_GRUPPOModel>(); MailDispatcherDS ds = new MailDispatcherDS(); using (MailDispatcherBusiness bMD = new MailDispatcherBusiness()) { bMD.FillMD_GRUPPI(ds); if (!ds.MD_GRUPPI.Any(x => x.NOME.Trim() == Gruppo.Trim())) { MailDispatcherDS.MD_GRUPPIRow gruppoRow = ds.MD_GRUPPI.NewMD_GRUPPIRow(); gruppoRow.NOME = Gruppo; ds.MD_GRUPPI.AddMD_GRUPPIRow(gruppoRow); bMD.UpdateMailDispatcherDSTable(ds.MD_GRUPPI.TableName, ds); } ds.Clear(); bMD.FillMD_GRUPPI(ds); bMD.FillMD_GRUPPI_DESTINATARI(ds); bMD.FillMD_GRUPPI_RICHIEDENTI(ds); bMD.FillMD_RICHIEDENTI(ds); foreach (MailDispatcherDS.MD_GRUPPIRow gruppo in ds.MD_GRUPPI) { MD_GRUPPOModel gr = CreaGruppoModel(ds, gruppo.IDGRUPPO); gruppi.Add(gr); } } return(gruppi); }
public List <MD_LOGModel> LeggiLog(decimal IDMAIL) { List <MD_LOGModel> model = new List <MD_LOGModel>(); MailDispatcherDS ds = new MailDispatcherDS(); using (MailDispatcherBusiness bMD = new MailDispatcherBusiness()) { if (IDMAIL < 0) { return(new List <MD_LOGModel>()); } bMD.FillMD_LOG(ds, IDMAIL); foreach (MailDispatcherDS.MD_LOGRow log in ds.MD_LOG.OrderBy(x => x.IDMAIL_LOG)) { MD_LOGModel lm = new MD_LOGModel(); lm.DataOperazione = log.DATAOPERAZIONE; lm.IDMAIL = log.IDMAIL; lm.Nota = log.IsNOTANull() ? string.Empty : log.NOTA; lm.TipoOperazione = log.TIPOOPERAZIONE; model.Add(lm); } return(model); } }
public List <MD_GRUPPO_DESTINATARIOModel> AggiungiDestinatario(decimal IDGRUPPO, string Destinatario) { MailDispatcherDS ds = new MailDispatcherDS(); using (MailDispatcherBusiness bMD = new MailDispatcherBusiness()) { bMD.FillMD_GRUPPI_DESTINATARI(ds); if (!ds.MD_GRUPPI_DESTINATARI.Any(x => x.IDGRUPPO == IDGRUPPO && x.DESTINATARIO == Destinatario.Trim())) { MailDispatcherDS.MD_GRUPPI_DESTINATARIRow destinatario = ds.MD_GRUPPI_DESTINATARI.NewMD_GRUPPI_DESTINATARIRow(); destinatario.IDGRUPPO = IDGRUPPO; destinatario.DESTINATARIO = Destinatario; ds.MD_GRUPPI_DESTINATARI.AddMD_GRUPPI_DESTINATARIRow(destinatario); bMD.UpdateMailDispatcherDSTable(ds.MD_GRUPPI_DESTINATARI.TableName, ds); } ds.Clear(); bMD.FillMD_GRUPPI(ds); bMD.FillMD_GRUPPI_DESTINATARI(ds); bMD.FillMD_GRUPPI_RICHIEDENTI(ds); bMD.FillMD_RICHIEDENTI(ds); bMD.UpdateMailDispatcherDSTable(ds.MD_GRUPPI_DESTINATARI.TableName, ds); ds.MD_GRUPPI_DESTINATARI.AcceptChanges(); MailDispatcherDS.MD_GRUPPIRow gruppo = ds.MD_GRUPPI.Where(x => x.IDGRUPPO == IDGRUPPO).FirstOrDefault(); MD_GRUPPOModel gr = CreaGruppoModel(ds, IDGRUPPO); return(gr.Destinatari); } }
public List <MD_RICHIEDENTEModel> AggiungiGruppoRichiedente(decimal IDRICHIEDENTE, decimal IDGRUPPO, bool CC) { List <MD_RICHIEDENTEModel> richiedenti = new List <MD_RICHIEDENTEModel>(); MailDispatcherDS ds = new MailDispatcherDS(); using (MailDispatcherBusiness bMD = new MailDispatcherBusiness()) { bMD.FillMD_GRUPPI_RICHIEDENTI(ds); if (!ds.MD_GRUPPI_RICHIEDENTI.Any(x => x.IDRICHIEDENTE == IDRICHIEDENTE && x.IDGRUPPO == IDGRUPPO)) { MailDispatcherDS.MD_GRUPPI_RICHIEDENTIRow grRow = ds.MD_GRUPPI_RICHIEDENTI.NewMD_GRUPPI_RICHIEDENTIRow(); grRow.IDGRUPPO = IDGRUPPO; grRow.IDRICHIEDENTE = IDRICHIEDENTE; grRow.A_CC = CC ? "1" : "0"; ds.MD_GRUPPI_RICHIEDENTI.AddMD_GRUPPI_RICHIEDENTIRow(grRow); } bMD.UpdateMailDispatcherDSTable(ds.MD_GRUPPI_RICHIEDENTI.TableName, ds); ds.MD_GRUPPI_RICHIEDENTI.Clear(); bMD.FillMD_GRUPPI(ds); bMD.FillMD_GRUPPI_DESTINATARI(ds); bMD.FillMD_GRUPPI_RICHIEDENTI(ds); bMD.FillMD_RICHIEDENTI(ds); foreach (MailDispatcherDS.MD_RICHIEDENTIRow richiedente in ds.MD_RICHIEDENTI) { MD_RICHIEDENTEModel ri = CreaRichiedenteModel(ds, richiedente.IDRICHIEDENTE); richiedenti.Add(ri); } } return(richiedenti); }
public List <MD_EMAILModel> LeggiMailAppese() { List <MD_EMAILModel> model = new List <MD_EMAILModel>(); MailDispatcherDS ds = new MailDispatcherDS(); using (MailDispatcherBusiness bMD = new MailDispatcherBusiness()) { bMD.FillMD_RICHIEDENTI(ds); bMD.FillMD_EMAIL_APPESE(ds); foreach (MailDispatcherDS.MD_EMAILRow email in ds.MD_EMAIL.OrderByDescending(x => x.DATACREAZIONE)) { MD_EMAILModel em = new MD_EMAILModel(); em.IDMAIL = email.IDMAIL; em.Tentativo = email.TENTATIVO; em.IdRichiedente = email.IDRICHIEDENTE; MailDispatcherDS.MD_RICHIEDENTIRow richiedente = ds.MD_RICHIEDENTI.Where(x => x.IDRICHIEDENTE == email.IDRICHIEDENTE).FirstOrDefault(); em.Richiedente = richiedente == null ? string.Empty : richiedente.RICHIEDENTE; em.DataCreazione = email.DATACREAZIONE; em.Stato = email.STATO; em.Oggetto = email.OGGETTO; model.Add(em); } return(model); } }
public List <MD_RICHIEDENTEModel> RimuoviGruppoRichiedente(decimal IDGRRICH) { List <MD_RICHIEDENTEModel> richiedenti = new List <MD_RICHIEDENTEModel>(); MailDispatcherDS ds = new MailDispatcherDS(); using (MailDispatcherBusiness bMD = new MailDispatcherBusiness()) { bMD.FillMD_GRUPPI_RICHIEDENTI(ds); foreach (MailDispatcherDS.MD_GRUPPI_RICHIEDENTIRow row in ds.MD_GRUPPI_RICHIEDENTI.Where(x => x.IDGRRICH == IDGRRICH)) { row.Delete(); } bMD.UpdateMailDispatcherDSTable(ds.MD_GRUPPI_RICHIEDENTI.TableName, ds); ds.MD_GRUPPI_RICHIEDENTI.Clear(); bMD.FillMD_GRUPPI(ds); bMD.FillMD_GRUPPI_DESTINATARI(ds); bMD.FillMD_GRUPPI_RICHIEDENTI(ds); bMD.FillMD_RICHIEDENTI(ds); foreach (MailDispatcherDS.MD_RICHIEDENTIRow richiedente in ds.MD_RICHIEDENTI) { MD_RICHIEDENTEModel ri = CreaRichiedenteModel(ds, richiedente.IDRICHIEDENTE); richiedenti.Add(ri); } } return(richiedenti); }
private MD_RICHIEDENTEModel CreaRichiedenteModel(MailDispatcherDS ds, decimal IDRICHIEDENTE) { MailDispatcherDS.MD_RICHIEDENTIRow richiedente = ds.MD_RICHIEDENTI.Where(x => x.IDRICHIEDENTE == IDRICHIEDENTE).FirstOrDefault(); if (richiedente == null) { return(new MD_RICHIEDENTEModel()); } MD_RICHIEDENTEModel rm = new MD_RICHIEDENTEModel(); rm.IDRICHIEDENTE = richiedente.IDRICHIEDENTE; rm.Richiedente = richiedente.RICHIEDENTE; rm.GRUPPI = new List <MD_GRUPPO_RICHIEDENTEModel>(); foreach (MailDispatcherDS.MD_GRUPPI_RICHIEDENTIRow grRich in ds.MD_GRUPPI_RICHIEDENTI.Where(x => x.IDRICHIEDENTE == richiedente.IDRICHIEDENTE)) { MD_GRUPPO_RICHIEDENTEModel gra = new MD_GRUPPO_RICHIEDENTEModel(); gra.CC = (grRich.A_CC == "1") ? true : false; gra.Gruppo = CreaGruppoModel(ds, grRich.IDGRUPPO); gra.IDRICHIEDENTE = richiedente.IDRICHIEDENTE; gra.IDGRRICH = grRich.IDGRRICH; rm.GRUPPI.Add(gra); } return(rm); }
public List <MD_RICHIEDENTEModel> CreaNuovoRichiedente(string Richiedente) { List <MD_RICHIEDENTEModel> richiedenti = new List <MD_RICHIEDENTEModel>(); MailDispatcherDS ds = new MailDispatcherDS(); using (MailDispatcherBusiness bMD = new MailDispatcherBusiness()) { bMD.FillMD_RICHIEDENTI(ds); if (!ds.MD_RICHIEDENTI.Any(x => x.RICHIEDENTE.Trim() == Richiedente.Trim())) { MailDispatcherDS.MD_RICHIEDENTIRow row = ds.MD_RICHIEDENTI.NewMD_RICHIEDENTIRow(); row.RICHIEDENTE = Richiedente; ds.MD_RICHIEDENTI.AddMD_RICHIEDENTIRow(row); bMD.UpdateMailDispatcherDSTable(ds.MD_RICHIEDENTI.TableName, ds); } ds.Clear(); bMD.FillMD_GRUPPI(ds); bMD.FillMD_GRUPPI_DESTINATARI(ds); bMD.FillMD_GRUPPI_RICHIEDENTI(ds); bMD.FillMD_RICHIEDENTI(ds); foreach (MailDispatcherDS.MD_RICHIEDENTIRow richiedente in ds.MD_RICHIEDENTI) { MD_RICHIEDENTEModel ri = CreaRichiedenteModel(ds, richiedente.IDRICHIEDENTE); richiedenti.Add(ri); } } return(richiedenti); }
public void FillMD_EMAIL_APPESE(MailDispatcherDS ds) { string select = @"SELECT * FROM MD_EMAIL WHERE STATO IN ('ERR','DIN','BLK') "; using (DbDataAdapter da = BuildDataAdapter(select)) { da.Fill(ds.MD_EMAIL); } }
public void FillMD_GRUPPI_RICHIEDENTI(MailDispatcherDS ds) { string select = @"SELECT * FROM MD_GRUPPI_RICHIEDENTI "; using (DbDataAdapter da = BuildDataAdapter(select)) { da.Fill(ds.MD_GRUPPI_RICHIEDENTI); } }
public void FillMD_ALLEGATI(MailDispatcherDS ds, decimal IDMAIL) { string select = @"SELECT * FROM MD_ALLEGATI WHERE IDMAIL = $P{IDMAIL}"; ParamSet ps = new ParamSet(); ps.AddParam("IDMAIL", DbType.Decimal, IDMAIL); using (DbDataAdapter da = BuildDataAdapter(select, ps)) { da.Fill(ds.MD_ALLEGATI); } }
public void FillMD_EMAILByStato(string Stato, MailDispatcherDS ds) { string select = @"select * from MD_EMAIL where STATO=$P{Stato}"; ParamSet ps = new ParamSet(); ps.AddParam("Stato", DbType.String, Stato); using (DbDataAdapter da = BuildDataAdapter(select, ps)) { da.Fill(ds.MD_EMAIL); } }
public void UpdateMailDispatcherDSTable(string tablename, MailDispatcherDS ds) { string query = string.Format(CultureInfo.InvariantCulture, "SELECT * FROM {0}", tablename); using (DbDataAdapter a = BuildDataAdapter(query)) { a.ContinueUpdateOnError = false; DataTable dt = ds.Tables[tablename]; DbCommandBuilder cmd = BuildCommandBuilder(a); a.UpdateCommand = cmd.GetUpdateCommand(); a.DeleteCommand = cmd.GetDeleteCommand(); a.InsertCommand = cmd.GetInsertCommand(); a.Update(dt); } }
public void FillMD_ALLEGATI(MailDispatcherDS ds, List <decimal> IDMAIL) { if (IDMAIL.Count == 0) { return; } string selezione = ConvertToStringForInCondition(IDMAIL); string select = @"SELECT * FROM MD_ALLEGATI WHERE IDMAIL IN ({0})"; select = string.Format(select, selezione); using (DbDataAdapter da = BuildDataAdapter(select)) { da.Fill(ds.MD_ALLEGATI); } }
public List <MD_GRUPPOModel> RimuoviGruppo(decimal IDGRUPPO) { List <MD_GRUPPOModel> gruppi = new List <MD_GRUPPOModel>(); MailDispatcherDS ds = new MailDispatcherDS(); using (MailDispatcherBusiness bMD = new MailDispatcherBusiness()) { bMD.FillMD_GRUPPI(ds); bMD.FillMD_GRUPPI_DESTINATARI(ds); bMD.FillMD_GRUPPI_RICHIEDENTI(ds); bMD.FillMD_RICHIEDENTI(ds); foreach (MailDispatcherDS.MD_GRUPPI_RICHIEDENTIRow gra in ds.MD_GRUPPI_RICHIEDENTI.Where(x => x.IDGRUPPO == IDGRUPPO)) { gra.Delete(); } foreach (MailDispatcherDS.MD_GRUPPI_DESTINATARIRow grd in ds.MD_GRUPPI_DESTINATARI.Where(x => x.IDGRUPPO == IDGRUPPO)) { grd.Delete(); } foreach (MailDispatcherDS.MD_GRUPPIRow gr in ds.MD_GRUPPI.Where(x => x.IDGRUPPO == IDGRUPPO)) { gr.Delete(); } bMD.UpdateMailDispatcherDSTable(ds.MD_GRUPPI_RICHIEDENTI.TableName, ds); bMD.UpdateMailDispatcherDSTable(ds.MD_GRUPPI_DESTINATARI.TableName, ds); bMD.UpdateMailDispatcherDSTable(ds.MD_GRUPPI.TableName, ds); ds.Clear(); bMD.FillMD_GRUPPI(ds); bMD.FillMD_GRUPPI_DESTINATARI(ds); bMD.FillMD_GRUPPI_RICHIEDENTI(ds); bMD.FillMD_RICHIEDENTI(ds); foreach (MailDispatcherDS.MD_GRUPPIRow gruppo in ds.MD_GRUPPI) { MD_GRUPPOModel gr = CreaGruppoModel(ds, gruppo.IDGRUPPO); gruppi.Add(gr); } } return(gruppi); }
public decimal CreaEmail(string Richiedente, string oggetto, string corpo) { MailDispatcherDS ds = new MailDispatcherDS(); using (MailDispatcherBusiness bMD = new MailDispatcherBusiness()) { bMD.FillMD_RICHIEDENTI(ds); MailDispatcherDS.MD_RICHIEDENTIRow richiedente = ds.MD_RICHIEDENTI.Where(x => x.RICHIEDENTE.Trim().ToUpper() == Richiedente.Trim().ToUpper()).FirstOrDefault(); if (richiedente == null) { return(-1); } decimal IDMAIL = bMD.CreaMail(richiedente.IDRICHIEDENTE, oggetto, corpo); return(IDMAIL); } }
public List <MD_RICHIEDENTEModel> LeggiRichiedenti() { List <MD_RICHIEDENTEModel> richiedenti = new List <MD_RICHIEDENTEModel>(); MailDispatcherDS ds = new MailDispatcherDS(); using (MailDispatcherBusiness bMD = new MailDispatcherBusiness()) { bMD.FillMD_GRUPPI(ds); bMD.FillMD_GRUPPI_DESTINATARI(ds); bMD.FillMD_GRUPPI_RICHIEDENTI(ds); bMD.FillMD_RICHIEDENTI(ds); foreach (MailDispatcherDS.MD_RICHIEDENTIRow richiedente in ds.MD_RICHIEDENTI) { MD_RICHIEDENTEModel r = CreaRichiedenteModel(ds, richiedente.IDRICHIEDENTE); richiedenti.Add(r); } } return(richiedenti); }
public List <MD_GRUPPOModel> LeggiGruppi() { List <MD_GRUPPOModel> gruppi = new List <MD_GRUPPOModel>(); MailDispatcherDS ds = new MailDispatcherDS(); using (MailDispatcherBusiness bMD = new MailDispatcherBusiness()) { bMD.FillMD_GRUPPI(ds); bMD.FillMD_GRUPPI_DESTINATARI(ds); bMD.FillMD_GRUPPI_RICHIEDENTI(ds); bMD.FillMD_RICHIEDENTI(ds); foreach (MailDispatcherDS.MD_GRUPPIRow gruppo in ds.MD_GRUPPI) { MD_GRUPPOModel gr = CreaGruppoModel(ds, gruppo.IDGRUPPO); gruppi.Add(gr); } } return(gruppi); }
private MD_GRUPPOModel CreaGruppoModel(MailDispatcherDS ds, decimal IdGruppo) { MD_GRUPPOModel gr = new MD_GRUPPOModel(); MailDispatcherDS.MD_GRUPPIRow gruppo = ds.MD_GRUPPI.Where(x => x.IDGRUPPO == IdGruppo).FirstOrDefault(); if (gruppo == null) { return(gr); } gr.IDGRUPPO = gruppo.IDGRUPPO; gr.Nome = gruppo.NOME.ToUpper(); gr.Destinatari = new List <MD_GRUPPO_DESTINATARIOModel>(); foreach (MailDispatcherDS.MD_GRUPPI_DESTINATARIRow destinatario in ds.MD_GRUPPI_DESTINATARI.Where(x => x.RowState != System.Data.DataRowState.Deleted && x.IDGRUPPO == gruppo.IDGRUPPO)) { MD_GRUPPO_DESTINATARIOModel des = new MD_GRUPPO_DESTINATARIOModel(); des.Destinatario = destinatario.DESTINATARIO; des.IDDESTINATARIO = destinatario.IDDESTINATARIO; des.IDGRUPPO = destinatario.IDGRUPPO; gr.Destinatari.Add(des); } return(gr); }
public List <MD_GRUPPO_DESTINATARIOModel> RimuoviDestinatario(decimal IDDESTINATARIO) { MailDispatcherDS ds = new MailDispatcherDS(); using (MailDispatcherBusiness bMD = new MailDispatcherBusiness()) { bMD.FillMD_GRUPPI(ds); bMD.FillMD_GRUPPI_DESTINATARI(ds); bMD.FillMD_GRUPPI_RICHIEDENTI(ds); bMD.FillMD_RICHIEDENTI(ds); MailDispatcherDS.MD_GRUPPI_DESTINATARIRow grd = ds.MD_GRUPPI_DESTINATARI.Where(x => x.IDDESTINATARIO == IDDESTINATARIO).FirstOrDefault(); decimal IDGRUPPO = grd.IDGRUPPO; grd.Delete(); bMD.UpdateMailDispatcherDSTable(ds.MD_GRUPPI_DESTINATARI.TableName, ds); ds.MD_GRUPPI_DESTINATARI.AcceptChanges(); MailDispatcherDS.MD_GRUPPIRow gruppo = ds.MD_GRUPPI.Where(x => x.IDGRUPPO == IDGRUPPO).FirstOrDefault(); MD_GRUPPOModel gr = CreaGruppoModel(ds, IDGRUPPO); return(gr.Destinatari); } }
public void FillMD_RICHIEDENTI(MailDispatcherDS ds) { MailDispatcherAdapter a = new MailDispatcherAdapter(DbConnection, DbTransaction); a.FillMD_RICHIEDENTI(ds); }
public void FillMD_EMAIL_APPESE(MailDispatcherDS ds) { MailDispatcherAdapter a = new MailDispatcherAdapter(DbConnection, DbTransaction); a.FillMD_EMAIL_APPESE(ds); }
public void UpdateMailDispatcherDSTable(string Tablename, MailDispatcherDS ds) { MailDispatcherAdapter a = new MailDispatcherAdapter(DbConnection, DbTransaction); a.UpdateMailDispatcherDSTable(Tablename, ds); }
public void FillMD_EMAILByStato(string Stato, MailDispatcherDS ds) { MailDispatcherAdapter a = new MailDispatcherAdapter(DbConnection, DbTransaction); a.FillMD_EMAILByStato(Stato, ds); }
public void FillMD_ALLEGATI(MailDispatcherDS ds, decimal IDMAIL) { MailDispatcherAdapter a = new MailDispatcherAdapter(DbConnection, DbTransaction); a.FillMD_ALLEGATI(ds, IDMAIL); }
public void FillMD_GRUPPI_DESTINATARI(MailDispatcherDS ds) { MailDispatcherAdapter a = new MailDispatcherAdapter(DbConnection, DbTransaction); a.FillMD_GRUPPI_DESTINATARI(ds); }
public void SendMail() { MailDispatcherDS ds = new MailDispatcherDS(); using (MailDispatcherBusiness bMD = new MailDispatcherBusiness()) { bMD.FillMD_EMAILByStato(MD_EMAIL_STATO.DA_INVIARE, ds); bMD.InsertMD_LOG(string.Format("Ci sono {0} mail da inviare", ds.MD_EMAIL.Rows.Count)); if (ds.MD_EMAIL.Rows.Count == 0) { return; } bMD.FillMD_GRUPPI(ds); bMD.FillMD_RICHIEDENTI(ds); bMD.FillMD_GRUPPI_RICHIEDENTI(ds); bMD.FillMD_GRUPPI_DESTINATARI(ds); List <decimal> idmail = ds.MD_EMAIL.Select(x => x.IDMAIL).Distinct().ToList(); foreach (MailDispatcherDS.MD_EMAILRow mail in ds.MD_EMAIL) { try { ds.MD_ALLEGATI.Clear(); bMD.FillMD_ALLEGATI(ds, mail.IDMAIL); decimal idRichiedente = mail.IDRICHIEDENTE; if (mail.TENTATIVO == 3) { bMD.InsertMD_LOG(mail.IDMAIL, "MAIL BLOCCATA", "SUPERATO IL NUMERO DI TENTATIVI AMMESSI"); mail.STATO = MD_EMAIL_STATO.BLOCCATA; bMD.UpdateMailDispatcherDSTable(ds.MD_EMAIL.TableName, ds); continue; } MailDispatcherDS.MD_RICHIEDENTIRow richiedente = ds.MD_RICHIEDENTI.Where(x => x.IDRICHIEDENTE == idRichiedente).FirstOrDefault(); if (richiedente == null) { bMD.InsertMD_LOG(mail.IDMAIL, "RICERCA RICHIEDENTE", string.Format("RICHIEDENTE {0} INESISTENTE", idRichiedente)); mail.STATO = MD_EMAIL_STATO.DA_INVIARE; mail.TENTATIVO = mail.TENTATIVO + 1; bMD.UpdateMailDispatcherDSTable(ds.MD_EMAIL.TableName, ds); continue; } List <string> destintinatariMail = (from destinatari in ds.MD_GRUPPI_DESTINATARI join richiedenti in ds.MD_GRUPPI_RICHIEDENTI on destinatari.IDGRUPPO equals richiedenti.IDGRUPPO where richiedenti.IDRICHIEDENTE == idRichiedente select destinatari.DESTINATARIO).ToList(); if (destintinatariMail.Count == 0) { bMD.InsertMD_LOG(mail.IDMAIL, "RICERCA DESTINATARI", string.Format("NESSUN DESTINATARIO PER RICHIEDENTE {0}", idRichiedente)); mail.STATO = MD_EMAIL_STATO.DA_INVIARE; mail.TENTATIVO = mail.TENTATIVO + 1; bMD.UpdateMailDispatcherDSTable(ds.MD_EMAIL.TableName, ds); continue; } MailSender sender = new MailSender(); string oggetto = string.Format("MAIL:{0} - {1}", mail.IDMAIL, mail.OGGETTO); sender.CreaEmail(destintinatariMail, oggetto); StringBuilder sb = new StringBuilder(); sb.AppendLine("MAIL AUTOMATICA DA MAIL DISPATCHER - NON RISPONDERE"); sb.AppendLine(string.Format("MAIL: {0}", mail.IDMAIL)); sb.AppendLine(); sb.AppendLine(mail.CORPO); sender.AggiungiCorpoAllaMail(sb.ToString()); foreach (MailDispatcherDS.MD_ALLEGATIRow allegato in ds.MD_ALLEGATI) { MemoryStream ms = new MemoryStream(allegato.FILECONTENT); sender.AggiungiAllegato(ms, allegato.FILENAME); } sender.InviaMail(); mail.STATO = MD_EMAIL_STATO.INVIATA; mail.DATAINVIO = DateTime.Now; bMD.UpdateMailDispatcherDSTable(ds.MD_EMAIL.TableName, ds); bMD.InsertMD_LOG(mail.IDMAIL, "INVIATA", string.Empty); } catch (Exception ex) { decimal tentativo = mail.IsTENTATIVONull() ? 0 : mail.TENTATIVO; if (tentativo < 3) { mail.STATO = MD_EMAIL_STATO.DA_INVIARE; mail.TENTATIVO = tentativo + 1; bMD.UpdateMailDispatcherDSTable(ds.MD_EMAIL.TableName, ds); } else { mail.STATO = MD_EMAIL_STATO.DA_INVIARE; mail.TENTATIVO = tentativo + 1; bMD.UpdateMailDispatcherDSTable(ds.MD_EMAIL.TableName, ds); } StringBuilder exstr = new StringBuilder(); exstr.AppendLine(string.Format("Eccezione {0}", ex.Message)); exstr.AppendLine(string.Format("Stack {0}", ex.StackTrace)); while (ex.InnerException != null) { exstr.AppendLine(string.Format("Eccezione {0}", ex.InnerException.Message)); exstr.AppendLine(string.Format("Stack {0}", ex.InnerException.StackTrace)); ex = ex.InnerException; } if (exstr.Length > 200) { exstr.Remove(199, (exstr.Length - 200)); } bMD.InsertMD_LOG(mail.IDMAIL, "ERRORE", exstr.ToString()); } } } }