public async Task <Guid> CreateChat(CreateChatDto payload) { var chat = new Chat { Name = payload.Name }; var cm = new List <ChatMember>(); foreach (var userId in payload.UserIds) { cm.Add(new ChatMember { UserId = userId, Chat = chat }); } await _context.AddAsync(chat); await _context.AddRangeAsync(cm); await _context.SaveChangesAsync(); return(chat.Id); }
public HttpResponseMessage Create([FromBody] CreateChatDto createDto) { return(ProtectedExecuteAndWrapResult(() => { if (Chats.FirstOrDefault(chat => chat.Name == createDto.Name) != null) { throw new ConflictException("chat name"); } Member creator = new Member(createDto.CreatorName, createDto.PublicKey.Value); Chat created = new Chat(createDto.Name, creator); created.AssignKeys(createDto.P.Value, createDto.G.Value); Chats.Add(created); return new ChatInfoDto(created); }, createDto)); }
public static async Task CreateChatAsync() { await ExecuteProtected(async() => { string name = ReadChatName(); (int p, int g) = DIFFIE.GetPG(); (int publ, int priv) = DIFFIE.GetKeys(p, g); CreateChatDto createDto = new CreateChatDto(name, LOGIN, p, g, publ); ChatInfoDto chat = await CHAT_CLIENT.CreateChat(createDto); Console.WriteLine($"Chat {chat.Name} created, public: {publ}, private: {priv}\n"); USER_CHAT_KEYS.Add(chat.Name, new UserChatKeys(chat, publ, priv)); await OpenChatAsync(chat.Name); }); }
public static async Task CreateChatAsync() { await ExecuteProtected(async() => { string name = ReadChatName(); (int p, int g) = DIFFIE.GetPG(); (int publ, int priv) = DIFFIE.GetKeys(p, g); CreateChatDto createDto = new CreateChatDto(); createDto.ChatName = name; createDto.Creator = ME; createDto.P = p; createDto.G = g; ChatDto chat = await CHAT_CLIENT.CreateChat(createDto); ConsoleWriteLine($"Chat {chat.Name} created, public: {publ}, private: {priv}\n"); ChatData chatData = new ChatData(chat, publ, priv); USER_CHAT_KEYS.Add(chat.Name, chatData); CURRENT_CHAT = chat; StartChatting(); }, ex => PrintMenu()); }
public async Task <Guid> Create([FromBody] CreateChatDto payload) => await _chatService.CreateChat(payload);
public async Task <ChatInfoDto> CreateChat(CreateChatDto createDto) { return(await Connector.SendPost <CreateChatDto, ChatInfoDto>( ServerUrl + CREATE_CHAT_ENDPOINT, createDto )); }
public Member(CreateChatDto dto) { Name = dto.Creator.Name; Endpoint = dto.Creator.Endpoint; Port = dto.Creator.Port; }