public async Task DeleteFamilyAsync(int familyId) { // Authorize user // Validate input #region Validate input /// TODO: think of a strategy for validation => one solution to have one validation class that creates only /// one SQL call to check different validations => only one SQL access for validation #endregion // Execute business behaviour await familyRepository.DeleteFamilyAsync(familyId); // Validate results // Validate data access rights // Return results }