예제 #1
0
        public ActionResult New()
        {
            var room = new Room();

            var newRoomDto = new NewRoomDTO(room, unitPrices);

            return(View(newRoomDto));
        }
예제 #2
0
        public ActionResult Edit(int id)
        {
            var room = _context.Rooms.SingleOrDefault(r => r.Id == id);

            var newRoomDto = new NewRoomDTO(room, unitPrices);

            if (room == null)
            {
                return(HttpNotFound());
            }

            return(View("New", newRoomDto));
        }
예제 #3
0
        public async Task <Room> Add(NewRoomDTO newRoom, int jwtOwner, MyDbContext _context)
        {
            var helper = Helper.ValidRoomName(newRoom.RoomName);

            if (!helper)
            {
                throw new Exception("Room name is invalid");
            }

            var room = new Room(newRoom);

            _context.Rooms.Add(room);
            await _context.SaveChangesAsync();

            return(room);
        }
예제 #4
0
        public async Task <ActionResult <Room> > PostRoom([FromBody] NewRoomDTO roomDTO)
        {
            var chat = await _chatRepository.Add(new Chat { Messages = new List <Message>() });

            Room room = new Room {
                Name = roomDTO.RoomName, DateOfCreation = DateTime.Now, Chat = chat, ChatID = chat.Id
            };
            await _roomRepository.Add(room);

            var user = await _userRepository.Get(roomDTO.UserUid);

            await _roomUserRepository.Add(new RoomUser { Room = room, RoomID = room.Id, User = user, UserID = user.Id });

            //return await _roomRepository.Get(room.Id);
            return(CreatedAtAction("GetRoom", new { id = room.Id }, room));
        }
예제 #5
0
        public async Task AddRoom(string roomName, JwtToken jwt, bool valid)
        {
            var client  = _factory.CreateClient();
            var newRoom = new NewRoomDTO(roomName);

            var addMessageJson = new StringContent(
                JsonConvert.SerializeObject(newRoom),
                Encoding.UTF8,
                "application/json");

            client.DefaultRequestHeaders.Add("jwt", jwt.Token);
            var response = await client.PostAsync("/addroom", addMessageJson);

            var result = await response.Content.ReadAsStringAsync();

            if (valid)
            {
                Assert.Equal(System.Net.HttpStatusCode.OK, response.StatusCode);
            }
            else
            {
                Assert.Equal(System.Net.HttpStatusCode.InternalServerError, response.StatusCode);
            }
        }
예제 #6
0
 public Room(NewRoomDTO dto)
 {
     RoomName  = dto.RoomName;
     CreatedAt = DateTime.Now;
     Open      = false;
 }