Пример #1
0
        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.");
            }
        }
Пример #2
0
        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));
 }
Пример #4
0
        public IActionResult Create(ChannelCreateRequest command)
        {
            var channel = _channelService.Create(command.GroupId, command.Name);

            return(Created($"/api/channel/{@channel.Id}", null));
        }