public int UpdateServerStatus(string account, string mailUid, ActiveUp.Net.Common.DeltaExt.MailStatusServer status) { int rows = 0; using (var dbcontext = new FAXPECContext()) { using (var dbTransaction = dbcontext.Database.BeginTransaction()) { try { MAIL_INBOX inbox = dbcontext.MAIL_INBOX.Where(x => x.MAIL_SERVER_ID == mailUid && x.MAIL_ACCOUNT.ToUpper() == account.ToUpper()).First(); inbox.STATUS_SERVER = ((int)status).ToString(); rows = dbcontext.SaveChanges(); } catch (Exception e) { if (dbTransaction.UnderlyingTransaction.Connection != null) { dbTransaction.Rollback(); } if (!e.GetType().Equals(typeof(ManagedException))) { ManagedException mEx = new ManagedException("Errore nel metodo UpdateServerStatus(string account, string mailUid, ActiveUp.Net.Common.DeltaExt.MailStatusServer status) Dettaglio: " + e.Message, "E018", string.Empty, string.Empty, e.InnerException); ErrorLogInfo err = new ErrorLogInfo(mEx); _log.Error(err); } } } } return(rows); }
public System.Tuples.Tuple <ActiveUp.Net.Mail.Message, string, int, string> GetMessageById(string id) { System.Tuples.Tuple <Message, string, int, string> tuple = null; try { using (var dbcontext = new FAXPECContext()) { MAIL_INBOX inbox = dbcontext.MAIL_INBOX.Where(x => x.ID_MAIL == int.Parse(id)).FirstOrDefault(); tuple = AutoMapperConfiguration.MapToMailTuple(inbox); } if (tuple == null) { Message msg = GetById(id, null, "2"); if (msg != null) { tuple = new System.Tuples.Tuple <Message, string, int, string>(); tuple.Element1 = msg; tuple.Element2 = msg.FolderId.ToString() + msg.FolderTipo; tuple.Element3 = -1; tuple.Element4 = "2"; } } } catch (Exception e) { if (!e.GetType().Equals(typeof(ManagedException))) { ManagedException mEx = new ManagedException("Errore nel metodo GetMessageById(string id). Dettaglio: " + e.Message, "E005", string.Empty, string.Empty, e.InnerException); ErrorLogInfo err = new ErrorLogInfo(mEx); _log.Error(err); } } return(tuple); }
public int UpdateRating(string idMail, string account, int rating) { int result = 0; if (String.IsNullOrEmpty(idMail) && String.IsNullOrEmpty(account) && (rating < 0 || rating > 4)) { throw new ArgumentException("Errore nei parametri"); } using (var dbcontext = new FAXPECContext()) { using (var dbTransaction = dbcontext.Database.BeginTransaction()) { try { MAIL_INBOX inbox = dbcontext.MAIL_INBOX.Where(x => x.MAIL_SERVER_ID == idMail && x.MAIL_ACCOUNT.ToUpper() == account.ToUpper()).First(); inbox.FLG_RATING = rating; result = dbcontext.SaveChanges(); if (result != 1) { if (dbTransaction.UnderlyingTransaction.Connection != null) { dbTransaction.Rollback(); } } else { if (dbTransaction.UnderlyingTransaction.Connection != null) { dbTransaction.Commit(); } } } catch (Exception e) { if (!e.GetType().Equals(typeof(ManagedException))) { ManagedException mEx = new ManagedException("Errore nel metodo UpdateRating(string idMail, string account, int rating) Dettaglio: " + e.Message, "E017", string.Empty, string.Empty, e.InnerException); ErrorLogInfo err = new ErrorLogInfo(mEx); _log.Error(err); } } } } return(result); }
public void Update(ActiveUp.Net.Mail.DeltaExt.MailUser u, ActiveUp.Net.Mail.Message m) { using (var dbcontext = new FAXPECContext()) { try { MAIL_INBOX inbox = dbcontext.MAIL_INBOX.Where(x => x.ID_MAIL == int.Parse(m.Uid) && x.MAIL_ACCOUNT.ToUpper() == u.EmailAddress.ToUpper()).First(); inbox = DaoSQLServerDBHelper.MapToMailInBox(u, m); dbcontext.SaveChanges(); } catch (Exception e) { if (!e.GetType().Equals(typeof(ManagedException))) { ManagedException mEx = new ManagedException("Errore nel metodo Update(ActiveUp.Net.Mail.DeltaExt.MailUser u, ActiveUp.Net.Mail.Message m) Dettaglio: " + e.Message, "E015", string.Empty, string.Empty, e.InnerException); ErrorLogInfo err = new ErrorLogInfo(mEx); _log.Error(err); } } } }
internal static MAIL_INBOX MapToMailInBox(MailUser u, ActiveUp.Net.Mail.Message m) { MAIL_INBOX inbox = new MAIL_INBOX(); inbox.MAIL_FROM = m.From.ToString(); inbox.MAIL_TO = String.Join(";", m.To.Select(to => to.Email).ToArray()); inbox.MAIL_CC = (!string.IsNullOrEmpty(m.Cc.ToString())) ? String.Join(";", m.Cc.Select(cc => cc.Email).ToArray()) : string.Empty; inbox.MAIL_CCN = (!string.IsNullOrEmpty(m.Bcc.ToString())) ? String.Join(";", m.Bcc.Select(Bcc => Bcc.Email).ToArray()) : string.Empty; inbox.MAIL_SUBJECT = m.Subject; inbox.MAIL_TEXT = LinqExtensions.TryParseBody(m.BodyText); inbox.DATA_INVIO = m.ReceivedDate.ToLocalTime(); inbox.DATA_RICEZIONE = m.Date.ToLocalTime(); inbox.STATUS_SERVER = (String.IsNullOrEmpty(m.MessageId)) ? ((int)MailStatusServer.DA_NON_CANCELLARE).ToString() : ((int)MailStatusServer.PRESENTE).ToString(); inbox.STATUS_MAIL = (String.IsNullOrEmpty(m.MessageId)) ? ((int)MailStatus.SCARICATA_INCOMPLETA).ToString() : ((int)MailStatus.SCARICATA).ToString(); inbox.MAIL_FILE = System.Text.Encoding.GetEncoding("iso-8859-1").GetString(m.OriginalData); inbox.FLG_ATTACHMENTS = Convert.ToInt16(m.Attachments.Count > 0).ToString(); inbox.FOLDERID = String.IsNullOrEmpty(m.HeaderFields["X-Ricevuta"]) ? 1 : 3; inbox.FOLLOWS = LinqExtensions.TryParseFollows(m.HeaderFields); inbox.MSG_LENGTH = m.OriginalData.Length; inbox.FOLDERTIPO = "I"; inbox.FOLLOWS = LinqExtensions.TryParseFollows(m.HeaderFields); return(inbox); }
public ActiveUp.Net.Mail.Message GetById(string id) { Message msg = null; try { using (var dbcontext = new FAXPECContext()) { MAIL_INBOX inbox = dbcontext.MAIL_INBOX.Where(x => x.ID_MAIL == int.Parse(id)).First(); msg = AutoMapperConfiguration.MapToMessageModel(inbox); } } catch (Exception e) { if (!e.GetType().Equals(typeof(ManagedException))) { ManagedException mEx = new ManagedException("Errore nel metodo GetById(string id). Dettaglio: " + e.Message, "E004", string.Empty, string.Empty, e.InnerException); ErrorLogInfo err = new ErrorLogInfo(mEx); _log.Error(err); } } return(msg); }
public void Insert(ActiveUp.Net.Mail.DeltaExt.MailUser user, ActiveUp.Net.Mail.Message m) { using (var dbcontext = new FAXPECContext()) { using (var dbTransaction = dbcontext.Database.BeginTransaction()) { MAIL_INBOX c = AutoMapperConfiguration.MapToMailInBoxDto(user, m); int rows = 0; try { dbcontext.MAIL_INBOX.Add(c); dbcontext.SaveChanges(); var mailinboxnew = dbcontext.MAIL_INBOX.Where(z => z.MAIL_SERVER_ID == c.MAIL_SERVER_ID).First(); int newid = (int)mailinboxnew.ID_MAIL; MailStatus newStatus = MailStatus.SCARICATA; MailStatus oldStatus = MailStatus.UNKNOWN; if (String.IsNullOrEmpty(m.MessageId)) { newStatus = MailStatus.SCARICATA_INCOMPLETA; } string os = ((int)oldStatus).ToString(); string ns = ((int)newStatus).ToString(); MAIL_INBOX_FLUSSO f = AutoMapperConfiguration.MapToMailInboxFlussoDto(newid, os, ns, m.ReceivedDate, "SYSTEM"); dbcontext.MAIL_INBOX_FLUSSO.Add(f); rows = dbcontext.SaveChanges(); dbTransaction.Commit(); } catch (SqlException oEx) { if (dbTransaction.UnderlyingTransaction.Connection != null) { dbTransaction.Rollback(); } ManagedException mEx = mEx = new ManagedException("Errore nell'inserimento su DB della mail con uid: " + m.Uid + " della casella " + user.EmailAddress, "ERR_INS_ML_001", string.Empty, string.Empty, oEx.InnerException); mEx.addEnanchedInfosTag("DETTAGLIO", "Classe: MailMessageDaoOracleDb " + "Metodo: Insert(MailUser user, Message m) " + "Dettaglio: Salvataggio della mail su Oracle DB " + "User Login: "******" Mail UID: " + m.Uid); ErrorLogInfo err; if (oEx.Message.StartsWith("ORA-00001", StringComparison.InvariantCultureIgnoreCase)) { mEx.CodiceEccezione = "WRN_INS_ML_001"; err = new ErrorLogInfo(mEx); _log.Warn(err); } else { err = new ErrorLogInfo(mEx); _log.Error(err); } if (dbTransaction.UnderlyingTransaction.Connection != null) { dbTransaction.Rollback(); } throw mEx; } catch (Exception ex) { if (!ex.GetType().Equals(typeof(ManagedException))) { ManagedException mEx = new ManagedException(ex.Message, "ERR_COM_006", string.Empty, string.Empty, ex.InnerException); ErrorLogInfo err = new ErrorLogInfo(mEx); _log.Error(err); } if (dbTransaction.UnderlyingTransaction.Connection != null) { dbTransaction.Rollback(); } throw; } } } }
public ActiveUp.Net.Mail.Message GetById(string mailID, string mailAccount, string mailFolder) { Message msg = null; decimal mailid = default(decimal); using (var dbcontext = new FAXPECContext()) { try { switch (mailFolder.Substring(0, 1)) { case "1": case "3": MAIL_INBOX inbox = dbcontext.MAIL_INBOX.Where(x => x.MAIL_SERVER_ID == mailID && x.MAIL_ACCOUNT.ToString() == mailAccount.ToString()).FirstOrDefault(); msg = AutoMapperConfiguration.MapToMessageModel(inbox); // GetInboxMessage(mailID, mailAccount); break; case "2": //msg = GetOutBoxMessage(mailID, mailAccount); mailid = decimal.Parse(mailID); MAIL_CONTENT content = dbcontext.MAIL_CONTENT.Where(x => x.ID_MAIL == mailid).FirstOrDefault(); List <COMUNICAZIONI_ALLEGATI> allegati = dbcontext.COMUNICAZIONI_ALLEGATI.Where(x => x.REF_ID_COM == content.REF_ID_COM).ToList(); msg = AutoMapperConfiguration.MapToMessageModelOut(content, allegati); break; default: switch (mailFolder.Substring(1, 1)) { case "I": MAIL_INBOX inbox1 = dbcontext.MAIL_INBOX.Where(x => x.MAIL_SERVER_ID == mailID && x.MAIL_ACCOUNT.ToString() == mailAccount.ToString()).FirstOrDefault(); msg = AutoMapperConfiguration.MapToMessageModel(inbox1); // msg = GetInboxMessage(mailID, mailAccount); break; case "O": // msg = GetOutBoxMessage(mailID, mailAccount); MAIL_CONTENT content1 = dbcontext.MAIL_CONTENT.Where(x => x.ID_MAIL == mailid).FirstOrDefault(); List <COMUNICAZIONI_ALLEGATI> allegati1 = dbcontext.COMUNICAZIONI_ALLEGATI.Where(x => x.REF_ID_COM == content1.REF_ID_COM).ToList(); msg = AutoMapperConfiguration.MapToMessageModelOut(content1, allegati1); break; default: // msg = GetInboxMessage(mailID, mailAccount); MAIL_INBOX inbox2 = dbcontext.MAIL_INBOX.Where(x => x.MAIL_SERVER_ID == mailID && x.MAIL_ACCOUNT.ToString() == mailAccount.ToString()).FirstOrDefault(); if (inbox2.ID_MAIL != 0) { msg = AutoMapperConfiguration.MapToMessageModel(inbox2); } else { MAIL_CONTENT content2 = dbcontext.MAIL_CONTENT.Where(x => x.ID_MAIL == int.Parse(mailID)).FirstOrDefault(); if (content2.REF_ID_COM != 0) { List <COMUNICAZIONI_ALLEGATI> allegati2 = dbcontext.COMUNICAZIONI_ALLEGATI.Where(x => x.REF_ID_COM == content2.REF_ID_COM).ToList(); msg = AutoMapperConfiguration.MapToMessageModelOut(content2, allegati2); } } break; } break; } } catch (Exception e) { if (!e.GetType().Equals(typeof(ManagedException))) { ManagedException mEx = new ManagedException("Errore nel metodo GetById(string mailID, string mailAccount, string mailFolder). Dettaglio: " + e.Message, "E006", string.Empty, string.Empty, e.InnerException); ErrorLogInfo err = new ErrorLogInfo(mEx); _log.Error(err); } } } return(msg); }