public async Task <ActionResult <MessageViewModel> > CreateMessage(MessageInputViewModel viewModel)
        {
            var createdMessage = await MessageService.AddMessage(Mapper.Map <Message>(viewModel));

            return(CreatedAtAction(nameof(GetMessage),
                                   new { id = createdMessage.Id },
                                   Mapper.Map <MessageViewModel>(createdMessage)));
        }
        public IActionResult New(int id)
        {
            var pet = this.petsService.GetById <PetViewModel>(id);

            var petOwner = pet.OwnerUserName;
            var user     = this.User.Identity.Name;

            var messageInput = new MessageInputViewModel {
                From = user, To = petOwner, SentOn = DateTime.UtcNow
            };

            return(this.View(messageInput));
        }
        public async Task CreateReceivedMessageAsync(MessageInputViewModel input, string userName, string ownerId)
        {
            var message = new ReceivedMessage
            {
                ApplicationUserId = ownerId,
                From   = userName,
                Text   = input.Text,
                SentOn = DateTime.UtcNow,
            };

            await this.receivedMessagesRepo.AddAsync(message);

            await this.receivedMessagesRepo.SaveChangesAsync();
        }
Exemple #4
0
        public async Task <IActionResult> CreateMessage(MessageInputViewModel inputView)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View(inputView));
            }

            var authorId = this.userManager.GetUserId(this.User);
            var userName = this.userManager.GetUserName(this.User);

            await this.messagesService.Create(inputView.Content, authorId, userName, inputView.Email);

            return(this.RedirectToAction("Index", "Home"));
        }
        public async Task CreateSentMessageAsync(MessageInputViewModel input, string userId, string ownerName)
        {
            var message = new SentMessage
            {
                // To
                ApplicationUserId = userId,
                To     = ownerName,
                Text   = input.Text,
                SentOn = DateTime.UtcNow,
            };

            await this.sentMessagesRepo.AddAsync(message);

            await this.sentMessagesRepo.SaveChangesAsync();
        }
Exemple #6
0
        public static string ShowInput(System.Windows.Window owner, string messageBoxText, string caption, MessageStyle style, TextBoxExInputType inputType)
        {
            var vm   = new MessageInputViewModel();
            var view = new Views.MessageBoxInputView();

            view.DataContext = vm;

            vm.Caption          = caption;
            vm.MessageBoxText   = messageBoxText;
            vm.MessageStyle     = style;
            vm.MessageButton    = MessageButton.OKCancel;
            vm.MessageInputType = inputType;
            vm.ApplyMessageStyle();

            view.ShowDialog();

            return(vm.MessageResult == MessageResult.OK ? vm.MessageInputText : "");
        }
        public async Task <IActionResult> NewEmpty(MessageInputViewModel input)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View(input));
            }

            var user = await this.userManager.GetUserAsync(this.User);

            var receiverName = input.To;
            var receiver     = await this.userManager.FindByNameAsync(receiverName);

            await this.messagesService.CreateSentMessageAsync(input, user.Id, receiverName);

            await this.messagesService.CreateReceivedMessageAsync(input, user.UserName, receiver.Id);

            return(this.Redirect("/Messages/Sent"));
        }
        public async Task <IActionResult> New(int id, MessageInputViewModel input)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View(input));
            }

            var pet = this.petsService.GetById <PetViewModel>(id);

            var owner = await this.userManager.FindByIdAsync(pet.OwnerId);

            var user = await this.userManager.GetUserAsync(this.User);

            await this.messagesService.CreateSentMessageAsync(input, user.Id, owner.UserName);

            await this.messagesService.CreateReceivedMessageAsync(input, user.UserName, pet.OwnerId);

            return(this.Redirect("/Pets/MyPets"));
        }
        public async Task <IActionResult> NewEmpty(string to)
        {
            var user = await this.userManager.GetUserAsync(this.User);

            if (to != null)
            {
                var messageInput = new MessageInputViewModel {
                    From = user.UserName, To = to, SentOn = DateTime.UtcNow
                };

                return(this.View(messageInput));
            }
            else
            {
                var messageInput = new MessageInputViewModel {
                    From = user.UserName, SentOn = DateTime.UtcNow
                };

                return(this.View(messageInput));
            }
        }