Esempio n. 1
0
        public IActionResult CreateCinemaRoom([FromBody] CinemaRoomInfo cinemaRoom, int cinemaId)
        {
            ResultCreated result = сinemaService.CreateCinemaRoom(cinemaId, cinemaRoom);

            if (result.ResultOk)
            {
                return(Created($"api/cinemas/{cinemaId}/cinemaRooms/{result.Id}", typeof(CinemaRoom)));
            }
            return(BadRequest(result));
        }
Esempio n. 2
0
        public IActionResult EditCinemaRoom([FromBody] CinemaRoomInfo cinemaRoomInfo, int cinemaId, int cinemaRoomId)
        {
            Result result = сinemaService.EditCinemaRoom(cinemaId, cinemaRoomId, cinemaRoomInfo);

            if (result.ResultOk)
            {
                return(Ok());
            }
            else
            {
                return(NotFound(result));
            }
        }
Esempio n. 3
0
        public Result EditCinemaRoom(int cinemaId, int cinemaRoomId, CinemaRoomInfo cinemaRoomInfo)
        {
            if (!CinemaExists(cinemaId))
            {
                return(new Result
                {
                    ResultOk = false,
                    Details = "Such cinema does not exist."
                });
            }

            if (!CinemaRoomExists(cinemaRoomId))
            {
                return(new Result
                {
                    ResultOk = false,
                    Details = "Such cinema room does not exist."
                });
            }

            if (!CinemaRoomInfoValid(cinemaRoomInfo))
            {
                return(new ResultCreated
                {
                    ResultOk = false,
                    Details = "Invalid cinema room info."
                });
            }

            CinemaRoom cinemaRoom = dbContext.CinemaRooms
                                    .Include(r => r.Seats)
                                    .FirstOrDefault(r => r.CinemaRoomId == cinemaRoomId);

            cinemaRoom.Name = cinemaRoomInfo.Name;

            cinemaRoom.Seats = cinemaRoomInfo.Seats
                               .Select(s => new Seat
            {
                Type   = dbContext.SeatTypes.FirstOrDefault(st => st.TypeName == s.Type),
                Row    = s.Row,
                Column = s.Column
            }).ToList();


            dbContext.SaveChanges();

            return(new Result
            {
                ResultOk = true
            });
        }
Esempio n. 4
0
        public ResultCreated CreateCinemaRoom(int cinemaId, CinemaRoomInfo cinemaRoomInfo)
        {
            if (!CinemaExists(cinemaId))
            {
                return(new ResultCreated
                {
                    ResultOk = false,
                    Details = "Cinema does not exist."
                });
            }

            if (!CinemaRoomInfoValid(cinemaRoomInfo))
            {
                return(new ResultCreated
                {
                    ResultOk = false,
                    Details = "Invalid cinema room data."
                });
            }

            CinemaRoom cinemaRoom = new CinemaRoom
            {
                Name  = cinemaRoomInfo.Name,
                Seats = cinemaRoomInfo.Seats.Select(s => new Seat
                {
                    Type   = dbContext.SeatTypes.FirstOrDefault(seat => seat.TypeName == s.Type),
                    Row    = s.Row,
                    Column = s.Column
                }).ToList()
            };

            Cinema cinema = dbContext.Cinemas
                            .Include(c => c.CinemaRooms)
                            .FirstOrDefault(c => c.CinemaId == cinemaId);

            cinema.CinemaRooms.Add(cinemaRoom);

            dbContext.SaveChanges();

            return(new ResultCreated
            {
                ResultOk = true,
                Id = cinemaRoom.CinemaRoomId
            });
        }
Esempio n. 5
0
 private bool CinemaRoomInfoValid(CinemaRoomInfo cinemaRoomInfo)
 {
     return(!String.IsNullOrEmpty(cinemaRoomInfo.Name) &&
            cinemaRoomInfo.Seats != null);
 }