AzureCosmosDBV3ServiceCollectionExtensions.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using Microsoft.Extensions.DependencyInjection;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Text;
  5. using TEAMModelOS.SDK.Module.AzureCosmosDB.Configuration;
  6. using TEAMModelOS.SDK.Module.AzureCosmosDB.Interfaces;
  7. namespace TEAMModelOS.SDK.Module.AzureCosmosDBV3
  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 AddAzureCosmosDBV3(this IServiceCollection services)
  26. {
  27. var builder = services.AddCosmosDBServerBuilder();
  28. services.AddSingleton<IAzureCosmosDBV3Repository, AzureCosmosDBV3Repository>();
  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. }