Esempio n. 1
0
        public override bool Send(EmailMessage message)
		{
            if (message != null)
            {
                SmartMassEmail.Data.Bases.NetTiersProvider p = DataRepository.Provider;
                DataRepository rep = new DataRepository();
                
                TransactionManager transaction = rep.CreateTransaction();
                try
                {
                    transaction.BeginTransaction();
                    DataRepository.EmailMessageProvider.Insert(transaction, message);
                    if (message.EmailMessageDetailCollection != null)
                    {
                        if (message.EmailMessageDetailCollection.Count > 0)
                            DataRepository.EmailMessageDetailProvider.Insert(transaction, message.EmailMessageDetailCollection);
                    }
                    transaction.Commit();
                    return true;
                }
                catch (Exception ex)
                {
                    if (transaction != null)
                        if (transaction.IsOpen)
                        {
                            transaction.Rollback();
                            transaction = null;
                        }
                }
            }
			return false;
		}
Esempio n. 2
0
		public static bool Send (EmailMessage message)
		{			
			if ( message != null)
			{
                return EmailQueueProvider.Instance().Send(message);
			}
			return false;
		}
 public override bool Delete(EmailMessage message )
 {
     //
     return false;
 }
 private EmailMessage ProcessMessage(SqlDataReader reader)
 {
     string xml = reader["mgb"].ToString();
     if (xml != null)
     {
         byte[] bytes = Encoding.Unicode.GetBytes(xml);
         EmailMessage message = new EmailMessage();
         message   = (EmailMessage)LoadFromXml(message, bytes);
         return message;
     }
     return null;
     
 }
Esempio n. 5
0
 public abstract bool Delete(EmailMessage message);
Esempio n. 6
0
 public static bool Delete(EmailMessage message)
 {
     return EmailDeQueueProvider.Instance().Delete(message);
 }
Esempio n. 7
0
		public abstract bool Send(EmailMessage message);		
 public override bool Delete(EmailMessage message )
 {
     //
     return DataRepository.EmailMessageProvider.Delete(message);
 }
Esempio n. 9
0
        public override bool Send(EmailMessage message)
		{
            if (message != null)
            {
                string xml = "";
                using (MemoryStream stream = new MemoryStream())
                {
                    System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(message.GetType());
                    x.Serialize(stream, message);
                    xml = ConvertByteArrayToString(stream.ToArray());
                    
                }
                
                string sql = 
                    string.Format (@"DECLARE @dialog_handle UNIQUEIDENTIFIER;    
                    BEGIN DIALOG CONVERSATION @dialog_handle
                        FROM SERVICE [SMEPostingService]
                        TO SERVICE 'SMEService'
                            ON CONTRACT [SMEContract] ;

                        -- Send message on dialog conversation
                        SEND ON CONVERSATION @dialog_handle
                            MESSAGE TYPE [SMEMessageType]
                            ('{0}') ;

                    End Conversation @dialog_handle
                    With cleanup", xml);

                string connectionString = ConfigurationManager.ConnectionStrings["SmartMassEmailConnectionString2005"].ConnectionString;
                
                SqlConnection conn = new SqlConnection(connectionString);
                SqlCommand cmd = null;
                try
                {
                    conn.Open();
                    cmd = conn.CreateCommand();
                    cmd.CommandText = sql;
                    cmd.Transaction = conn.BeginTransaction();
                    cmd.ExecuteNonQuery();
                    cmd.Transaction.Commit();
                    conn.Close();
                    return true;
                }
                catch (Exception x)
                {
                    if (conn != null)
                    {
                        if (cmd != null)
                        {
                            if (cmd.Transaction != null)
                                cmd.Transaction.Rollback();
                        }
                        if (conn.State == System.Data.ConnectionState.Open)
                            conn.Close();
                    }
                    EntLibHelper.ErrorLog(x.ToString(), null);
                }
                                
            }
			return false;
		}