diff --git a/FichaBackend/Controllers/ParserController.cs b/FichaBackend/Controllers/ParserController.cs index ec5b9d9..8999716 100644 --- a/FichaBackend/Controllers/ParserController.cs +++ b/FichaBackend/Controllers/ParserController.cs @@ -23,6 +23,9 @@ public class ParserController : ControllerBase var val = films.First().City; if (films.Any(x => x.City != val)) return BadRequest("All films must be in the same city"); + + if (!_publicDataService.CityExsist(val)) + return BadRequest("This city not exist"); await _publicDataService.UpdateFilmsInCity(films); return Ok("Films updated"); diff --git a/FichaBackend/Models/Film.cs b/FichaBackend/Models/Film.cs index 00bbeee..ff7763d 100644 --- a/FichaBackend/Models/Film.cs +++ b/FichaBackend/Models/Film.cs @@ -9,6 +9,7 @@ public class Film public City City { get; set; } public string Cinema { get; set; } public string FilmName { get; set; } + public string ImageURL { get; set; } public string? Genre { get; set; } public string? Time { get; set; } public float Price { get; set; } = 0; diff --git a/FichaBackend/Models/FilmDto.cs b/FichaBackend/Models/FilmDto.cs index 2f1c59a..c29e515 100644 --- a/FichaBackend/Models/FilmDto.cs +++ b/FichaBackend/Models/FilmDto.cs @@ -5,6 +5,7 @@ public class FilmDto public string City { get; set; } public string Cinema { get; set; } public string FilmName { get; set; } + public string ImageURL { get; set; } public string? Genre { get; set; } public string? Time { get; set; } public float? Price { get; set; } diff --git a/FichaBackend/Services/IPublicDataService.cs b/FichaBackend/Services/IPublicDataService.cs index 13b6ad5..4a044a9 100644 --- a/FichaBackend/Services/IPublicDataService.cs +++ b/FichaBackend/Services/IPublicDataService.cs @@ -8,6 +8,7 @@ public interface IPublicDataService public Task> GetAllCity(); public Task> GetAllFilmsInCity(string cityName); public Task UpdateFilmsInCity(IEnumerable films); + public bool CityExsist(string cityName); } public class PublicDataService : IPublicDataService @@ -41,10 +42,16 @@ public class PublicDataService : IPublicDataService film.Price = filmDto.Price ?? 0; film.Genre = filmDto.Genre; film.Time = filmDto.Time; + film.ImageURL = filmDto.ImageURL; film.City = await _databaseContext.Cities.FirstOrDefaultAsync(x => x.Name == filmDto.City); await _databaseContext.Films.AddAsync(film); } await _databaseContext.SaveChangesAsync(); } + + public bool CityExsist(string cityName) + { + return _databaseContext.Cities.Any(x => x.Name.ToLower() == cityName.ToLower()); + } } \ No newline at end of file diff --git a/FichaBackend/appsettings.Development.json b/FichaBackend/appsettings.Development.json index 0c208ae..95d1f88 100644 --- a/FichaBackend/appsettings.Development.json +++ b/FichaBackend/appsettings.Development.json @@ -1,4 +1,7 @@ { + "ConnectionStrings": { + "DefaultConnection": "Host=192.168.0.46;Port=5432;Database=backend;Username=prod;Password=q8ne6LHAobv5EX" + }, "Logging": { "LogLevel": { "Default": "Information",