Exemple #1
0
        public IHttpAction Execute(string str)
        {
            try
            {
                Request    = new Request(str);
                Parameters = GetParameters();

                Controller = ControllerRegistry.Get(Request.Uri.Controller);

                try
                {
                    ControllerMethod = GetControllerMethod();
                }
                catch (Exception)
                {
                    return(new MethodNotAllowed());
                }

                if (ControllerMethod.GetParameters().Length > 0 && Request.Body.Length > 0)
                {
                    var serializer = SerializerRegistry.Get(Request.GetField("Content-Type"));
                    var bodyType   = ControllerMethod.GetParameters().Last().ParameterType;
                    Parameters[Parameters.Count - 1] = serializer.Deserialize((string)Parameters[Parameters.Count - 1], bodyType);
                }

                return((IHttpAction)ControllerMethod.Invoke(Controller, Request.Parameters));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                return(new BadRequest());
            }
        }
 internal static void Initialize()
 {
     ledControllers = new Dictionary<byte, ConstructorInfo>();
     foreach (Type type in GetSubtypesInNamespace(Assembly.GetExecutingAssembly(), "CorsairLinkPlusPlus.Driver.CorsairLink.Controller.LED"))
     {
         ILEDController tempInstance = ConstructObjectForInspection(type);
         ledControllers.Add(tempInstance.GetLEDModernControllerID(), type.GetConstructor(new Type[0]));
         ControllerRegistry.Get(tempInstance.Name, type);
     }
 }
        protected void Application_Start()
        {
            RouteRegistry.RegisterRoutes(RouteTable.Routes);
            ViewEngineRegistry.SetViewEngines();

            if (!WindsorContainerSetup.InitializeContainer())
            {
                return;
            }

            JoinedRegistry.Register(WindsorContainerSetup.Container);
            ControllerRegistry.Register(WindsorContainerSetup.Container);
        }
Exemple #4
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
        {
            loggerFactory.AddConsole();

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }


            Order order = new Order()
            {
                Customer = new Customer()
                {
                    Id = "cus123", Address = "1 vegas way", Name = "Anivdelarev"
                }, Id     = "ord123",
                LineItems = { new LineItem()
                              {
                                  ProductId = "prod1", Price = 10.00m, Quantity = 10, ExtendedPrice = 100.00m
                              },
                              new LineItem()
                              {
                                  ProductId = "prod2", Price = 12.00m, Quantity = 10, ExtendedPrice = 120.00m
                              } }, SubTotal = 220.00m,
                NewLineItem = new LineItem()
                {
                    ProductId = "", Price = 0.00m, Quantity = 1
                }
            };
            OrderEntrySample view = new OrderEntrySample(order, new OrderController());
            var htmlConverter     = new HtmlConverter();
            var url = ControllerRegistry.GetControllerUrl <Order>(OrderController.AddItem);

            app.Run(async(context) =>
            {
                if (context.Request.Path == "/")
                {
                    await context.Response.WriteAsync(htmlConverter.Convert(view));
                }
                else
                {
                    await context.Response.WriteAsync(ControllerRegistry.ExecuteController(context.Request.Path, context.Request.Body));
                }
            });
        }
Exemple #5
0
        public override void Call()
        {
            IController controller = ControllerRegistry.Get(GetRequiredArgument <string>("Controller")).New();

            //Set thermistors
            if (controller is ITemperatureDependantController)
            {
                ((ITemperatureDependantController)controller).SetThermistor((IThermistor)RootDevice.FindDeviceByPath(GetRequiredArgument <string>("Thermistor")));
            }

            //Set fixed values
            if (controller is IFixedNumberController)
            {
                ((IFixedNumberController)controller).Value = GetRequiredArgument <double>("Value");
            }

            if (controller is IFixedColorController)
            {
                ((IFixedColorController)controller).Value = GetRequiredArgument <Color>("Value");
            }

            if (controller is IFixedColorCycleController)
            {
                ((IFixedColorCycleController)controller).Value = new List <Color>(GetRequiredArgument <IEnumerable <Color> >("Value")).ToArray();
            }

            //Set curves
            if (controller is ICurveColorController)
            {
                ((ICurveColorController)controller).Value = GetRequiredArgument <ControlCurve <double, Color> >("Value");
            }

            if (controller is ICurveNumberController)
            {
                ((ICurveNumberController)controller).Value = GetRequiredArgument <ControlCurve <double, double> >("Value");
            }

            ((IControllableSensor)Device).Controller = controller;
        }