public ActionResult Command(string deviceId, Command command)
 {
     var model = new CommandModel
     {
         DeviceId = deviceId,
         Name = command.Name,
         Parameters = command.Parameters.ToParametersModel().ToList()
     };
     return PartialView("_SendCommandForm", model);
 }
        public async Task<ActionResult> SendCommand(CommandModel model)
        {
            if (ModelState.IsValid)
            {
                IDictionary<String, Object> parameters = new Dictionary<string, object>();

                if (model.Parameters != null)
                {
                    foreach (var parameter in model.Parameters)
                    {
                        parameters.Add(new KeyValuePair<string, object>(parameter.Name,
                            _commandParameterTypeLogic.Get(parameter.Type, parameter.Value)));
                    }
                }

                await _deviceLogic.SendCommandAsync(model.DeviceId, model.Name, parameters);
 
                return Json(new {data = model});
            }

            return PartialView("_SendCommandForm", model);
        }