Создание заявки
This commit is contained in:
@@ -21,6 +21,7 @@
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\ApplicationSystem.Contracts\ApplicationSystem.Contracts.csproj" />
|
||||
<ProjectReference Include="..\ApplicationSystem.Database.Applications\ApplicationSystem.Database.csproj" />
|
||||
<ProjectReference Include="..\ApplicationSystem.Identity\ApplicationSystem.Identity.csproj" />
|
||||
<ProjectReference Include="..\ApplicationSystem.MediatrHelper\ApplicationSystem.MediatRHelper.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
using ApplicationSystem.Database.Applications.Database.Context;
|
||||
using ApplicationSystem.Identity.Database.Models;
|
||||
using ApplicationSystem.MediatRHelper.AbstractHandlers;
|
||||
using ApplicationSystem.MediatRHelper.Models;
|
||||
using ApplicationSystem.Models.Commands.ApplicationCommands;
|
||||
using Microsoft.AspNetCore.Identity;
|
||||
|
||||
namespace ApplicationSystem.BusinessLogic.CommandHandlers.ApplicationCommandHandlers
|
||||
{
|
||||
/// <summary>
|
||||
/// Реализация создания заявки
|
||||
/// </summary>
|
||||
/// <param name="logger"></param>
|
||||
public class ApplicationCreateCommandHandler(
|
||||
ILogger<ApplicationCreateCommandHandler> logger,
|
||||
ApplicationContext context,
|
||||
UserManager<ApplicationSystemUser> userManager)
|
||||
: AbstractCommandHandler<ApplicationCreateCommand>(logger)
|
||||
{
|
||||
private readonly ApplicationContext _context = context;
|
||||
private readonly UserManager<ApplicationSystemUser> _userManager = userManager;
|
||||
|
||||
protected override async Task<ResponseModel> HandleAsync(
|
||||
ApplicationCreateCommand request,
|
||||
CancellationToken cancellationToken)
|
||||
{
|
||||
Guid? imageId = null;
|
||||
|
||||
if (request.File != null)
|
||||
{
|
||||
// ToDo
|
||||
}
|
||||
|
||||
await _context.Applications.AddAsync(new()
|
||||
{
|
||||
CreatorId = request.UserId,
|
||||
Text = request.Text,
|
||||
TypeId = request.TypeId,
|
||||
ImageId = imageId
|
||||
}, cancellationToken);
|
||||
|
||||
await _context.SaveChangesAsync(cancellationToken);
|
||||
|
||||
return Ok();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -9,5 +9,9 @@ namespace ApplicationSystem.Models.Commands.ApplicationCommands
|
||||
public record ApplicationCreateCommand
|
||||
: ApplicationCreateRequest, IRequestModel
|
||||
{
|
||||
/// <summary>
|
||||
/// Идентификатор пользователя
|
||||
/// </summary>
|
||||
public Guid UserId { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
18
ApplicationSystem/Models/Enums/ApplicationStatus.cs
Normal file
18
ApplicationSystem/Models/Enums/ApplicationStatus.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
namespace ApplicationSystem.Models.Enums
|
||||
{
|
||||
/// <summary>
|
||||
/// Статус заявки
|
||||
/// </summary>
|
||||
public enum ApplicationStatus
|
||||
{
|
||||
None = 0,
|
||||
|
||||
Open = 1,
|
||||
|
||||
InWork = 2,
|
||||
|
||||
Сompleted = 3,
|
||||
|
||||
Close = 4,
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user