Esempio n. 1
0
        public Guid InsertImplicitSyncEmailUpload(EmailInfo emailinfo)
        {
            Guid requestguid = Guid.NewGuid();

            Logger.Current.Verbose("Request received for logging the mail response");
            var sentMail = new SentMailDb
            {
                TokenGuid       = Guid.NewGuid(),
                RequestGuid     = requestguid,
                From            = emailinfo.FromEmail,
                PriorityID      = 0,
                ScheduledTime   = emailinfo.SentDate,
                QueueTime       = DateTime.Now.ToUniversalTime(),
                StatusID        = Responses.CommunicationStatus.Success,
                ServiceResponse = ""
            };
            var sentMailDetail = new SentMailDetailDb
            {
                RequestGuid                                        = requestguid,
                To                                                 = emailinfo.To != null?string.Join(",", emailinfo.To) : "",
                                            CC                     = emailinfo.CC != null?string.Join(",", emailinfo.CC) : "",
                                                               BCC = emailinfo.BCC != null?string.Join(",", emailinfo.BCC) : "",
                                                                         Subject    = emailinfo.Subject,
                                                                         Body       = emailinfo.Body,
                                                                         IsBodyHtml = true
            };

            unitOfWork.SentMailsRepository.Add(sentMail);
            unitOfWork.SentMailDetailsRepository.Add(sentMailDetail);
            unitOfWork.Commit();
            Logger.Current.Verbose("Logging mail response was successful");
            return(requestguid);
        }
Esempio n. 2
0
        public void LogScheduledMessageResponse(SendMailRequest request, SendMailResponse response)
        {
            var queueTime = DateTime.UtcNow;

            Logger.Current.Verbose("Request received for logging scheduled mails response");
            var sentMail = new SentMailDb
            {
                TokenGuid       = request.TokenGuid,
                RequestGuid     = request.RequestGuid,
                From            = request.From,
                PriorityID      = request.PriorityID,
                ScheduledTime   = request.ScheduledTime,
                QueueTime       = queueTime,
                StatusID        = response.StatusID,
                ServiceResponse = response.ServiceResponse
            };

            unitOfWork.SentMailsRepository.Add(sentMail);
            unitOfWork.Commit();
            Logger.Current.Verbose("Logging mail response was successful");
        }
Esempio n. 3
0
        public void LogResponse(SendMailRequest request, SendMailResponse response)
        {
            var queueTime = DateTime.UtcNow;

            //SentMail & SentMailDetail Table
            Logger.Current.Verbose("Request received for logging the mail response");
            var sentMail = new SentMailDb
            {
                TokenGuid       = response.Token,
                RequestGuid     = request.RequestGuid,
                From            = request.From,
                PriorityID      = request.PriorityID,
                ScheduledTime   = request.ScheduledTime,
                QueueTime       = queueTime,
                StatusID        = response.StatusID,
                ServiceResponse = response.ServiceResponse
            };
            var sentMailDetail = new SentMailDetailDb
            {
                RequestGuid = request.RequestGuid,
                DisplayName = request.DisplayName,
                ReplyTo     = request.ReplyTo,
                To          = request.To.ToPlainString(),
                //To = request.To,
                CC             = request.CC.ToPlainString(),
                BCC            = request.BCC.ToPlainString(),
                Subject        = request.Subject,
                Body           = request.Body,
                IsBodyHtml     = request.IsBodyHtml,
                AttachmentGUID = !string.IsNullOrEmpty(request.NotificationAttachementGuid) ? new Guid(request.NotificationAttachementGuid) : request.AttachmentGUID,
                CategoryID     = request.CategoryID,
                AccountID      = request.AccountID
            };

            unitOfWork.SentMailsRepository.Add(sentMail);
            unitOfWork.SentMailDetailsRepository.Add(sentMailDetail);
            unitOfWork.Commit();
            Logger.Current.Verbose("Logging mail response was successful");
        }