コード例 #1
0
 public void SetTarget(SignTargetUI toConfigure)
 {
     ResponseObject = toConfigure;
     Configuring = toConfigure.Target;
     InitialConfiguration = Configuring.CurrentConfiguration();
     ResetView();
 }
コード例 #2
0
 public void ConfigurationChange()
 {
     SignConfiguration newConfiguration = new SignConfiguration(Elements.Select(e => e.Location).ToArray());
     Configuring.ApplyConfiguration(newConfiguration);
     SetIdentify(checkBox1.Checked);
     ParentWindow.UpdateConfiguration(ResponseObject);
 }
コード例 #3
0
ファイル: SignPreview.cs プロジェクト: sgstair/ledsign
 public void ApplyConfiguration(SignConfiguration configuration)
 {
     lock (lockObj)
     {
         CurrentConfig = configuration;
     }
     ResizeForConfiguration();
 }
コード例 #4
0
ファイル: SignAnimate.cs プロジェクト: sgstair/ledsign
 public void SetConfiguration(SignConfiguration c)
 {
     lock(this)
     {
         if(Render == null)
         {
             Render = new SignRender();
         }
         Render.SetConfiguration(c);
     }
 }
コード例 #5
0
ファイル: SignPreview.cs プロジェクト: sgstair/ledsign
        public SignPreview()
        {
            lockObj = new object();
            SignName = "Sign Preview";
            if (PreviewIndex > 1)
                SignName += " " + PreviewIndex;
            PreviewIndex++;

            InitializeComponent();

            Text = SignName;

            SignComponent[] c  = new SignComponent[2];
            c[0] = new SignComponent() { X = 0, Y = 0, Width = 32, Height = 32 };
            c[1] = new SignComponent() { X = 32, Y = 0, Width = 32, Height = 32 };
            CurrentConfig = new SignConfiguration(c);
            ResizeForConfiguration();
        }
コード例 #6
0
ファイル: TargetTestBoard.cs プロジェクト: sgstair/ledsign
        public TargetTestBoard()
        {
            TestBoard = null;
            foreach(var dev in SignTest.Enumerate())
            {
                try
                {
                    TestBoard = new SignTest(dev);
                    break;
                }
                catch { }
            }
            if (TestBoard == null)
                throw new Exception("Unable to attach to a Sign Test board.");

            SignComponent[] c = new SignComponent[1];
            c[0] = new SignComponent() { X = 0, Y = 0, Width = 32, Height = 32 };
            CurrentConfig = new SignConfiguration(c);

            // Initialize test board.

            TestBoard.SetMode(SignTest.DeviceMode.On);
            TestBoard.SetMode(SignTest.DeviceMode.FpgaActive);
        }
コード例 #7
0
ファイル: SignPreview.cs プロジェクト: sgstair/ledsign
 public bool SupportsConfiguration(SignConfiguration configuration)
 {
     return true;
 }
コード例 #8
0
ファイル: TargetTestBoard.cs プロジェクト: sgstair/ledsign
 public void ApplyConfiguration(SignConfiguration configuration)
 {
     CurrentConfig = configuration;
 }
コード例 #9
0
 public UserService(IUserServiceSqlServer userServiceSqlServer, SignConfiguration signConfiguration, TokenConfiguration tokenConfiguration)
 {
     _userServiceSqlServer = userServiceSqlServer;
     _signConfiguration    = signConfiguration;
     _tokenConfiguration   = tokenConfiguration;
 }
コード例 #10
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

            #region Registra o controle de versionamento

            //services.AddApiVersioning();

            //services.AddApiVersioning(p =>
            //{
            //    p.DefaultApiVersion = new ApiVersion(1, 0);
            //    p.ReportApiVersions = true;
            //    p.AssumeDefaultVersionWhenUnspecified = true;
            //});

            //services.AddVersionedApiExplorer(p =>
            //{
            //    p.GroupNameFormat = "'v'VVV";
            //    p.SubstituteApiVersionInUrl = true;
            //});

            #endregion

            #region Registra o banco de dados

            var connection = _configuration["SQLServerConnection:SQLServerConnectionString"];
            services.AddDbContext <SQLServerContext>(options => options.UseSqlServer(connection));

            #endregion

            #region Executa o Migration

            //if (_environment.IsDevelopment())
            //{


            //    try
            //    {
            //        var envolveConnection = new System.Data.SqlClient.SqlConnection(connection);
            //        var envolve = new Evolve.Evolve(envolveConnection, msg => _logger.LogInformation(msg))
            //        {
            //            Locations = new List<string>() { "db/migrations" },
            //            IsEraseDisabled = true
            //        };

            //        envolve.Migrate();
            //    }
            //    catch (Exception ex)
            //    {
            //        _logger.LogCritical("Erro ao realizar o 'Migration': " + ex.Message);
            //        throw;
            //    }
            //}
            #endregion

            #region Registra o modelo de autenticação via JWT

            var signConfiguration = new SignConfiguration();
            services.AddSingleton(signConfiguration);

            var tokenConfiguration = new TokenConfiguration();

            new ConfigureFromConfigurationOptions <TokenConfiguration>(
                _configuration.GetSection("TokenConfigurations")
                ).Configure(tokenConfiguration);

            services.AddSingleton(tokenConfiguration);

            services.AddAuthentication(authOptions =>
            {
                authOptions.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
                authOptions.DefaultChallengeScheme    = JwtBearerDefaults.AuthenticationScheme;
            }).AddJwtBearer(bearerOptions =>
            {
                var paramsValidation = bearerOptions.TokenValidationParameters;
                paramsValidation.IssuerSigningKey = signConfiguration.Key;
                paramsValidation.ValidateAudience = string.IsNullOrEmpty(tokenConfiguration.Audience);
                paramsValidation.ValidateIssuer   = string.IsNullOrEmpty(tokenConfiguration.Issuer);

                paramsValidation.ValidateIssuerSigningKey = true;
                paramsValidation.ValidateLifetime         = true;
                paramsValidation.ClockSkew = TimeSpan.Zero;
            });

            services.AddAuthorization(auth =>
            {
                auth.AddPolicy("Bearer", new AuthorizationPolicyBuilder()
                               .AddAuthenticationSchemes(JwtBearerDefaults.AuthenticationScheme)
                               .RequireAuthenticatedUser().Build());
            });

            #endregion

            #region Registra os links Hypermedia (HATEOAS)

            //var filterOptions = new HyperMediaFilterOptions();
            //filterOptions.ObjectContentResponseEnricherList.Add(new UsuariosEnricher());

            //services.AddSingleton(filterOptions);

            #endregion

            #region  Registra as dependências da camada de serviços

            services.AddScoped <IUserService, UserService>();
            services.AddScoped <IPizzaService, PizzaService>();
            services.AddScoped <IPedidoService, PedidoService>();
            services.AddScoped <IPersonalizacaoService, PersonalizacaoService>();

            #endregion

            #region  Registra as dependências da camada de dados

            services.AddScoped <IUserServiceSqlServer, UserServiceSqlServer>();
            services.AddScoped <IPedidoPersonalizacaoServiceSqlServer, PersonalizacaoPedidoServiceSqlServer>();
            services.AddScoped <IPedidoServiceSqlServer, PedidoServiceSqlServer>();
            services.AddScoped <IPersonalizacaoServiceSqlServer, PersonalizacaoServiceSqlServer>();

            #endregion

            #region Registra o Swagger

            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo
                {
                    Title   = "Serviços disponíveis para o Pizza Hot.",
                    Version = "v1"
                });
            });

            #endregion
        }