public async Task <ChatMessageResult> CreateMessage(MessageDto model, User userTo, User user) { var message = new ChatMessage { ChatRoomId = model.chatRoomId, UserId = user.Id, Message = model.message, DateTime = DateTime.Now }; await _chatMessageRepository.CreateAsync(message); await _domainContext.SaveChangesAsync(); return(DomainEntityConverter.ConvertToResult( user: user, userTo: userTo, chatMessage: message )); }
/// <summary> /// Функция создания сообщения /// </summary> /// <param name="model"></param> /// <returns></returns> public async Task <ChatMessageResult> CreateFile(ChatMessageFileDto file) { var user = await _userRepository.GetWithId(file.profileId); var userTo = await _userRepository.GetProfileForUserName(file.account); var message = new ChatMessage { ChatRoomId = file.chatRoomId, DateTime = DateTime.Now, Message = "", UserId = user.Id }; var fileBase64String = Convert.FromBase64String(file.fileBinary); var chatMessageFile = new ChatMessageFile { ChatMessageId = message.Id, FileBinary = fileBase64String, fileName = file.fileName }; await _chatMessageRepository.CreateAsync(message); await _chatMessageFileRepository.Create(chatMessageFile); await _domainContext.SaveChangesAsync(); return(new ChatMessageResult { DateTime = message.DateTime, fileId = chatMessageFile.Id, fileName = chatMessageFile.fileName, IsFile = true, Message = "", profileId = file.profileId, profileTo = userTo.ProfileId, }); }