Добавил автомаппер
This commit is contained in:
		@@ -31,7 +31,7 @@ public class MainController : ControllerBase
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    [HttpGet("GetAllMoviesInCity/{cityName}")]
 | 
					    [HttpGet("GetAllMoviesInCity/{cityName}")]
 | 
				
			||||||
    public async Task<IEnumerable<Film>> GetAllMoviesInCityWithPuskinCard(string cityName)
 | 
					    public async Task<IEnumerable<FilmDto>> GetAllMoviesInCityWithPuskinCard(string cityName)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        return await _publicDataService.GetAllFilmsInCity(cityName);
 | 
					        return await _publicDataService.GetAllFilmsInCity(cityName);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -18,6 +18,8 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    <ItemGroup>
 | 
					    <ItemGroup>
 | 
				
			||||||
        <PackageReference Include="AspNetCore.HealthChecks.NpgSql" Version="6.0.2" />
 | 
					        <PackageReference Include="AspNetCore.HealthChecks.NpgSql" Version="6.0.2" />
 | 
				
			||||||
 | 
					        <PackageReference Include="AutoMapper" Version="12.0.1" />
 | 
				
			||||||
 | 
					        <PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="12.0.1" />
 | 
				
			||||||
        <PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.9" />
 | 
					        <PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.9" />
 | 
				
			||||||
        <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.9">
 | 
					        <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.9">
 | 
				
			||||||
         <PrivateAssets>all</PrivateAssets>
 | 
					         <PrivateAssets>all</PrivateAssets>
 | 
				
			||||||
@@ -37,4 +39,5 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
</Project>
 | 
					</Project>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -39,6 +39,9 @@ builder.Services.AddDbContext<DatabaseContext>(options =>
 | 
				
			|||||||
builder.Services.AddHealthChecks()
 | 
					builder.Services.AddHealthChecks()
 | 
				
			||||||
    .AddNpgSql(dbConString);
 | 
					    .AddNpgSql(dbConString);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// AutoMapper
 | 
				
			||||||
 | 
					builder.Services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Services
 | 
					// Services
 | 
				
			||||||
builder.Services.AddScoped<IPublicDataService, PublicDataService>();
 | 
					builder.Services.AddScoped<IPublicDataService, PublicDataService>();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,5 @@
 | 
				
			|||||||
using FichaBackend.Models;
 | 
					using AutoMapper;
 | 
				
			||||||
 | 
					using FichaBackend.Models;
 | 
				
			||||||
using Microsoft.EntityFrameworkCore;
 | 
					using Microsoft.EntityFrameworkCore;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace FichaBackend.Services;
 | 
					namespace FichaBackend.Services;
 | 
				
			||||||
@@ -6,7 +7,7 @@ namespace FichaBackend.Services;
 | 
				
			|||||||
public interface IPublicDataService
 | 
					public interface IPublicDataService
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    public Task<IEnumerable<City>> GetAllCity();
 | 
					    public Task<IEnumerable<City>> GetAllCity();
 | 
				
			||||||
    public Task<IEnumerable<Film>> GetAllFilmsInCity(string cityName);
 | 
					    public Task<IEnumerable<FilmDto>> GetAllFilmsInCity(string cityName);
 | 
				
			||||||
    public Task<IEnumerable<CardQuestion>> GetAllCards();
 | 
					    public Task<IEnumerable<CardQuestion>> GetAllCards();
 | 
				
			||||||
    public Task UpdateFilmsInCity(IEnumerable<FilmDto> films);
 | 
					    public Task UpdateFilmsInCity(IEnumerable<FilmDto> films);
 | 
				
			||||||
    public bool CityExsist(string cityName);
 | 
					    public bool CityExsist(string cityName);
 | 
				
			||||||
@@ -15,10 +16,12 @@ public interface IPublicDataService
 | 
				
			|||||||
public class PublicDataService : IPublicDataService
 | 
					public class PublicDataService : IPublicDataService
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    private readonly DatabaseContext _databaseContext;
 | 
					    private readonly DatabaseContext _databaseContext;
 | 
				
			||||||
 | 
					    public readonly IMapper _mapper;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public PublicDataService(DatabaseContext databaseContext)
 | 
					    public PublicDataService(DatabaseContext databaseContext, IMapper mapper)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        _databaseContext = databaseContext;
 | 
					        _databaseContext = databaseContext;
 | 
				
			||||||
 | 
					        _mapper = mapper;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public async Task<IEnumerable<City>> GetAllCity()
 | 
					    public async Task<IEnumerable<City>> GetAllCity()
 | 
				
			||||||
@@ -26,9 +29,11 @@ public class PublicDataService : IPublicDataService
 | 
				
			|||||||
        return await _databaseContext.Cities.ToListAsync();
 | 
					        return await _databaseContext.Cities.ToListAsync();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public async Task<IEnumerable<Film>> GetAllFilmsInCity(string cityName)
 | 
					    public async Task<IEnumerable<FilmDto>> 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<Film>, List<FilmDto>>(films);
 | 
				
			||||||
 | 
					        return destinations;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public async Task<IEnumerable<CardQuestion>> GetAllCards()
 | 
					    public async Task<IEnumerable<CardQuestion>> GetAllCards()
 | 
				
			||||||
@@ -50,7 +55,7 @@ public class PublicDataService : IPublicDataService
 | 
				
			|||||||
            film.Time = filmDto.Time;
 | 
					            film.Time = filmDto.Time;
 | 
				
			||||||
            film.ImageURL = filmDto.ImageURL;
 | 
					            film.ImageURL = filmDto.ImageURL;
 | 
				
			||||||
            film.Url = filmDto.Url;
 | 
					            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);
 | 
					            await _databaseContext.Films.AddAsync(film);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										13
									
								
								FichaBackend/Utils/MappingProfiles.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								FichaBackend/Utils/MappingProfiles.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
				
			|||||||
 | 
					using AutoMapper;
 | 
				
			||||||
 | 
					using FichaBackend.Models;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace FichaBackend.Utils;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class MappingProfiles : Profile
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public MappingProfiles()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        CreateMap<FilmDto, Film>();
 | 
				
			||||||
 | 
					        CreateMap<Film, FilmDto>();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user