public async Task <int> CreateMessage(ChatCreateRequest request) { var checkSender = await _context.Users.FirstAsync(x => x.Id == request.senderId); var checkRoleSender = await _userManager.GetRolesAsync(checkSender); var chat = new Chat(); if (checkRoleSender[0] == "User") { chat = new Chat() { createDate = DateTime.Now, content = request.content, senderId = request.senderId, receiverId = adminId, }; } else { chat = new Chat() { createDate = DateTime.Now, content = request.content, senderId = request.senderId, //receiverId = request.receiverId, receiverId = request.receiverId.Value, }; } _context.chats.Add(chat); await _context.SaveChangesAsync(); return(chat.id); }
public void OnActionExecuting(ActionExecutingContext context) { foreach (var argument in context.ActionArguments.Values.Where(v => v is ChatCreateRequest)) { ChatCreateRequest command = argument as ChatCreateRequest; _chatValidationService.RequireDifferentUsersForChatCreation(command.Username); _groupValidationService.RequireUsernameIsGroupMember(command.Username, command.GroupId); _chatValidationService.RequireChatBetweenUsersInGroupDoesNotExist(command.Username, command.GroupId); } }
public void Create(ChatCreateRequest chatCreateRequest) { using (SqlConnection conn = new SqlConnection(ConnectionString())) { conn.Open(); using (var cmd = new SqlCommand()) { cmd.Connection = conn; cmd.CommandText = _chatSql.SqlCreate(); cmd.CommandType = CommandType.Text; cmd.Parameters.AddWithValue("@UserId", GetDbValue(chatCreateRequest.UserId)); cmd.Parameters.AddWithValue("@Message", GetDbValue(chatCreateRequest.Message)); cmd.ExecuteNonQuery(); } } }
/*public async Task UserOnlineList() * { * var userIdOnlineList = _connections.GetOnlineUsers(); * var userOnlineList = await _chatService.GetUserOnlines(userIdOnlineList); * await Clients.Client(Context.ConnectionId).SendAsync("UserOnlineList", userOnlineList); * }*/ // // public async Task SendMessage(ChatCreateRequest _message) { var messageId = await _chatService.CreateMessage(_message); var message = await _chatService.GetMessageById(messageId); //Receive Message List <string> ReceiverConnectionids = _connections.GetConnections(message.receiverId).ToList <string>(); if (ReceiverConnectionids.Count() > 0) { //Save-Receive-Message try { var notify = new NotifyViewModel() { notify = $"Bạn đã nhận tin nhắn từ {message.sender.displayname}", link = null, senderId = message.senderId, receiverId = message.receiverId, isViewed = false, status = enums.NotifyStatus.chat, }; List <string> connects = _connections.GetConnections(message.receiverId).ToList <string>(); await Clients.All.SendAsync("ReceiveNotify", notify); // ReceiverConnectionids.Add(_message.connectionId); await Clients.Clients(ReceiverConnectionids).SendAsync("ReceiveMessage", message); } catch (Exception) { } } else { await Clients.Client(_message.connectionId).SendAsync("ReceiveMessage", message); } }
public void Create(ChatCreateRequest chatCreateRequest) { _chatRepository.Create(chatCreateRequest); List(true); }
public void Create([FromBody] ChatCreateRequest chatCreateRequest) { _chatService.Create(chatCreateRequest); }
public async Task <TLChat> CreateChat([FromBody] ChatCreateRequest request) { return(await clientConnector.CreateChat(request.UserId, request.UserHash, request.Title)); }
public IActionResult Create(ChatCreateRequest command) { var chat = _chatService.Create(command.GroupId, command.Username); return(Created($"/api/chat/{@chat.Id}", null)); }