コード例 #1
0
        public void SaveEmailLogs(EmailStatusLogMqRequest request)
        {
            EbConnectionFactory connectionFactory = new EbConnectionFactory(request.SolnId, this.Redis);
            string recepients = JsonConvert.SerializeObject(request.SentStatus.Recepients);

            try
            {
                string sql = $@"INSERT INTO eb_email_logs
                                (send_to, send_from, message_body, status, result, refid, metadata, retryof, con_id, attachmentname, subject, recepients, eb_created_by, eb_created_at)
                            VALUES
                                (@to, @from, @message_body, @status, @result, @refid, @metadata, @retryof, @con_id, @attachmentname, @subject, @recepients, @user_id, {connectionFactory.DataDB.EB_CURRENT_TIMESTAMP}) RETURNING id;";

                DbParameter[] parameters =
                {
                    connectionFactory.DataDB.GetNewParameter("to",             EbDbTypes.String, request.SentStatus.To),
                    connectionFactory.DataDB.GetNewParameter("from",           EbDbTypes.String, request.SentStatus.From),
                    connectionFactory.DataDB.GetNewParameter("message_body",   EbDbTypes.String, string.IsNullOrEmpty(request.SentStatus.Body)?string.Empty:request.SentStatus.Body),
                    connectionFactory.DataDB.GetNewParameter("status",         EbDbTypes.String, string.IsNullOrEmpty(request.SentStatus.Status)?string.Empty:request.SentStatus.Status),
                    connectionFactory.DataDB.GetNewParameter("result",         EbDbTypes.String, string.IsNullOrEmpty(request.SentStatus.Result)?string.Empty:request.SentStatus.Result),
                    connectionFactory.DataDB.GetNewParameter("refid",          EbDbTypes.String, string.IsNullOrEmpty(request.RefId)?string.Empty:request.RefId),
                    connectionFactory.DataDB.GetNewParameter("metadata",       EbDbTypes.Json,   request.MetaData),
                    connectionFactory.DataDB.GetNewParameter("retryof",        EbDbTypes.Int32,  request.RetryOf),
                    connectionFactory.DataDB.GetNewParameter("con_id",         EbDbTypes.Int32,  request.SentStatus.ConId),
                    connectionFactory.DataDB.GetNewParameter("user_id",        EbDbTypes.Int32,  request.UserId),
                    connectionFactory.DataDB.GetNewParameter("attachmentname", EbDbTypes.String, string.IsNullOrEmpty(request.SentStatus.AttachmentName)?string.Empty:request.SentStatus.AttachmentName),
                    connectionFactory.DataDB.GetNewParameter("subject",        EbDbTypes.String, string.IsNullOrEmpty(request.SentStatus.Subject)?string.Empty:request.SentStatus.Subject),
                    connectionFactory.DataDB.GetNewParameter("recepients",     EbDbTypes.Json,   recepients)
                };
                var iCount = connectionFactory.DataDB.DoQuery(sql, parameters);
            }
            catch (Exception ex)
            {
                throw new Exception("Exception in Email log  Save : " + ex.Message);
            }
        }
コード例 #2
0
        public void Post(EmailServicesRequest request)
        {
            SentStatus _sentStatus;

            if (request.SolnId == CoreConstants.EXPRESSBASE)
            {
                _sentStatus = this.InfraConnectionFactory.EmailConnection.Send(request.To, request.Subject, request.Message, request.Cc, request.Bcc, request.AttachmentReport, request.AttachmentName, request.ReplyTo);
            }
            else
            {
                base.EbConnectionFactory = new EbConnectionFactory(request.SolnId, this.Redis);
                if (this.EbConnectionFactory.EmailConnection != null)
                {
                    _sentStatus = this.EbConnectionFactory.EmailConnection.Send(request.To, request.Subject, request.Message, request.Cc, request.Bcc, request.AttachmentReport, request.AttachmentName, request.ReplyTo);
                    Console.WriteLine("Inside EmailService/EmailServiceInternal in SS \n After Email \nSend To:" + request.To);
                }
                else
                {
                    throw new Exception("Email Connection not set for " + request.SolnId);
                }
            }
            EmailStatusLogMqRequest logMqRequest = new EmailStatusLogMqRequest
            {
                SentStatus = _sentStatus
            };

            logMqRequest.UserId   = request.UserId;
            logMqRequest.SolnId   = request.SolnId;
            logMqRequest.RefId    = request.RefId;
            logMqRequest.MetaData = JsonConvert.SerializeObject(request.Params);
            logMqRequest.RetryOf  = request.RetryOf;
            SaveEmailLogs(logMqRequest);
        }