Пример #1
0
        public async Task <ActionResult <OperationResult <CreateResponse> > > Create(CreateRequest request)
        {
            await _roomService.ClearExpired();

            TimeSpan       lifespan = TimeSpan.Parse(request.ChatLifespan);
            DateTimeOffset expireAt = DateTimeOffset.UtcNow + lifespan;

            ColorEnum color = ColorHelper.RandomColor();

            Room room = await _roomService.Create(request.UserName, (int)color, request.Topic, expireAt, request.OnlyOwnerCanInvite);

            return(OperationResult <CreateResponse> .Ok(new CreateResponse
            {
                RoomTopic = request.Topic,
                RoomId = room.Id,
                UserId = room.OwnerId,
                UserPublicId = room.Owner.PublicId,
                RoomExpireAt = expireAt,
                OnlyOwnerCanInvite = request.OnlyOwnerCanInvite
            }));
        }