public List <MessageDispatchInfoContract> GetMsgDispatchesBetweenSenderReceiver(IRetrieveMessageRequest messageRequest) { ValidateAccessToken(messageRequest.UserCredentials); string username = messageRequest.Username; if (string.IsNullOrEmpty(username)) { throw new ApplicationException("Username value passed is empty."); } User user = GetUserMatchingUsername(username); if (user == null) { throw new ApplicationException("Could not find a matching Username."); } string infotext = string.Format("Getting message messageDispatches between sender: {0} and receiver: {1}.", messageRequest.SenderEmailAddress, messageRequest.ReceiverEmailAddress); WriteInfoLog(infotext); IMessageDispatchRepository dispatchRepo = GetMessageDispatchRepository(); List <MessageDispatch> messageDispatches = dispatchRepo.GetDispatchesBetweenSenderReceiver(messageRequest.SenderEmailAddress, messageRequest.ReceiverEmailAddress, messageRequest.MessageIdThreshold, messageRequest.NumberOfMessages); List <MessageDispatchInfoContract> messageDispatchInfos = CreateDispatchInfoList(messageDispatches, user.Id); return(messageDispatchInfos); }
private void PersistMessagedispatch(MessageDispatch messageDispatch, IRepoTransaction repoTransaction) { IMessageDispatchRepository dispatchRepo = MessageDispatchRepoFactory.GetDispatchRepository(DatabaseOption.DatabaseEngine, DatabaseOption.DbConnectionString, repoTransaction); dispatchRepo.InsertDispatch(messageDispatch); WriteInfoLog("Message-Dispatch persisting was successful."); }
private static void UpdateDispatch(MessageDispatch dispatch) { long dispatchId = dispatch != null ? dispatch.Id : 0L; WriteInfoLog(string.Format("Going to update dispatch (ID): {0}", dispatchId)); IMessageDispatchRepository dispatchRepo = GetDispatchRepository(); dispatchRepo.UpdateDispatch(dispatch); WriteInfoLog(string.Format("Dispatch-object: {0} was sucessfully updated.", dispatchId)); }
public static void UpdateDispatchAsReceived(long dispatchId, DateTime receivedDateTime) { WriteInfoLog(string.Format("Recieved dispatch update request for dispatch (id): {0}.", dispatchId)); IMessageDispatchRepository dispatchRepo = GetDispatchRepository(); MessageDispatch dispatch = dispatchRepo.GetDispatchMatchingId(dispatchId); if (dispatch != null) { WriteInfoLog(string.Format("Found Dispatch (ID): {0}", dispatchId)); dispatch.MessageReceived = true; dispatch.MessageReceivedTime = receivedDateTime; UpdateDispatch(dispatch); } }
private long[] GetMessageIds(string receiverEmailAddress, ref List <MessageDispatch> messageDispatches) { IMessageDispatchRepository dispatchRepo = GetMessageDispatchRepository(); messageDispatches = dispatchRepo.GetDispatchesNotReceivedMatchingEmail(receiverEmailAddress); if (messageDispatches == null || messageDispatches.Count() == 0) { return(null); } long[] messageids = messageDispatches.Where(mt => mt.MessageId != null) .Select(mt => mt.MessageId.Value) .Distinct() .ToArray(); return(messageids); }