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(); } } }
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(); } }