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