Ejemplo n.º 1
0
    public async Task <IActionResult> GetAsync(int id)
    {
        // Act.
        RecoverySample recoverySample = await _recoverySampleRepository.GetByIdAsync(id);

        // Map.
        var output = _mapper.Map <RecoverySampleDto>(recoverySample);

        // Return.
        return(Ok(output));
    }
Ejemplo n.º 2
0
    public async Task <IActionResult> DeleteAsync(int id)
    {
        // Act.
        RecoverySample recoverySample = await _recoverySampleRepository.GetByIdAsync(id);

        Recovery recovery = await _recoveryRepository.GetByIdAsync(recoverySample.Recovery);

        if (!recovery.State.AllowWrite)
        {
            throw new EntityReadOnlyException();
        }

        await _recoverySampleRepository.DeleteAsync(id);

        if (await _recoverySampleRepository.CountAsync(recoverySample.Recovery) == 0)
        {
            recovery.State.TransitionToTodo();
            await _recoveryRepository.SetAuditStatusAsync(recovery.Id, recovery);
        }

        // Return.
        return(NoContent());
    }