public ActionResult Create(PrivateMessageViewModel model) { if (ModelState.IsValid) { var message = new PrivateMessage() { RecepientId = model.RecepientId, SenderId = WebSecurity.CurrentUserId, Subject = model.Subject, Message = model.Message }; try { _privateMessageRepository.Save(message); } catch (DataException) { TempData["error"] = ProjectConfiguration.Get.DataErrorMessage; } TempData["notice"] = string.Format("Сообщение пользователю {0} успешно отправлено!", model.Recepient); return(RedirectToAction("Index", "Profile", new { id = model.RecepientId })); } return(View(model)); }
public async Task UpdateOrDeletePrivateMessage_WhenDeletedBy_IsNull_CallsMediatorForEdit() { //Arrange var privateMessageViewModel = new PrivateMessageViewModel { Id = 1, Title = "title", Text = "text", DateSent = DateTime.Now, DateRead = DateTime.Now, Sender = new IdAndDisplayNameUserViewModel { Id = 1, DisplayName = "user1" }, Receiver = new IdAndDisplayNameUserViewModel { Id = 2, DisplayName = "user2" }, DeletedBy = null }; _mockMediator .Setup(call => call.Send(It.IsAny <GetPrivateMessageByIdQuery>(), default(CancellationToken))) .Returns(Task.FromResult(privateMessageViewModel)); //Act await _privateMessagesService.UpdateOrDeletePrivateMessage(privateMessageViewModel); //Assert _mockMediator.Verify(x => x.Send(It.IsAny <EditPrivateMessageCommand>(), default(CancellationToken)), Times.Once); }
public async Task SavePrivateMessageAsync_WhenIdIs0_CallsMediatorForAdd() { //Arrange var privateMessageViewModel = new PrivateMessageViewModel { Id = 0, Title = "title", Text = "text", DateSent = DateTime.Now, DateRead = null, Sender = new IdAndDisplayNameUserViewModel { Id = 1, DisplayName = "user1" }, Receiver = new IdAndDisplayNameUserViewModel { Id = 2, DisplayName = "user2" } }; //Act await _privateMessagesService.SavePrivateMessageAsync(privateMessageViewModel); //Assert _mockMediator.Verify(x => x.Send(It.IsAny <AddPrivateMessageCommand>(), default(CancellationToken)), Times.Once); }
public async Task <ActionResult> AddPrivateMessageAsync(PrivateMessageViewModel privateMessage) { privateMessage.Sender.Id = _claimsGetter.UserId(User?.Claims); await _privateMessagesService.SavePrivateMessageAsync(privateMessage); return(NoContent()); }
public async Task <IEnumerable <PrivateMessageViewModel> > GetPrivateMessages(Guid userId, Guid recipientId) { return(DbContext.PrivateMessages .Where(x => x.SenderId == userId && x.RecipientId == recipientId) .Select(y => PrivateMessageViewModel.FromPrivateMessage(y)) .AsEnumerable()); }
private Task AddPrivateMessageAsync(PrivateMessageViewModel viewModel) => _mediator.Send(new AddPrivateMessageCommand { Title = viewModel.Title, Text = viewModel.Text, DateSent = viewModel.DateSent, DateRead = viewModel.DateRead, SenderId = viewModel.Sender.Id, ReceiverId = viewModel.Receiver.Id });
public async Task UpdatePrivateMessageStatusAsync_WithGivenPrivateMessage_ReturnsNoContent() { //Arrange var privateMessage = new PrivateMessageViewModel(); //Act var result = await _privateMessagesController.UpdatePrivateMessageStatusAsync(privateMessage); //Asert result.Should().BeOfType <NoContentResult>(); }
public async Task EditPrivateMessageAsync_WithGivenPrivateMessage_ReturnsNoContent() { //Arrange var privateMessage = new PrivateMessageViewModel(); //Act await _privateMessagesController.EditPrivateMessageAsync(privateMessage); //Asert _mockPrivateMessagesService.Verify(x => x.SavePrivateMessageAsync(privateMessage), Times.Once); }
public async Task UpdatePrivateMessageStatusAsync_WithGivenPrivateMessage_CallsPrivateMessagesService() { //Arrange var privateMessage = new PrivateMessageViewModel(); //Act await _privateMessagesController.UpdatePrivateMessageStatusAsync(privateMessage); //Asert _mockPrivateMessagesService.Verify(x => x.UpdateOrDeletePrivateMessage(privateMessage), Times.Once); }
private Task EditPrivateMessageAsync(PrivateMessageViewModel viewModel) => _mediator.Send(new EditPrivateMessageCommand { Id = viewModel.Id, Title = viewModel.Title, Text = viewModel.Text, DateSent = viewModel.DateSent, DateRead = viewModel.DateRead, SenderId = viewModel.Sender.Id, ReceiverId = viewModel.Receiver.Id, DeletedBy = viewModel.DeletedBy });
public async Task UpdateOrDeletePrivateMessage(PrivateMessageViewModel viewModel) { var existingMessage = await GetPrivateMessageByIdAsync(viewModel.Id); if (existingMessage.DeletedBy != null && existingMessage.DeletedBy != viewModel.DeletedBy) { await DeletePrivateMessageAsync(existingMessage.Id); } else { await EditPrivateMessageAsync(viewModel); } }
public IActionResult CreateMessage2(string receiverId, string content) { PrivateMessageViewModel message = new PrivateMessageViewModel(); message.Id = Guid.NewGuid().ToString(); message.From = _userService.GetCurrentUser(User.Identity.Name).Username; message.Created = DateTime.Now; message.receiverId = receiverId; message.Content = content; _messageService.CreatePrivateMessage(message); return(RedirectToAction("Profile", "User")); }
public ActionResult Create(int recepientId) { var recepient = _profileRepository.Read(recepientId); if (recepient == null) { return(HttpNotFound()); } var viewModel = new PrivateMessageViewModel() { RecepientId = recepientId, Recepient = recepient.Email, Sender = User.Identity.Name }; return(View(viewModel)); }
public async Task AddPrivateMessageAsync_WithGivenPrivateMessage_ReturnsNoContent() { //Arrange var privateMessage = new PrivateMessageViewModel { Title = "Titlu", Text = "Text", Sender = new IdAndDisplayNameUserViewModel(), Receiver = new IdAndDisplayNameUserViewModel(), DateSent = DateTime.Now }; _mockClaimsGetter .Setup(x => x.UserId(It.IsAny <IEnumerable <Claim> >())) .Returns(privateMessage.Sender.Id); //Act var result = await _privateMessagesController.AddPrivateMessageAsync(privateMessage); //Asert result.Should().BeOfType <NoContentResult>(); }
public async Task AddPrivateMessageAsync_WithGivenPrivateMessage_CallsPrivateMessagesService() { //Arrange var privateMessage = new PrivateMessageViewModel { Title = "Titlu", Text = "Text", Sender = new IdAndDisplayNameUserViewModel(), Receiver = new IdAndDisplayNameUserViewModel(), DateSent = DateTime.Now }; _mockClaimsGetter .Setup(x => x.UserId(It.IsAny <IEnumerable <Claim> >())) .Returns(privateMessage.Sender.Id); //Act await _privateMessagesController.AddPrivateMessageAsync(privateMessage); //Asert _mockPrivateMessagesService.Verify(x => x.SavePrivateMessageAsync(privateMessage), Times.Once); }
public async Task <ActionResult> UpdatePrivateMessageStatusAsync(PrivateMessageViewModel privateMessage) { await _privateMessagesService.UpdateOrDeletePrivateMessage(privateMessage); return(NoContent()); }
public void CreatePrivateMessage(PrivateMessageViewModel privateMessage) { _privateMessageRepository.Insert(_mapper.Map <PrivateMessage>(privateMessage)); }
public void Send(PrivateMessageViewModel privateMessageViewModel) { }
public async Task <ActionResult> EditPrivateMessageAsync(PrivateMessageViewModel privateMessage) { await _privateMessagesService.SavePrivateMessageAsync(privateMessage); return(NoContent()); }
/// The methods provided in this section are simply used to allow /// NavigationHelper to respond to the page's navigation methods. /// /// Page specific logic should be placed in event handlers for the /// <see cref="GridCS.Common.NavigationHelper.LoadState" /> /// and /// <see cref="GridCS.Common.NavigationHelper.SaveState" /> /// . /// The navigation parameter is available in the LoadState method /// in addition to page state preserved during an earlier session. protected override void OnNavigatedTo(NavigationEventArgs e) { _vm = (PrivateMessageViewModel)DataContext; _navigationHelper.OnNavigatedTo(e); }
public Task SavePrivateMessageAsync(PrivateMessageViewModel viewModel) => viewModel.Id == 0 ? AddPrivateMessageAsync(viewModel) : EditPrivateMessageAsync(viewModel);