Обновил выдачу направлений
All checks were successful
Create and publish a Docker image / build-and-push-image (push) Successful in 17s
All checks were successful
Create and publish a Docker image / build-and-push-image (push) Successful in 17s
This commit is contained in:
parent
3260da9b78
commit
23e334f201
@ -99,19 +99,5 @@ public class AdminController : ControllerBase
|
|||||||
|
|
||||||
return BadRequest(result);
|
return BadRequest(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// TODO: Переделать
|
|
||||||
/// <summary>
|
|
||||||
/// Добавление направления университета
|
|
||||||
/// </summary>
|
|
||||||
[HttpPost("universities/directions")]
|
|
||||||
public async Task<ActionResult> AddUniversityDirection([FromBody] UniversityDirection universityDirection)
|
|
||||||
{
|
|
||||||
await _adminService.AddUniversityDirection(universityDirection);
|
|
||||||
return Ok();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
@ -28,8 +28,8 @@ public class PublicController : ControllerBase
|
|||||||
/// Получение всех направлений университета
|
/// Получение всех направлений университета
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <response code="400">Университет не найден</response>
|
/// <response code="400">Университет не найден</response>
|
||||||
[HttpGet("university/{id}/direction")]
|
[HttpGet("university/{id}/directions")]
|
||||||
public async Task<ActionResult<IEnumerable<UniversityDto>>> GetAllUniversityDirectionByUniversityId(long id)
|
public async Task<ActionResult<IEnumerable<UniversityDirectionDto>>> GetAllUniversityDirectionByUniversityId(long id)
|
||||||
{
|
{
|
||||||
var result = await _publicService.GetAllUniversityDirectionByUniversityId(id);
|
var result = await _publicService.GetAllUniversityDirectionByUniversityId(id);
|
||||||
|
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using PaydayBackend.Models;
|
||||||
|
using PaydayBackend.Services;
|
||||||
|
|
||||||
namespace PaydayBackend.Controllers;
|
namespace PaydayBackend.Controllers;
|
||||||
|
|
||||||
@ -6,11 +8,22 @@ namespace PaydayBackend.Controllers;
|
|||||||
[ApiController]
|
[ApiController]
|
||||||
public class UniversityController : ControllerBase
|
public class UniversityController : ControllerBase
|
||||||
{
|
{
|
||||||
|
private readonly IAdminService _adminService;
|
||||||
|
|
||||||
public UniversityController()
|
public UniversityController(IAdminService adminService)
|
||||||
{
|
{
|
||||||
|
_adminService = adminService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Добавление направления университета
|
||||||
|
/// </summary>
|
||||||
|
/// <response code="400">Университет не найден</response>
|
||||||
|
[HttpPost("universities/directions")]
|
||||||
|
public async Task<ActionResult<string>> AddUniversityDirection([FromBody] UniversityDirectionDto universityDirection)
|
||||||
|
{
|
||||||
|
var result = await _adminService.AddUniversityDirection(universityDirection);
|
||||||
|
return result == "OK" ? Ok() : BadRequest(result);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -1,4 +1,5 @@
|
|||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
|
||||||
namespace PaydayBackend.Models;
|
namespace PaydayBackend.Models;
|
||||||
|
|
||||||
@ -9,5 +10,6 @@ public class University
|
|||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
public string FullName { get; set; }
|
public string FullName { get; set; }
|
||||||
public string ImageUrl { get; set; }
|
public string ImageUrl { get; set; }
|
||||||
|
[NotMapped]
|
||||||
public List<UniversityDirection> Directions { get; set; } = null;
|
public List<UniversityDirection> Directions { get; set; } = null;
|
||||||
}
|
}
|
@ -12,5 +12,6 @@ public class UniversityDirection
|
|||||||
public long UniversityId { get; set; }
|
public long UniversityId { get; set; }
|
||||||
public string Code { get; set; }
|
public string Code { get; set; }
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
|
public string Url { get; set; }
|
||||||
public int PlaceCost { get; set; }
|
public int PlaceCost { get; set; }
|
||||||
}
|
}
|
26
PaydayBackend/Models/UniversityDirectionDTO.cs
Normal file
26
PaydayBackend/Models/UniversityDirectionDTO.cs
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace PaydayBackend.Models;
|
||||||
|
|
||||||
|
public class UniversityDirectionDto
|
||||||
|
{
|
||||||
|
public UniversityDirectionDto(long id, long universityId, string code, string name, string url, int placeCost)
|
||||||
|
{
|
||||||
|
Id = id;
|
||||||
|
UniversityId = universityId;
|
||||||
|
Code = code;
|
||||||
|
Name = name;
|
||||||
|
Url = url;
|
||||||
|
PlaceCost = placeCost;
|
||||||
|
}
|
||||||
|
|
||||||
|
public long Id { get; set; }
|
||||||
|
public long UniversityId { get; set; }
|
||||||
|
[MinLength(5)]
|
||||||
|
[MaxLength(10)]
|
||||||
|
public string Code { get; set; }
|
||||||
|
[MaxLength(50)]
|
||||||
|
public string Name { get; set; }
|
||||||
|
public string Url { get; set; }
|
||||||
|
public int PlaceCost { get; set; }
|
||||||
|
}
|
@ -7,14 +7,17 @@ namespace PaydayBackend.Services;
|
|||||||
|
|
||||||
public interface IAdminService
|
public interface IAdminService
|
||||||
{
|
{
|
||||||
|
// Bank
|
||||||
public Task<string> AddBank(string bankName, IFormFile file);
|
public Task<string> AddBank(string bankName, IFormFile file);
|
||||||
public Task<IEnumerable<Bank>> GetAllBanks();
|
public Task<IEnumerable<Bank>> GetAllBanks();
|
||||||
public Task AddLoanTerm(LoanTerm loanTerm);
|
public Task AddLoanTerm(LoanTerm loanTerm);
|
||||||
public Task<string> RemoveAllLoanTermsByBankId(long bankId);
|
public Task<string> RemoveAllLoanTermsByBankId(long bankId);
|
||||||
public Task<IEnumerable<LoanTerm>?> GetAllLoanTermsByBankId(long bankId);
|
public Task<IEnumerable<LoanTerm>?> GetAllLoanTermsByBankId(long bankId);
|
||||||
|
// University
|
||||||
|
public Task<bool> UniversityIsExist(long universityId);
|
||||||
public Task<IEnumerable<University>> GetAllUniversity();
|
public Task<IEnumerable<University>> GetAllUniversity();
|
||||||
public Task<string> AddUniversity(string shortName, string fullName, IFormFile file);
|
public Task<string> AddUniversity(string shortName, string fullName, IFormFile file);
|
||||||
public Task AddUniversityDirection(UniversityDirection universityDirection);
|
public Task<string> AddUniversityDirection(UniversityDirectionDto universityDirection);
|
||||||
}
|
}
|
||||||
|
|
||||||
public class AdminService : IAdminService
|
public class AdminService : IAdminService
|
||||||
@ -29,6 +32,14 @@ public class AdminService : IAdminService
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task<bool> UniversityIsExist(long universityId)
|
||||||
|
{
|
||||||
|
if (await _databaseContext.Universities.Where(x => x.Id == universityId).FirstOrDefaultAsync() == null)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
public AdminService(DatabaseContext databaseContext, IStorageService storageService)
|
public AdminService(DatabaseContext databaseContext, IStorageService storageService)
|
||||||
{
|
{
|
||||||
@ -136,9 +147,21 @@ public class AdminService : IAdminService
|
|||||||
return "Image not uploaded";
|
return "Image not uploaded";
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task AddUniversityDirection(UniversityDirection universityDirection)
|
public async Task<string> AddUniversityDirection(UniversityDirectionDto dto)
|
||||||
{
|
{
|
||||||
|
var university = await _databaseContext.Universities.Where(x => x.Id == dto.UniversityId).FirstOrDefaultAsync();
|
||||||
|
if (university == null)
|
||||||
|
return "University not found";
|
||||||
|
|
||||||
|
var universityDirection = new UniversityDirection();
|
||||||
|
universityDirection.UniversityId = dto.UniversityId;
|
||||||
|
universityDirection.Name = dto.Name;
|
||||||
|
universityDirection.Code = dto.Code;
|
||||||
|
universityDirection.PlaceCost = dto.PlaceCost;
|
||||||
|
|
||||||
await _databaseContext.UniversityDirections.AddAsync(universityDirection);
|
await _databaseContext.UniversityDirections.AddAsync(universityDirection);
|
||||||
await _databaseContext.SaveChangesAsync();
|
await _databaseContext.SaveChangesAsync();
|
||||||
|
|
||||||
|
return "OK";
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -6,7 +6,7 @@ namespace PaydayBackend.Services;
|
|||||||
public interface IPublicService
|
public interface IPublicService
|
||||||
{
|
{
|
||||||
public Task<IEnumerable<UniversityDto>> GetAllUniversity();
|
public Task<IEnumerable<UniversityDto>> GetAllUniversity();
|
||||||
public Task<IEnumerable<UniversityDirection>?> GetAllUniversityDirectionByUniversityId(long universityId);
|
public Task<IEnumerable<UniversityDirectionDto>?> GetAllUniversityDirectionByUniversityId(long universityId);
|
||||||
public Task<IEnumerable<LoanTerm>?> GetAllLoansByDirectionCost(long universityDirectionId);
|
public Task<IEnumerable<LoanTerm>?> GetAllLoansByDirectionCost(long universityDirectionId);
|
||||||
public Task<long> GetMinPlaceCostByUniversityId(long universityId);
|
public Task<long> GetMinPlaceCostByUniversityId(long universityId);
|
||||||
}
|
}
|
||||||
@ -37,12 +37,20 @@ public class PublicService : IPublicService
|
|||||||
return dtos;
|
return dtos;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<IEnumerable<UniversityDirection>?> GetAllUniversityDirectionByUniversityId(long universityId)
|
public async Task<IEnumerable<UniversityDirectionDto>?> GetAllUniversityDirectionByUniversityId(long universityId)
|
||||||
{
|
{
|
||||||
if (await _databaseContext.Universities.Where(x => x.Id == universityId).FirstOrDefaultAsync() == null)
|
if (await _databaseContext.Universities.Where(x => x.Id == universityId).FirstOrDefaultAsync() == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
return await _databaseContext.UniversityDirections.Where(x => x.UniversityId == universityId).ToListAsync();
|
var result = await _databaseContext.UniversityDirections.Where(x => x.UniversityId == universityId).ToListAsync();
|
||||||
|
List<UniversityDirectionDto> dtos = new List<UniversityDirectionDto>();
|
||||||
|
foreach (var item in result)
|
||||||
|
{
|
||||||
|
UniversityDirectionDto dto = new UniversityDirectionDto(item.Id, item.UniversityId, item.Code, item.Name, item.Url, item.PlaceCost);
|
||||||
|
dtos.Add(dto);
|
||||||
|
}
|
||||||
|
|
||||||
|
return dtos;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<IEnumerable<LoanTerm>?> GetAllLoansByDirectionCost(long universityDirectionId)
|
public async Task<IEnumerable<LoanTerm>?> GetAllLoansByDirectionCost(long universityDirectionId)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user