public void SendMessage(List <Recipient> recipients, Message message) { if (recipients == null || recipients.Count == 0) { return; } foreach (var recipient in recipients) { try { userMessageRepository.Create( new Core.Models.Messaging.EF.UserMessage() { Body = message.MessageBody, CustomerNumber = message.CustomerNumber, Subject = message.MessageSubject, NotificationType = message.NotificationType, CustomerName = message.CustomerName, BranchId = message.BranchId, UserId = recipient.UserId, Label = message.NotificationType.ToString() // TODO: add a label for the message? }); unitOfWork.SaveChanges(); } catch (Exception ex) { eventLogRepository.WriteErrorLog("WebMessageProvider: Error Sending Message", ex); } } }
public void favourite_must_be_enabled_after_toggle() { var message = DatabaseHelper.CreateValidMessage(DatabaseHelper.UserTest4); var userMessage = DatabaseHelper.CreateValidUserMessage(message, DatabaseHelper.UserTest4); _messageRepository.Create(message); _userMessageRepository.Create(userMessage); _unitOfWork.Commit(); _messageFavouriteService.ToggleFavourite(userMessage.User.Id, userMessage.Message); _unitOfWork.Commit(); var favourite = _favouriteUserMessageRepository.FindAll().FirstOrDefault(x => x.User.Id == DatabaseHelper.UserTest4.Id && x.Message.Id == message.Id); Assert.IsNotNull(favourite, "User favourite message must exists after toggle favorite (enable)"); }
public void after_deleted_message_all_connected_user_message_must_have_deleted_state() { var newMessage = DatabaseHelper.CreateValidMessage(DatabaseHelper.UserTest2A); var userMessage1 = DatabaseHelper.CreateValidUserMessage(newMessage, DatabaseHelper.UserTest2A, modeEnum: UserMessageCreationModeEnum.ByHimselfNew); var userMessage2 = DatabaseHelper.CreateValidUserMessage(newMessage, DatabaseHelper.UserTest1); _messageRepository.Create(newMessage); _userMessageRepository.Create(userMessage1); _userMessageRepository.Create(userMessage2); _unitOfWork.Commit(); _messageService.Delete(newMessage.Id); _unitOfWork.Commit(); int amountOfDeleted = _userMessageRepository.FindAll().Count(x => x.Message.Id == newMessage.Id && x.UserMessageState.UserMessageStateEnum == UserMessageStateEnum.Deleted); Assert.AreEqual(2, amountOfDeleted, "All user message must have delete state after deleted message"); }
public void CreateMailMessage(MailMessageModel mailMessage) { Dictionary <Guid, UserMessage> messages = new Dictionary <Guid, UserMessage>(); IfCustomersRelayMessageToEachCustomer(mailMessage, messages); IfUsersRelayMessageToEachUser(mailMessage, messages); //Add messages to all users in the case of system alert if (mailMessage.IsAlert) { ExtractLinkIfPresent(mailMessage); RelayAlert(mailMessage, messages); } //Create all of the message records foreach (var message in messages) { _userMessageRepository.Create(message.Value); } _uow.SaveChanges(); }
public void user_must_have_right_to_his_own_user_messages() { var message = DatabaseHelper.CreateValidMessage(DatabaseHelper.UserTest1); var userMessage1 = DatabaseHelper.CreateValidUserMessage(message, DatabaseHelper.UserTest1); _userMessageRepository.Create(userMessage1); _unitOfWork.Commit(); bool userHaveRight = _userMessageService.HasRightToUserMessage(DatabaseHelper.UserTest1.Id, userMessage1.Id); _unitOfWork.Commit(); Assert.IsTrue(userHaveRight, "User must have rights to his own user message"); }