Обновил выдачу направлений
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
@ -100,18 +100,4 @@ public class AdminController : ControllerBase
|
||||
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>
|
||||
/// <response code="400">Университет не найден</response>
|
||||
[HttpGet("university/{id}/direction")]
|
||||
public async Task<ActionResult<IEnumerable<UniversityDto>>> GetAllUniversityDirectionByUniversityId(long id)
|
||||
[HttpGet("university/{id}/directions")]
|
||||
public async Task<ActionResult<IEnumerable<UniversityDirectionDto>>> GetAllUniversityDirectionByUniversityId(long id)
|
||||
{
|
||||
var result = await _publicService.GetAllUniversityDirectionByUniversityId(id);
|
||||
|
||||
|
@ -1,4 +1,6 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using PaydayBackend.Models;
|
||||
using PaydayBackend.Services;
|
||||
|
||||
namespace PaydayBackend.Controllers;
|
||||
|
||||
@ -6,11 +8,22 @@ namespace PaydayBackend.Controllers;
|
||||
[ApiController]
|
||||
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.Schema;
|
||||
|
||||
namespace PaydayBackend.Models;
|
||||
|
||||
@ -9,5 +10,6 @@ public class University
|
||||
public string Name { get; set; }
|
||||
public string FullName { get; set; }
|
||||
public string ImageUrl { get; set; }
|
||||
[NotMapped]
|
||||
public List<UniversityDirection> Directions { get; set; } = null;
|
||||
}
|
@ -12,5 +12,6 @@ public class UniversityDirection
|
||||
public long UniversityId { get; set; }
|
||||
public string Code { get; set; }
|
||||
public string Name { get; set; }
|
||||
public string Url { 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
|
||||
{
|
||||
// Bank
|
||||
public Task<string> AddBank(string bankName, IFormFile file);
|
||||
public Task<IEnumerable<Bank>> GetAllBanks();
|
||||
public Task AddLoanTerm(LoanTerm loanTerm);
|
||||
public Task<string> RemoveAllLoanTermsByBankId(long bankId);
|
||||
public Task<IEnumerable<LoanTerm>?> GetAllLoanTermsByBankId(long bankId);
|
||||
// University
|
||||
public Task<bool> UniversityIsExist(long universityId);
|
||||
public Task<IEnumerable<University>> GetAllUniversity();
|
||||
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
|
||||
@ -30,6 +33,14 @@ public class AdminService : IAdminService
|
||||
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)
|
||||
{
|
||||
_databaseContext = databaseContext;
|
||||
@ -136,9 +147,21 @@ public class AdminService : IAdminService
|
||||
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.SaveChangesAsync();
|
||||
|
||||
return "OK";
|
||||
}
|
||||
}
|
@ -6,7 +6,7 @@ namespace PaydayBackend.Services;
|
||||
public interface IPublicService
|
||||
{
|
||||
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<long> GetMinPlaceCostByUniversityId(long universityId);
|
||||
}
|
||||
@ -37,12 +37,20 @@ public class PublicService : IPublicService
|
||||
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)
|
||||
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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user