public async Task <CreateCinemaResultModel> AddCinema(CinemaDomainModel newCinema) { Data.Cinema cinemaToCreate = new Data.Cinema() { Name = newCinema.Name }; var data = _cinemasRepository.Insert(cinemaToCreate); if (data == null) { return(new CreateCinemaResultModel { IsSuccessful = false, ErrorMessage = Messages.CINEMA_CREATION_ERROR }); } _cinemasRepository.Save(); CreateCinemaResultModel createCinemaResultModel = new CreateCinemaResultModel() { Cinema = new CinemaDomainModel { Id = data.Id, Name = data.Name }, IsSuccessful = true, ErrorMessage = null }; return(createCinemaResultModel); }
public async Task <CreateCinemaResultModel> AddCinema(CinemaDomainModel newCinema) { var cinema = await _cinemasRepository.GetByCinemaName(newCinema.Name); var sameCinemaName = cinema.ToList(); if (sameCinemaName != null && sameCinemaName.Count > 0) { return(new CreateCinemaResultModel { IsSuccessful = false, ErrorMessage = Messages.CINEMA_SAME_NAME }); } Data.Cinema cinemaToCreate = new Data.Cinema() { Name = newCinema.Name }; var data = _cinemasRepository.Insert(cinemaToCreate); if (data == null) { return(new CreateCinemaResultModel { IsSuccessful = false, ErrorMessage = Messages.CINEMA_CREATION_ERROR }); } _cinemasRepository.Save(); CinemaDomainModel domainModel = new CinemaDomainModel() { Id = data.Id, Name = data.Name }; CreateCinemaResultModel cinemaResultModel = new CreateCinemaResultModel() { ErrorMessage = null, IsSuccessful = true, Cinema = domainModel }; return(cinemaResultModel); }
public IActionResult Post([FromBody] Cinema cinema) { if (cinema == null) { return(BadRequest(new { status = "error", message = "You must supply a cinema information" })); } if (ModelState.IsValid) { var createdCinema = repo.Insert(cinema); if (createdCinema != null) { return(Ok(new { status = "success", message = "A new cinema has been created", data = new { cinema = createdCinema } })); } else { return(BadRequest(new { status = "fail", message = "Failed to create cinema" })); } } return(BadRequest(new { status = "fail", message = "Failed to create cinema due to errors", data = ModelState.Values.Select(v => v.Errors) })); }
public async Task <CinemaDomainModel> CreateCinemaAsync(CinemaDomainModel cinemaDomainModel, int numOfSeats, int numOfRows, string auditoriumName) { var city = await _citiesRepository.GetByIdAsync(cinemaDomainModel.CityId); if (city == null) { return(null); } var cinemas = await _cinemasRepository.GetAll(); var cinemasInSameCity = cinemas.Where(c => c.CityId == cinemaDomainModel.CityId); foreach (var cin in cinemasInSameCity) { if (cin.Name == cinemaDomainModel.Name) { return(null); } } Data.Cinema newCinema = new Data.Cinema { Name = cinemaDomainModel.Name, CityId = cinemaDomainModel.CityId }; newCinema.Auditoriums = new List <Auditorium>(); Auditorium auditorium = new Auditorium { AuditName = auditoriumName }; auditorium.Seats = new List <Seat>(); for (int j = 1; j <= numOfRows; j++) { for (int k = 1; k <= numOfSeats; k++) { Seat seat = new Seat { Row = j, Number = k }; auditorium.Seats.Add(seat); } } newCinema.Auditoriums.Add(auditorium); Data.Cinema insertedCinema = _cinemasRepository.Insert(newCinema); if (insertedCinema == null) { return(null); } _cinemasRepository.Save(); if (insertedCinema == null) { return(null); } CinemaDomainModel cinemaModel = new CinemaDomainModel { Id = insertedCinema.Id, Name = insertedCinema.Name, CityId = insertedCinema.CityId, AuditoriumsList = new List <AuditoriumDomainModel>() }; foreach (var auditoriumInserted in insertedCinema.Auditoriums) { AuditoriumDomainModel modelAuditorium = new AuditoriumDomainModel { Id = auditoriumInserted.Id, CinemaId = insertedCinema.Id, Name = auditoriumInserted.AuditName, SeatsList = new List <SeatDomainModel>() }; foreach (var seat in auditoriumInserted.Seats) { modelAuditorium.SeatsList.Add(new SeatDomainModel { Id = seat.Id, AuditoriumId = auditoriumInserted.Id, Number = seat.Number, Row = seat.Row }); } cinemaModel.AuditoriumsList.Add(modelAuditorium); } return(cinemaModel); }