Exemplo n.º 1
0
        public async Task <IActionResult> ProduceUnits([FromBody] UnitProductionRequest request)
        {
            var identityContext = new IdentityContext(HttpContext);
            var startTime       = await _mediator.Send(new UnitProductionStart.Command(request, identityContext));

            var jobId = _mediator.Schedule(
                $"{identityContext.UserId} creates {request.Amount} {request.NameOfUnitType}",
                new UnitProductionProcess.Command(request.CityIndex, request.NameOfUnitType, request.Amount, identityContext, startTime),
                startTime);

            await _mediator.Send(new AddJobIdToUnitQueue.Command(jobId, identityContext.UserId, request.NameOfUnitType,
                                                                 request.CityIndex, request.Amount));

            return(Ok(jobId));
        }
Exemplo n.º 2
0
 public record Command(UnitProductionRequest Request) : IRequest <Unit>;
Exemplo n.º 3
0
 public record Command(UnitProductionRequest Request, IIdentityContext IdentityContext) : IRequest <DateTime>;