diff --git a/FichaBackend/Controllers/MainController.cs b/FichaBackend/Controllers/MainController.cs index 3db0632..e10f5c2 100644 --- a/FichaBackend/Controllers/MainController.cs +++ b/FichaBackend/Controllers/MainController.cs @@ -31,7 +31,7 @@ public class MainController : ControllerBase } [HttpGet("GetAllMoviesInCity/{cityName}")] - public async Task> GetAllMoviesInCityWithPuskinCard(string cityName) + public async Task> GetAllMoviesInCityWithPuskinCard(string cityName) { return await _publicDataService.GetAllFilmsInCity(cityName); } diff --git a/FichaBackend/FichaBackend.csproj b/FichaBackend/FichaBackend.csproj index 2857e3d..34f193d 100644 --- a/FichaBackend/FichaBackend.csproj +++ b/FichaBackend/FichaBackend.csproj @@ -18,6 +18,8 @@ + + all @@ -37,4 +39,5 @@ + diff --git a/FichaBackend/Program.cs b/FichaBackend/Program.cs index 74d2355..0f75c2f 100644 --- a/FichaBackend/Program.cs +++ b/FichaBackend/Program.cs @@ -39,6 +39,9 @@ builder.Services.AddDbContext(options => builder.Services.AddHealthChecks() .AddNpgSql(dbConString); +// AutoMapper +builder.Services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies()); + // Services builder.Services.AddScoped(); diff --git a/FichaBackend/Services/IPublicDataService.cs b/FichaBackend/Services/IPublicDataService.cs index 558a281..6df19a8 100644 --- a/FichaBackend/Services/IPublicDataService.cs +++ b/FichaBackend/Services/IPublicDataService.cs @@ -1,4 +1,5 @@ -using FichaBackend.Models; +using AutoMapper; +using FichaBackend.Models; using Microsoft.EntityFrameworkCore; namespace FichaBackend.Services; @@ -6,7 +7,7 @@ namespace FichaBackend.Services; public interface IPublicDataService { public Task> GetAllCity(); - public Task> GetAllFilmsInCity(string cityName); + public Task> GetAllFilmsInCity(string cityName); public Task> GetAllCards(); public Task UpdateFilmsInCity(IEnumerable films); public bool CityExsist(string cityName); @@ -15,10 +16,12 @@ public interface IPublicDataService public class PublicDataService : IPublicDataService { private readonly DatabaseContext _databaseContext; + public readonly IMapper _mapper; - public PublicDataService(DatabaseContext databaseContext) + public PublicDataService(DatabaseContext databaseContext, IMapper mapper) { _databaseContext = databaseContext; + _mapper = mapper; } public async Task> GetAllCity() @@ -26,9 +29,11 @@ public class PublicDataService : IPublicDataService return await _databaseContext.Cities.ToListAsync(); } - public async Task> GetAllFilmsInCity(string cityName) + public async Task> GetAllFilmsInCity(string cityName) { - return await _databaseContext.Films.Where(x => x.City.Name.ToLower() == cityName.ToLower()).ToListAsync(); + var films = await _databaseContext.Films.Where(x => x.City.Name.ToLower() == cityName.ToLower()).ToListAsync(); + var destinations = _mapper.Map, List>(films); + return destinations; } public async Task> GetAllCards() @@ -50,7 +55,7 @@ public class PublicDataService : IPublicDataService film.Time = filmDto.Time; film.ImageURL = filmDto.ImageURL; film.Url = filmDto.Url; - film.City = await _databaseContext.Cities.FirstOrDefaultAsync(x => x.Name == filmDto.City); + film.City = await _databaseContext.Cities.FirstAsync(x => x.Name.ToLower() == filmDto.City.ToLower()); await _databaseContext.Films.AddAsync(film); } diff --git a/FichaBackend/Utils/MappingProfiles.cs b/FichaBackend/Utils/MappingProfiles.cs new file mode 100644 index 0000000..bda27dd --- /dev/null +++ b/FichaBackend/Utils/MappingProfiles.cs @@ -0,0 +1,13 @@ +using AutoMapper; +using FichaBackend.Models; + +namespace FichaBackend.Utils; + +public class MappingProfiles : Profile +{ + public MappingProfiles() + { + CreateMap(); + CreateMap(); + } +} \ No newline at end of file