private void LogResponse(SendTextRequest request, SendTextResponse response) { Logger.Current.Verbose("Request received for logging text response"); //SentText & SentTextDetails Table var sentText = new SentTextDb { Token = request.TokenGuid, RequestGuid = request.RequestGuid, CreatedDate = DateTime.Now, }; unitOfWork.SentTextRepository.Add(sentText); unitOfWork.Commit(); SentTextDb sentTextdb = unitOfWork.SentTextRepository.FirstOrDefault(mr => mr.RequestGuid == request.RequestGuid); var sentTextDetail = new SentTextDetailsDb { TextResponseID = sentTextdb.TextResponseID, From = request.From, To = request.To.ToPlainString(), SenderID = request.SenderId, Message = request.Message, Status = (byte)response.StatusID, ServiceResponse = response.ServiceResponse }; unitOfWork.SentTextDetailsRepository.Add(sentTextDetail); unitOfWork.Commit(); Logger.Current.Verbose("Logging text response was successful"); }
public void UpdateScheduledReminder(Guid requestGuid, SendTextRequest request) { Logger.Current.Verbose("Request received for updating scheduled reminder from SendTextQueue"); if (requestGuid != null && request != null) { SendTextQueueDb sendTextQueue = this.unitOfWork.SendTextQueueRepository.FirstOrDefault(f => f.RequestGuid == requestGuid); if (sendTextQueue != null) { sendTextQueue.QueueTime = DateTime.UtcNow; sendTextQueue.ScheduledTime = request.ScheduledTime; } SentTextDetailsDb sendTextDetail = new SentTextDetailsDb(); SentTextDb textResponse = this.unitOfWork.SentTextRepository.FirstOrDefault(f => f.RequestGuid == requestGuid); if (textResponse != null) { sendTextDetail = this.unitOfWork.SentTextDetailsRepository.FirstOrDefault(f => f.TextResponseID == textResponse.TextResponseID); } if (sendTextDetail != null) { sendTextDetail.From = request.From; sendTextDetail.Message = request.Message; sendTextDetail.SenderID = request.SenderId; sendTextDetail.To = request.To.FirstOrDefault(); } if (sendTextQueue == null && sendTextDetail != null) { this.unitOfWork.SendTextQueueRepository.Add(new SendTextQueueDb { TokenGuid = request.TokenGuid, RequestGuid = request.RequestGuid, //From = item.From, //PriorityID = item.PriorityID, ScheduledTime = request.ScheduledTime, QueueTime = DateTime.UtcNow, //StatusID = CommunicationStatus.Queued, //ServiceResponse = string.Empty }); } unitOfWork.Commit(); } }