public (IPlatform, ErrorResult) Create(IPlatform candidatePlatform) { var platform = new Models.Platform(candidatePlatform); var(isValid, isValidForCreationErrorResult) = platform.IsValidForCreation(); if (!isValid) { return(Models.Platform.EmptyPlatform, isValidForCreationErrorResult); } (IPlatform createdPlatform, ErrorResult errorResult) = _repo.Create(platform); if (errorResult != ErrorResult.None) { return(Models.Platform.EmptyPlatform, errorResult); } return(createdPlatform, ErrorResult.None); }