AzureCosmosDBServiceCollectionExtensions.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using TEAMModelOS.SDK.Module.AzureCosmosDB.Implements;
  2. using TEAMModelOS.SDK.Module.AzureCosmosDB.Interfaces;
  3. using Microsoft.Extensions.DependencyInjection;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Text;
  7. namespace TEAMModelOS.SDK.Module.AzureCosmosDB.Configuration
  8. {
  9. public static class AzureCosmosDBServiceCollectionExtensions
  10. {
  11. /// <summary>
  12. ///
  13. /// </summary>
  14. /// <param name="services"></param>
  15. /// <returns></returns>
  16. private static AzureCosmosDBServiceBuilder AddCosmosDBServerBuilder(this IServiceCollection services)
  17. {
  18. return new AzureCosmosDBServiceBuilder(services);
  19. }
  20. /// <summary>
  21. ///
  22. /// </summary>
  23. /// <param name="services"></param>
  24. /// <returns></returns>
  25. public static AzureCosmosDBServiceBuilder AddAzureCosmosDB(this IServiceCollection services)
  26. {
  27. var builder = services.AddCosmosDBServerBuilder();
  28. services.AddSingleton<IAzureCosmosDBRepository, AzureCosmosDBRepository>();
  29. return builder;
  30. }
  31. /// <summary>
  32. ///
  33. /// </summary>
  34. /// <param name="builder"></param>
  35. /// <param name="_connectionString"></param>
  36. /// <returns></returns>
  37. public static AzureCosmosDBServiceBuilder AddCosmosDBConnection(this AzureCosmosDBServiceBuilder builder, AzureCosmosDBOptions databaseOptions)
  38. {
  39. builder.Services.AddSingleton(databaseOptions);
  40. return builder;
  41. }
  42. }
  43. }