public (IPlatform, ErrorResult) Update(IPlatform candidatePlatform) { var platform = new Models.Platform(candidatePlatform); var(isValid, isValidForUpdateErrorResult) = platform.IsValidForUpdate(); if (!isValid) { return(Models.Platform.EmptyPlatform, isValidForUpdateErrorResult); } (IPlatform updatedPlatform, ErrorResult errorResult) = _repo.Update(platform); if (errorResult != ErrorResult.None) { return(Models.Platform.EmptyPlatform, errorResult); } return(updatedPlatform, ErrorResult.None); }