Пример #1
0
        public bool Connect(CoreComOptions coreComOptions)
        {
            _coreComOptions = coreComOptions;
            //start timmer for connect to server
            _timer.Interval = Convert.ToDouble(1000);
            _timer.Enabled  = true;

            _checkQueueTimer.Interval = Convert.ToDouble(coreComOptions.GrpcOptions.RequestServerQueueIntervalSec * 1000);

            var optionsBuilder = new DbContextOptionsBuilder <CoreComContext>();

            switch (coreComOptions.DatabaseMode)
            {
            case DatabaseModeEnum.UseInMemory:
                optionsBuilder.UseInMemoryDatabase(databaseName: "CoreComDb");
                optionsBuilder.UseBatchEF_Sqlite();
                break;

            case DatabaseModeEnum.UseSqlite:
                string dbPath = Path.Combine(FileSystem.AppDataDirectory, "CoreComDb.db3");
                optionsBuilder.UseSqlite($"Filename={dbPath}");
                optionsBuilder.UseBatchEF_Sqlite();
                break;

            default:
                break;
            }
            _dbContextOptions = optionsBuilder.Options;
            RemoveHistory();
            return(true);
        }
Пример #2
0
        public bool SetupCoreComServer()
        {
            _coreComOptions = new CoreComOptions
            {   //debug on android emulator
                ServerAddress = (Device.RuntimePlatform == Device.Android ? "https://10.0.2.2:5001" : "https://localhost:5001"),
                //azure debug
                //ServerAddress = "https://wallteccorecomtestserver.azurewebsites.net",
                DatabaseMode = DatabaseModeEnum.UseSqlite,
                GrpcOptions  = new GrpcOptions
                {
                    RequestServerQueueIntervalSec = 30,
                    MessageDeadlineSec            = 30
                },
                LogSettings = new LogSettings
                {
                    LogMessageTarget      = LogMessageTargetEnum.Database,
                    LogMessageHistoryDays = 10,
                    LogEventTarget        = LogEventTargetEnum.NoLoging,
                    LogEventHistoryDays   = 10,
                    LogErrorTarget        = LogErrorTargetEnum.NoLoging,
                    LogErrorHistoryDays   = 10
                }
            };

//Debug local on mac where the server is running in "Kestrel": { "EndpointDefaults": { "Protocols": "Http1"  }  }
#if DEBUG
            _coreComOptions.DangerousAcceptAnyServerCertificateValidator = true;
#endif
            return(true);
        }
Пример #3
0
        public MyService(IServiceScopeFactory serviceScopeFactory, CoreComOptions coreComOptions) : base(coreComOptions)
        {
            _serviceScopeFactory = serviceScopeFactory;
            //this functions are public
            Register(CoreComSignatures.RequestAllProjects, GetAllProjectsFromDb);

            //This need that the user have token
            RegisterAuth <Project>(CoreComSignatures.AddProject, AddProjectsToDb);
            RegisterAuth <Project>(CoreComSignatures.DeleteProject, DeleteProject);
        }
Пример #4
0
 public CoreComService(CoreComOptions coreComOptions)
 {
     _coreComOptions = coreComOptions;
 }