public async Task <IActionResult> Send(MessageSendDto model) { try { var claimId = int.Parse(User.Claims.FirstOrDefault(c => c.Type == "id").Value); if (model.UserId != claimId) { return(StatusCode(StatusCodes.Status401Unauthorized)); } var message = new Message { UserId = model.UserId, RoomId = model.RoomId, Text = model.Text }; message = await messageService.SendMessageAsync(message); var messageInfo = new MessageInfo { Sent = message.Created, Id = message.Id, RoomId = message.RoomId, Text = message.Text, Username = User.Identity.Name }; var sendTo = (await userService.GetUsersByRoomIdAsync(messageInfo.RoomId)) .Where(u => u != messageInfo.Username) .ToList(); context.Clients.Users(sendTo).SendAsync("updateMessages", messageInfo); return(Ok(messageInfo)); } catch (SqlException e) { return(BadRequest(new { message = e.Message })); } catch (Exception) { return(StatusCode(StatusCodes.Status500InternalServerError)); } }
public IActionResult AddMeesage([FromBody] MessageSendDto message) { var currentUserId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); if (currentUserId == message.UserId) { var currentUser = _userDal.GetUserById(currentUserId); if (currentUser.NameSurname == message.SenderName) { try { Message addMessage = new Message(); addMessage.Content = message.Content; addMessage.MState = message.MState; addMessage.Time = DateTime.Now; addMessage.UserId = message.UserId; if (addMessage.Content == null) { addMessage.Content = "Açıklama yok."; } _messageDal.Add(addMessage); return(new StatusCodeResult(201)); } catch { } return(BadRequest()); } else { return(Unauthorized()); } } else { return(NotFound(404)); } }