95 lines
2.6 KiB
C#
95 lines
2.6 KiB
C#
using xCommons.Extensions;
|
|
using xDataService.Constants;
|
|
using xDataService.Models;
|
|
|
|
namespace xDataService.Extensions
|
|
{
|
|
public static class XDatabaseDescriptorExtensions
|
|
{
|
|
/// <summary>
|
|
/// Validate a Database Descriptor ...
|
|
/// </summary>
|
|
/// <param name="source"></param>
|
|
/// <returns></returns>
|
|
public static bool IsValid(this XDatabaseDescriptor source)
|
|
{
|
|
//
|
|
var result =
|
|
!source.IsNull() &&
|
|
!source.Name.IsNullOrEmpty();
|
|
|
|
//
|
|
return result;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Chack a Descriptor Has Provider or not ...
|
|
/// </summary>
|
|
/// <param name="source"></param>
|
|
/// <returns></returns>
|
|
public static bool HasProvider(this XDatabaseDescriptor source)
|
|
{
|
|
//
|
|
var result =
|
|
source.IsValid() &&
|
|
source.Provider != XDbProviders.None;
|
|
|
|
//
|
|
return result;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Check a Descriptor Has EF Core Context or not ...
|
|
/// </summary>
|
|
/// <param name="source"></param>
|
|
/// <returns></returns>
|
|
public static bool HasContext(this XDatabaseDescriptor source)
|
|
{
|
|
//
|
|
var result =
|
|
source.IsValid() &&
|
|
source.HasProvider() &&
|
|
source.Provider != XDbProviders.MongoDB &&
|
|
!source.Context.IsNull();
|
|
|
|
//
|
|
return result;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Check a Descriptor Has Repositories or not ...
|
|
/// </summary>
|
|
/// <param name="source"></param>
|
|
/// <returns></returns>
|
|
public static bool HasRepositories(this XDatabaseDescriptor source)
|
|
{
|
|
//
|
|
var result =
|
|
source.IsValid() &&
|
|
source.HasProvider() &&
|
|
!source.Repositories.IsNull() &&
|
|
source.Repositories.HasChild();
|
|
|
|
//
|
|
return result;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Check a Descriptor Has MongoDB Convention Packs ...
|
|
/// </summary>
|
|
/// <param name="source"></param>
|
|
/// <returns></returns>
|
|
public static bool HasConventionPacks(this XDatabaseDescriptor source)
|
|
{
|
|
//
|
|
var result =
|
|
source.IsValid() &&
|
|
source.HasProvider() &&
|
|
source.Provider == XDbProviders.MongoDB &&
|
|
!source.ConventionPacks.IsNull();
|
|
|
|
//
|
|
return result;
|
|
}
|
|
}
|
|
} |