From 577fa15fd759cd069432377263ff1962ceb2ab87 Mon Sep 17 00:00:00 2001 From: Sergey Karmanov Date: Fri, 25 Aug 2023 12:31:24 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BC=D1=83=D0=B7=D0=B5=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FichaBackend/Controllers/MainController.cs | 18 +++++++++++++++--- FichaBackend/DatabaseContext.cs | 1 + FichaBackend/Models/Museum.cs | 14 ++++++++++++++ FichaBackend/Models/MuseumDto.cs | 13 +++++++++++++ FichaBackend/Services/IPublicDataService.cs | 6 ++++++ FichaBackend/Utils/MappingProfiles.cs | 2 ++ 6 files changed, 51 insertions(+), 3 deletions(-) create mode 100644 FichaBackend/Models/Museum.cs create mode 100644 FichaBackend/Models/MuseumDto.cs diff --git a/FichaBackend/Controllers/MainController.cs b/FichaBackend/Controllers/MainController.cs index e10f5c2..6b47e77 100644 --- a/FichaBackend/Controllers/MainController.cs +++ b/FichaBackend/Controllers/MainController.cs @@ -30,10 +30,22 @@ public class MainController : ControllerBase return await _publicDataService.GetAllCards(); } - [HttpGet("GetAllMoviesInCity/{cityName}")] - public async Task> GetAllMoviesInCityWithPuskinCard(string cityName) + [HttpGet("GetAllFilmsInCity/{cityName}")] + public async Task>> GetAllFilmsInCityWithPuskinCard(string cityName) { - return await _publicDataService.GetAllFilmsInCity(cityName); + if (!_publicDataService.CityExsist(cityName)) + return BadRequest("City does not exsist"); + + return Ok(await _publicDataService.GetAllFilmsInCity(cityName)); + } + + [HttpGet("GetAllMuseumsInCity/{cityName}")] + public async Task>> GetAllMuseumsInCity(string cityName) + { + if (!_publicDataService.CityExsist(cityName)) + return BadRequest("City does not exsist"); + + return Ok(await _publicDataService.GetAllMuseumsInCity(cityName)); } } \ No newline at end of file diff --git a/FichaBackend/DatabaseContext.cs b/FichaBackend/DatabaseContext.cs index 48bd0f0..2ce1d12 100644 --- a/FichaBackend/DatabaseContext.cs +++ b/FichaBackend/DatabaseContext.cs @@ -8,6 +8,7 @@ namespace FichaBackend public DbSet Cities { get; set; } = null!; public DbSet Films { get; set; } = null!; public DbSet CardQuestions { get; set; } = null!; + public DbSet Museums { get; set; } = null!; protected override void OnModelCreating(ModelBuilder modelBuilder) { diff --git a/FichaBackend/Models/Museum.cs b/FichaBackend/Models/Museum.cs new file mode 100644 index 0000000..2963d2e --- /dev/null +++ b/FichaBackend/Models/Museum.cs @@ -0,0 +1,14 @@ +using System.ComponentModel.DataAnnotations; + +namespace FichaBackend.Models; + +public class Museum +{ + [Key] + public long Id { get; set; } + public City City { get; set; } + public string Name { get; set; } + public double Longtitude { get; set; } + public double Latitude { get; set; } + public float? Price { get; set; } +} \ No newline at end of file diff --git a/FichaBackend/Models/MuseumDto.cs b/FichaBackend/Models/MuseumDto.cs new file mode 100644 index 0000000..92bc6e4 --- /dev/null +++ b/FichaBackend/Models/MuseumDto.cs @@ -0,0 +1,13 @@ +using System.ComponentModel.DataAnnotations; + +namespace FichaBackend.Models; + +public class MuseumDto +{ + [Key] + public string City { get; set; } + public string Name { get; set; } + public double Longtitude { get; set; } + public double Latitude { get; set; } + public float? Price { get; set; } +} \ No newline at end of file diff --git a/FichaBackend/Services/IPublicDataService.cs b/FichaBackend/Services/IPublicDataService.cs index 6df19a8..41b8092 100644 --- a/FichaBackend/Services/IPublicDataService.cs +++ b/FichaBackend/Services/IPublicDataService.cs @@ -9,6 +9,7 @@ public interface IPublicDataService public Task> GetAllCity(); public Task> GetAllFilmsInCity(string cityName); public Task> GetAllCards(); + public Task> GetAllMuseumsInCity(string cityName); public Task UpdateFilmsInCity(IEnumerable films); public bool CityExsist(string cityName); } @@ -41,6 +42,11 @@ public class PublicDataService : IPublicDataService return await _databaseContext.CardQuestions.ToListAsync(); } + public async Task> GetAllMuseumsInCity(string cityName) + { + return await _databaseContext.Museums.Where(x => x.City.Name.ToLower() == cityName.ToLower()).ToListAsync(); + } + public async Task UpdateFilmsInCity(IEnumerable films) { await _databaseContext.Films.Where(x => x.City.Name == films.First().City).ForEachAsync(x => _databaseContext.Films.Remove(x)); diff --git a/FichaBackend/Utils/MappingProfiles.cs b/FichaBackend/Utils/MappingProfiles.cs index bda27dd..fb0dc31 100644 --- a/FichaBackend/Utils/MappingProfiles.cs +++ b/FichaBackend/Utils/MappingProfiles.cs @@ -9,5 +9,7 @@ public class MappingProfiles : Profile { CreateMap(); CreateMap(); + CreateMap(); + CreateMap(); } } \ No newline at end of file