public async Task <ActionResult <MessageDTO> > CreateMessageAsync(CreateMessageVM messageVM) { var createdMessage = await messageService .CreateAsync(mapper.Map <MessageDTO>(messageVM), GetCurrentUserId()); return(CreatedAtAction(nameof(GetMessage), new { id = createdMessage.Id }, createdMessage)); }
public IHttpActionResult Send(CreateMessageVM message) { if (message == null) { return(BadRequest()); } if (new UsersRepository().UserByEmail(message.EmailFrom) == null || new UsersRepository().UserByEmail(message.EmailTo) == null) { if (new UsersRepository().UserByUsername(message.EmailFrom) == null || new UsersRepository().UserByUsername(message.EmailTo) == null) { return(BadRequest("User Couldn't be found")); } } if (message.MessageContent == null || message.MessageContent == "") { return(BadRequest("No Content to send.")); } if (new UsersRepository().UserByEmail(message.EmailFrom) != null && new UsersRepository().UserByEmail(message.EmailTo) != null) { new MailRepository().Add(new Message { Description = message.Description, MailContent = message.MessageContent, RecieverId = new UsersRepository().UserByEmail(message.EmailTo).Id, SenderId = new UsersRepository().UserByEmail(message.EmailFrom).Id }); } else { new MailRepository().Add(new Message { Description = message.Description, MailContent = message.MessageContent, RecieverId = new UsersRepository().UserByUsername(message.EmailTo).Id, SenderId = new UsersRepository().UserByUsername(message.EmailFrom).Id }); } return(Ok()); }
public async Task <IActionResult> Create(CreateMessageVM vm) { if (!ModelState.IsValid) { return(BadRequest()); } var currentUser = await _userManager.GetUserAsync(HttpContext.User); var recipient = await _db.Users.FirstOrDefaultAsync(x => x.UserName == vm.Recipient); if (currentUser == null || recipient == null) { return(BadRequest()); } var message = _mapper.Map <Models.Message>(vm); message.Author = currentUser.UserName; await _db.Messages.AddAsync(message); await _db.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> Post(CreateMessageVM model) { var message = await _messagesService.CreateAsync(model); await _hub.Clients.All.SendAsync("CreateOne", message); return(Ok(new { message.Id })); }
public async Task <IActionResult> Create(string id) { var currentUser = await _userManager.GetUserAsync(HttpContext.User); var recipient = await _db.Users.FirstOrDefaultAsync(x => x.UserName == id); if (currentUser == null || recipient == null) { return(BadRequest()); } var vm = new CreateMessageVM { Recipient = recipient.UserName, }; return(View(vm)); }
private ActionResult ProcessImage(CreateMessageVM model, string viewName = null) { if (CheckMessageImage()) { var imageUrl = UserImages.SaveMessageImage(Request.Files, User.UserID); if (!imageUrl.IsEmpty()) { var value = ModelState["Description"].Value; image = HtmlControls.Image(imageUrl); ModelState["Description"].Value = new ValueProviderResult( new[] { model.Description + image }, value.AttemptedValue + image, null); } } if (viewName.IsEmpty()) { return(View(model)); } return(View(viewName, model)); }
public async Task <MessageVM> CreateAsync(CreateMessageVM model) { var message = new Message { UserId = model.UserId, Text = model.Text, CreatedAt = DateTime.Now, UserName = model.UserName }; await _db.Messages.AddAsync(message); await _db.SaveChangesAsync(); return(new MessageVM { Id = message.Id, Text = message.Text, UserName = message.UserName, UserId = message.UserId, UpdatedAt = message.UpdatedAt, IsDeleted = message.IsDeleted }); }