using xCommons.Extensions; using xDataService.Models; namespace xDataService.Extensions { public static class XRepositoryDescriptorExtensions { /// /// Validate a Descriptor ... /// /// /// public static bool IsValid(this XRepositoryDescriptor source) { var result = !source.IsNull() && !source.Key.IsNull() && !source.Entity.IsNull(); // return result; } /// /// Check a Descriptor Has Events Service or not ... /// /// /// public static bool HasEvents(this XRepositoryDescriptor source) { // var result = source.IsValid() && !source.EventsService.IsNull() && !source.EventsImplementation.IsNull(); // return result; } /// /// Check a Descriptor Has EF Core Context or not ... /// /// /// public static bool HasContext(this XRepositoryDescriptor source) { // var result = source.IsValid() && !source.Context.IsNull(); // return result; } /// /// Check a Descriptor Has GraphQL Support or not ... /// /// /// public static bool HasGraphSupport(this XRepositoryDescriptor source) { // var result = source.IsValid() && !source.GraphType.IsNull() && !source.GraphQuery.IsNull() && !source.GraphSchema.IsNull() && !source.GraphTypeKey.IsNull() && !source.GraphTypeHelperService.IsNull() && !source.GraphTypeHelperImplementation.IsNull(); // return result; } /// /// Check a Descriptor Has Key Generator Service or not ... /// /// /// public static bool HasKeyGenerator(this XRepositoryDescriptor source) { // var result = source.IsValid() && !source.KeyGeneratorService.IsNull() && !source.KeyGeneratorImplementation.IsNull(); // return result; } /// /// Check a Descriptor Has Repository Service or not ... /// /// /// public static bool HasRepository(this XRepositoryDescriptor source) { // var result = source.IsValid() && !source.RepositoryService.IsNull() && !source.RepositoryImplementation.IsNull(); // return result; } } }