Example #1
0
 public void RemoveScheduledReminder(Guid requestGuid)
 {
     Logger.Current.Verbose("Request received for removing scheduled reminder from SentMailQueue");
     if (requestGuid != null)
     {
         SentMailQueueDb sentMailQueue = this.unitOfWork.SentMailQueuesRepository.FirstOrDefault(sm => sm.RequestGuid == requestGuid);
         if (sentMailQueue != null)
         {
             this.unitOfWork.SentMailQueuesRepository.Delete(sentMailQueue);
             unitOfWork.Commit();
         }
     }
 }
Example #2
0
 public void UpdateScheduledReminder(Guid requestGuid, SendMailRequest updateRequest)
 {
     Logger.Current.Verbose("Request recieved for updating scheduled reminder in SentMailQueue and SentMailDetail");
     if (requestGuid != null && updateRequest != null)
     {
         SentMailDetailDb sentMailDetail = this.unitOfWork.SentMailDetailsRepository.FirstOrDefault(smd => smd.RequestGuid == requestGuid);
         if (sentMailDetail != null)
         {
             sentMailDetail.To   = updateRequest.To.FirstOrDefault();
             sentMailDetail.Body = updateRequest.Body;
         }
         SentMailQueueDb sentMailQueue = this.unitOfWork.SentMailQueuesRepository.FirstOrDefault(sm => sm.RequestGuid == requestGuid);
         if (sentMailQueue != null)
         {
             sentMailQueue.From          = updateRequest.From;
             sentMailQueue.ScheduledTime = updateRequest.ScheduledTime;
         }
         else if (sentMailQueue == null && sentMailDetail != null)
         {
             Logger.Current.Informational("Data not found in Queue but found in mail-details.So inserting new reminder in to queue");
             var queueTime = DateTime.UtcNow;
             this.unitOfWork.SentMailQueuesRepository.Add(new SentMailQueueDb
             {
                 TokenGuid       = updateRequest.TokenGuid,
                 RequestGuid     = sentMailDetail.RequestGuid,
                 From            = updateRequest.From,
                 PriorityID      = updateRequest.PriorityID,
                 ScheduledTime   = updateRequest.ScheduledTime,
                 QueueTime       = queueTime,
                 StatusID        = LandmarkIT.Enterprise.CommunicationManager.Responses.CommunicationStatus.Queued,
                 ServiceResponse = string.Empty
             });
         }
         unitOfWork.Commit();
     }
 }