public IActionResult Get() { var cinemas = repo.GetAll(); return(Ok(new { status = "success", message = $"Found {cinemas.Count()}", data = new { cinemas = cinemas } })); }
public async Task <IEnumerable <CinemaDomainModel> > GetAllAsync() { var data = await _cinemasRepository.GetAll(); if (data == null) { return(null); } List <CinemaDomainModel> result = new List <CinemaDomainModel>(); CinemaDomainModel model; foreach (var item in data) { model = new CinemaDomainModel { Id = item.Id, Name = item.Name }; result.Add(model); } return(result); }
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); }