Поиск Done
This commit is contained in:
parent
0717772516
commit
b80493698a
@ -9,5 +9,7 @@ namespace Domain.Repository
|
|||||||
Task AddAsync(City city);
|
Task AddAsync(City city);
|
||||||
Task UpdateAsync(City city);
|
Task UpdateAsync(City city);
|
||||||
Task DeleteAsync(City city);
|
Task DeleteAsync(City city);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,5 +9,8 @@ namespace Domain.Repository
|
|||||||
Task AddAsync(Street street);
|
Task AddAsync(Street street);
|
||||||
Task UpdateAsync(Street street);
|
Task UpdateAsync(Street street);
|
||||||
Task DeleteAsync(Street street);
|
Task DeleteAsync(Street street);
|
||||||
|
|
||||||
|
//Фичи
|
||||||
|
Task<List<Street>> SearchAsync(string query);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -37,6 +37,14 @@ namespace Persistence.Repositories
|
|||||||
.FirstOrDefaultAsync(s => s.Id == id);
|
.FirstOrDefaultAsync(s => s.Id == id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task<List<Street>> SearchAsync(string query)
|
||||||
|
{
|
||||||
|
return await _dbContext.Streets
|
||||||
|
.Where(s => s.Name.Contains(query))
|
||||||
|
.OrderBy(s => s.Name)
|
||||||
|
.ToListAsync();
|
||||||
|
}
|
||||||
|
|
||||||
public async Task UpdateAsync(Street street)
|
public async Task UpdateAsync(Street street)
|
||||||
{
|
{
|
||||||
_dbContext.Streets.Update(street);
|
_dbContext.Streets.Update(street);
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using Contracts;
|
using Contracts;
|
||||||
|
using Domain.Entities;
|
||||||
|
|
||||||
namespace Services.Abstractions
|
namespace Services.Abstractions
|
||||||
{
|
{
|
||||||
@ -9,5 +10,8 @@ namespace Services.Abstractions
|
|||||||
Task<StreetDto> CreateAsync(StreetDtoForCreate streetDto);
|
Task<StreetDto> CreateAsync(StreetDtoForCreate streetDto);
|
||||||
Task UpdateAsync(Guid streetId, StreetDtoForUpdate street);
|
Task UpdateAsync(Guid streetId, StreetDtoForUpdate street);
|
||||||
Task DeleteAsync(Guid streetId);
|
Task DeleteAsync(Guid streetId);
|
||||||
|
|
||||||
|
//Фичи
|
||||||
|
Task<List<StreetDto>> SearchAsync(string query);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,6 +53,16 @@ namespace Services
|
|||||||
return _mapper.Map<StreetDto>(street);
|
return _mapper.Map<StreetDto>(street);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task<List<StreetDto>> SearchAsync(string query)
|
||||||
|
{
|
||||||
|
if (query == null)
|
||||||
|
{
|
||||||
|
throw new KeyNotFoundException("Query cannot be empty");
|
||||||
|
}
|
||||||
|
var streets = await _streetRepository.SearchAsync(query);
|
||||||
|
return _mapper.Map<List<StreetDto>>(streets);
|
||||||
|
}
|
||||||
|
|
||||||
public async Task UpdateAsync(Guid streetId, StreetDtoForUpdate streetDto)
|
public async Task UpdateAsync(Guid streetId, StreetDtoForUpdate streetDto)
|
||||||
{
|
{
|
||||||
var street = await _streetRepository.GetByIdAsync(streetId);
|
var street = await _streetRepository.GetByIdAsync(streetId);
|
||||||
|
@ -16,8 +16,8 @@ namespace Web.Controllers
|
|||||||
[HttpGet]
|
[HttpGet]
|
||||||
public async Task<IActionResult> GetAllAsync()
|
public async Task<IActionResult> GetAllAsync()
|
||||||
{
|
{
|
||||||
var cities = await _streetService.GetAllAsync();
|
var steets = await _streetService.GetAllAsync();
|
||||||
return Ok(cities);
|
return Ok(steets);
|
||||||
}
|
}
|
||||||
[HttpGet("{id:guid}")]
|
[HttpGet("{id:guid}")]
|
||||||
public async Task<IActionResult> GetByIdAsync(Guid id)
|
public async Task<IActionResult> GetByIdAsync(Guid id)
|
||||||
@ -73,5 +73,13 @@ namespace Web.Controllers
|
|||||||
|
|
||||||
return NoContent();
|
return NoContent();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Фичи
|
||||||
|
[HttpGet("search")]
|
||||||
|
public async Task<IActionResult> SearchStreet([FromQuery] string query)
|
||||||
|
{
|
||||||
|
var streets = await _streetService.SearchAsync(query);
|
||||||
|
return Ok(streets);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user