You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Program.cs 3.9KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. using System;
  2. using Luticate2.Auth.Business.Auth;
  3. using Luticate2.Auth.Business.Auth.FieldsExpressions;
  4. using Luticate2.Auth.Business.Auth.PartialObjectCopier;
  5. using Luticate2.Auth.Business.FieldsExpressions;
  6. using Luticate2.Auth.Business.FieldsExpressions.Basic;
  7. //using Luticate2.Auth.Business.Pagination.OrderBy;
  8. //using Luticate2.Auth.Business.Pagination.OrderBy.Basic;
  9. using Luticate2.Auth.Business.PartialObjectCopier;
  10. using Luticate2.Auth.ConsoleSample.Commands;
  11. using Luticate2.Auth.DataAccess;
  12. using Luticate2.Auth.DataAccess.Models;
  13. using Luticate2.Auth.Dbo.Auth;
  14. using Luticate2.Auth.Interfaces;
  15. using Microsoft.EntityFrameworkCore;
  16. using Microsoft.Extensions.DependencyInjection;
  17. using NClap.Metadata;
  18. using NClap.Repl;
  19. namespace Luticate2.Auth.ConsoleSample
  20. {
  21. enum CommandsEnum
  22. {
  23. [Command(typeof(ListCommand), Description = "Lists Luticate2 items", LongName = "ls", ShortName = "l")]
  24. ListItems,
  25. [Command(typeof(CreateCommand), Description = "Creates Luticate2 items", LongName = "create", ShortName = "c")]
  26. CreateItems,
  27. [Command(typeof(ExitCommand), Description = "Exits the shell")]
  28. Exit
  29. }
  30. class Program
  31. {
  32. public static IServiceProvider ServiceProvider;
  33. static void Main(string[] args)
  34. {
  35. IServiceCollection services = new ServiceCollection();
  36. services.AddScoped<LuGroupsBusiness>();
  37. services.AddSingleton<ILuPartialObjectCopier<LuObjectsMetadata, LuObjectsMetadataDbo>, LuPOCObjectsMetadataToDbo>();
  38. services.AddSingleton<ILuPartialObjectCopier<LuGroups, LuGroupDbo>, LuPOCGroupsToDbo>();
  39. services.AddSingleton<ILuPartialObjectCopier<LuGroupDbo, LuGroups>, LuPOCGroupsToModel>();
  40. services.AddSingleton<ILuFieldsExpressions<LuObjectsMetadataDbo, LuObjectsMetadata>, LuFieldsExpressionsLuMetadataDboLuMetadata>();
  41. services.AddSingleton<ILuFieldsExpressions<LuGroupDbo, LuGroups>, LuFieldsExpressionsLuGroupDboLuGroups>();
  42. services.AddSingleton<ILuFieldsExpressions<string, string>, LuFieldsExpressionsString>();
  43. services.AddSingleton<ILuFieldsExpressions<int, int>, LuFieldsExpressions<int, int>>();
  44. services.AddSingleton<ILuFieldsExpressions<Guid, Guid>, LuFieldsExpressions<Guid, Guid>>();
  45. services.AddSingleton<ILuFieldsExpressions<DateTime, DateTime>, LuFieldsExpressions<DateTime, DateTime>>();
  46. services.AddSingleton<ILuFieldsExpressions<DateTimeOffset, DateTimeOffset>, LuFieldsExpressions<DateTimeOffset, DateTimeOffset>>();
  47. services.AddSingleton<ILuFieldsExpressions<DateTime, DateTimeOffset>, LuFieldsExpressions<DateTime, DateTimeOffset>>();
  48. services.AddSingleton<ILuFieldsExpressions<DateTimeOffset, DateTime>, LuFieldsExpressions<DateTimeOffset, DateTime>>();
  49. services.AddSingleton<ILuFieldsExpressions<DateTime?, DateTime?>, LuFieldsExpressions<DateTime?, DateTime?>>();
  50. services.AddSingleton<ILuFieldsExpressions<DateTimeOffset?, DateTimeOffset?>, LuFieldsExpressions<DateTimeOffset?, DateTimeOffset?>>();
  51. services.AddSingleton<ILuFieldsExpressions<DateTime?, DateTimeOffset?>, LuFieldsExpressions<DateTime?, DateTimeOffset?>>();
  52. services.AddSingleton<ILuFieldsExpressions<DateTimeOffset?, DateTime?>, LuFieldsExpressions<DateTimeOffset?, DateTime?>>();
  53. services.AddDbContext<Luticate2DbContext>(options =>
  54. {
  55. options.UseNpgsql(@"Host=localhost;Database=luticate2;Username=dev;Password=dev");
  56. options.UseInternalServiceProvider(new ServiceCollection()
  57. .AddEntityFrameworkNpgsql()
  58. .BuildServiceProvider());
  59. }, ServiceLifetime.Transient);
  60. ServiceProvider = services.BuildServiceProvider();
  61. var loop = new Loop(typeof(CommandsEnum));
  62. loop.Execute();
  63. }
  64. }
  65. }