public async Task <IActionResult> Get(int id, [FromQuery] bool forUpdate = false) { if (id < 1) { return(new NotFoundResult()); } if (forUpdate) { var unitOfWork = _serviceProvider.GetService <IUnitOfWork <Vehicle> >(); HttpContext.Response.RegisterForDispose(unitOfWork); var result = await unitOfWork.Repo.LoadAsync(id, User, true); // return version for tracking on vehicle. It is not // part of the C# class so it is tracked as a "shadow property" var concurrencyResult = new VehicleConcurrencyResolver { OriginalVehicle = result, RowVersion = result == null ? null : await unitOfWork.Repo.GetPropertyValueAsync <byte[]>( result, VehicleContext.RowVersion) }; return(new OkObjectResult(concurrencyResult)); } else { var result = await _repo.LoadAsync(id, User); return(result == null ? (IActionResult) new NotFoundResult() : new OkObjectResult(result)); } }
public async Task <IActionResult> GetCalculation(int calculationId) { var result = await _repository.LoadAsync(calculationId, User); return(Accepted(result)); }