From c75f6aa28b7bbad4519e179af3ff7377275deced Mon Sep 17 00:00:00 2001 From: Sergey Karmanov Date: Fri, 25 Aug 2023 02:06:59 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20Im?= =?UTF-8?q?ageUrl?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FichaBackend/Controllers/ParserController.cs | 3 +++ FichaBackend/Models/Film.cs | 2 ++ FichaBackend/Models/FilmDto.cs | 2 ++ FichaBackend/Services/IPublicDataService.cs | 8 ++++++++ FichaBackend/appsettings.Development.json | 3 +++ 5 files changed, 18 insertions(+) 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..ee8dbe2 100644 --- a/FichaBackend/Models/Film.cs +++ b/FichaBackend/Models/Film.cs @@ -9,6 +9,8 @@ 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 Url { 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..44c2473 100644 --- a/FichaBackend/Models/FilmDto.cs +++ b/FichaBackend/Models/FilmDto.cs @@ -5,6 +5,8 @@ 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 Url { 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..6baf88c 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,17 @@ public class PublicDataService : IPublicDataService film.Price = filmDto.Price ?? 0; film.Genre = filmDto.Genre; film.Time = filmDto.Time; + film.ImageURL = filmDto.ImageURL; + film.Url = filmDto.Url; 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",