public async Task Create(ChannelCreateRequest values) { var user = await dataContext.Users.FirstOrDefaultAsync(u => u.Username == userAccessor.GetCurrentUsername()); if (await dataContext.Channels.AnyAsync(c => c.Name == values.Name)) { throw new RestException(HttpStatusCode.BadRequest, new { details = "Channel name is already used" }); } var channel = new Channel { Id = values.Id, HashedPassword = values.Password.ToSHA256(), Name = values.Name }; var userChannel = new UserChannel { User = user, Channel = channel, IsCreator = true }; await dataContext.UserChannels.AddAsync(userChannel); var success = await dataContext.SaveChangesAsync() > 0; if (!success) { throw new Exception("Problem occured during saving changes."); } }
public async Task <ActionResult> Create(ChannelCreateRequest values) { await channelService.Create(values); return(Ok()); }
public async Task <TLUpdates> CreateChannel([FromBody] ChannelCreateRequest request) { return(await clientConnector.CreateChannel(request.Title, request.About, request.MegaGroup, request.Broadcast)); }
public IActionResult Create(ChannelCreateRequest command) { var channel = _channelService.Create(command.GroupId, command.Name); return(Created($"/api/channel/{@channel.Id}", null)); }