コード例 #1
0
        public static async Task <GenericResponse> GetList(string filtro = "", string ordenar_por = "", string orden = "", int Page = 1)
        {
            GenericResponse genericResponse = new GenericResponse();

            try
            {
                List <CloureParam> cparams = new List <CloureParam>();
                cparams.Add(new CloureParam("module", "bank_checks"));
                cparams.Add(new CloureParam("topic", "listar"));
                string res = await CloureManager.ExecuteAsync(cparams);

                JsonObject api_result = JsonObject.Parse(res);
                string     error      = api_result.GetNamedString("Error");
                if (error == "")
                {
                    JsonObject api_response = api_result.GetNamedObject("Response");
                    JsonArray  registers    = api_response.GetNamedArray("Registros");

                    foreach (JsonValue jsonValue in registers)
                    {
                        JsonObject register = jsonValue.GetObject();
                        BankCheck  item     = new BankCheck();
                        item.Id          = (int)register.GetNamedNumber("Id");
                        item.Descripcion = register.GetNamedString("Descripcion");
                        item.Cliente     = register.GetNamedString("Cliente");

                        JsonArray available_commands_arr = register.GetNamedArray("AvailableCommands");
                        item.availableCommands = new List <AvailableCommand>();
                        foreach (JsonValue available_cmd_obj in available_commands_arr)
                        {
                            JsonObject       available_cmd_item  = available_cmd_obj.GetObject();
                            int              available_cmd_id    = (int)available_cmd_item.GetNamedNumber("Id");
                            string           available_cmd_name  = available_cmd_item.GetNamedString("Name");
                            string           available_cmd_title = available_cmd_item.GetNamedString("Title");
                            AvailableCommand availableCommand    = new AvailableCommand(available_cmd_id, available_cmd_name, available_cmd_title);
                            item.availableCommands.Add(availableCommand);
                        }

                        genericResponse.Items.Add(item);
                    }

                    genericResponse.PageString = api_response.GetNamedString("PageString");
                }
                else
                {
                    throw new Exception(error);
                }
            }
            catch (Exception ex)
            {
                var dialog = new MessageDialog(ex.Message);
                await dialog.ShowAsync();
            }

            return(genericResponse);
        }
コード例 #2
0
        /// Emits a true/false status response with an optional message.
        /// </summary>
        /// <param name="command"></param>
        /// <param name="status"></param>
        /// <param name="message"></param>
        public static void EmitStatusResponse(AvailableCommand command, bool status, string message = null)
        {
            var statusResponse = new StatusResponse
            {
                IsSuccessful = status,
                Message      = message
            };

            EmitSerializedOutput(command, statusResponse);
        }
コード例 #3
0
        /// <summary>
        /// Emits the message type with the given data serialized as JSON.
        /// </summary>
        /// <param name="messageType"></param>
        /// <param name="dataToSerialize"></param>
        private static void EmitSerializedOutput(AvailableCommand messageType, object dataToSerialize)
        {
            var serializedString = new JavaScriptSerializer().Serialize(dataToSerialize);

            Store.Data.Pipe.Main.PushMessage(new Message()
            {
                Text = $"{ messageType.GetDescription() } --response={ serializedString }"
            });
            Loggers.CliLogger.Trace($"Emitting response for {messageType.GetDescription()}");
        }
コード例 #4
0
        //begin of room functions
        //returns to the appropriate room
        public static void Room1()
        {
            Console.WriteLine("".PadLeft(45, '-'));
            Console.WriteLine("     ___....-----'---'-----....___");
            Console.WriteLine("=========================================");
            Console.WriteLine("       ___'---..._______...---'___       ");
            Console.WriteLine("      (___)      _|_|_|_      (___)      ");
            Console.WriteLine("        \\____.-'_.---._'-.____//         ");
            Console.WriteLine("          cccc'.__'---'__.'cccc      ");
            Console.WriteLine("                  ccccc");
            Console.WriteLine("".PadLeft(46, '-'));
            Console.WriteLine("You are on the bridge of your starship.");
            Console.WriteLine("Everything is on fire! RED ALERT! RED ALERT!");
            Console.WriteLine("You have found the captain dead!");
            Console.WriteLine("All hope has been lost! Abandon ship!");
            Console.WriteLine("".PadLeft(46, '-'));
            Console.WriteLine("Press 'Enter' to continue...");
            Console.ReadLine();
            Console.WriteLine("".PadLeft(45, '-'));

            while (true)
            {
                AvailableCommand command = CommandHandler();

                CardinalDirection direction;

                if (command == AvailableCommand.Quit)
                {
                    return;
                }
                else
                {
                    direction = Movement(command);

                    switch (direction)
                    {
                    case CardinalDirection.North:
                        Room5();
                        return;

                    case CardinalDirection.South:
                        Console.WriteLine("There is no way out! You are only looking into the vastness of space.");
                        break;

                    case CardinalDirection.East:
                        Room3();
                        return;

                    case CardinalDirection.West:
                        Room2();
                        return;
                    }
                }
            }
        }
コード例 #5
0
        public static async Task <List <Bank> > getList(string filtro = "")
        {
            List <Bank> response = new List <Bank>();

            try
            {
                List <CloureParam> cparams = new List <CloureParam>();
                cparams.Add(new CloureParam("module", "banks"));
                cparams.Add(new CloureParam("topic", "listar"));
                string res = await CloureManager.ExecuteAsync(cparams);

                JsonObject api_result = JsonObject.Parse(res);
                string     error      = api_result.GetNamedString("Error");
                if (error == "")
                {
                    JsonObject api_response = api_result.GetNamedObject("Response");
                    JsonArray  registers    = api_response.GetNamedArray("Registros");

                    foreach (JsonValue jsonValue in registers)
                    {
                        JsonObject register = jsonValue.GetObject();
                        Bank       item     = new Bank();
                        item.Id            = (int)register.GetNamedNumber("Id");
                        item.Name          = register.GetNamedString("Nombre");
                        item.Web           = register.GetNamedString("Web");
                        item.OnlineBanking = register.GetNamedString("OnlineBanking");

                        JsonArray available_commands_arr = register.GetNamedArray("AvailableCommands");
                        item.availableCommands = new List <AvailableCommand>();
                        foreach (JsonValue available_cmd_obj in available_commands_arr)
                        {
                            JsonObject       available_cmd_item  = available_cmd_obj.GetObject();
                            int              available_cmd_id    = (int)available_cmd_item.GetNamedNumber("Id");
                            string           available_cmd_name  = available_cmd_item.GetNamedString("Name");
                            string           available_cmd_title = available_cmd_item.GetNamedString("Title");
                            AvailableCommand availableCommand    = new AvailableCommand(available_cmd_id, available_cmd_name, available_cmd_title);
                            item.availableCommands.Add(availableCommand);
                        }

                        response.Add(item);
                    }
                }
                else
                {
                    throw new Exception(error);
                }
            }
            catch (Exception ex)
            {
                var dialog = new MessageDialog(ex.Message);
                await dialog.ShowAsync();
            }

            return(response);
        }
コード例 #6
0
        public async static Task <List <UserGroup> > GetList()
        {
            List <UserGroup> items = new List <UserGroup>();

            try
            {
                List <CloureParam> cparams = new List <CloureParam>();
                cparams.Add(new CloureParam("module", "users_groups"));
                cparams.Add(new CloureParam("topic", "get_list"));
                string res = await CloureManager.ExecuteAsync(cparams);

                JsonObject api_result = JsonObject.Parse(res);
                string     error      = api_result.GetNamedString("Error");
                if (error == "")
                {
                    JsonObject api_response = api_result.GetNamedObject("Response");
                    JsonArray  registers    = api_response.GetNamedArray("Registros");

                    foreach (JsonValue jsonValue in registers)
                    {
                        JsonObject register = jsonValue.GetObject();
                        UserGroup  item     = new UserGroup();
                        item.Id      = register.GetNamedString("Id");
                        item.Name    = register.GetNamedString("Nombre");
                        item.Type    = register.GetNamedString("TipoGrupoId");
                        item.IsStaff = CloureManager.ParseBoolObject(register.GetNamedValue("PerteneceAEmpresa"));

                        JsonArray available_commands_arr = register.GetNamedArray("AvailableCommands");
                        item.AvailableCommands = new List <AvailableCommand>();
                        foreach (JsonValue available_cmd_obj in available_commands_arr)
                        {
                            JsonObject       available_cmd_item  = available_cmd_obj.GetObject();
                            int              available_cmd_id    = (int)available_cmd_item.GetNamedNumber("Id");
                            string           available_cmd_name  = available_cmd_item.GetNamedString("Name");
                            string           available_cmd_title = available_cmd_item.GetNamedString("Title");
                            AvailableCommand availableCommand    = new AvailableCommand(available_cmd_id, available_cmd_name, available_cmd_title);
                            item.AvailableCommands.Add(availableCommand);
                        }

                        items.Add(item);
                    }
                }
                else
                {
                    throw new Exception(error);
                }
            }
            catch (Exception ex)
            {
                var dialog = new MessageDialog(ex.Message);
                await dialog.ShowAsync();
            }

            return(items);
        }
コード例 #7
0
        /// <summary>
        /// Emits status response for enabling webcam.
        /// </summary>
        /// <param name="webcamValue"></param>
        /// <param name="command"></param>
        /// <param name="status"></param>
        /// <param name="message"></param>
        public static void EmitEnableWebcamResponse(AvailableCommand command, string webcamValue, bool status, string message = null)
        {
            var statusResponse = new EnableWebcamOnlyResponse
            {
                IsSuccessful       = status,
                Message            = message,
                WebcamEnabledValue = webcamValue
            };

            EmitSerializedOutput(command, statusResponse);
        }
コード例 #8
0
        /// <summary>
        /// Builds and formats the output response.
        /// </summary>
        /// <param name="messageType"></param>
        /// <param name="parameters"></param>
        /// <returns></returns>
        private static string BuildParameterizedOutput(AvailableCommand messageType, IDictionary <string, string> parameters = null)
        {
            var commandToExecute = new StringBuilder(messageType.GetDescription());

            if (parameters != null)
            {
                StringBuilder parameterString = parameters.Aggregate(new StringBuilder(), (stringBuilder, x) => stringBuilder.Append($" --{x.Key}={x.Value}"));
                commandToExecute.Append(parameterString);
            }

            return(commandToExecute.ToString());
        }
コード例 #9
0
        /// <summary>
        /// Permet de récupérer la description d'un objet AailableCommand
        /// </summary>
        /// <param name="value">un objet AvailableComman</param>
        /// <returns>la description de l'objet AailableCommand</returns>
        private string GetEnumDescription(AvailableCommand value)
        {
            FieldInfo fi = value.GetType().GetField(value.ToString());

            DescriptionAttribute[] attributes = (DescriptionAttribute[])fi.GetCustomAttributes(typeof(DescriptionAttribute), false);

            if (attributes != null && attributes.Length > 0)
            {
                return(attributes[0].Description);
            }
            else
            {
                return(value.ToString());
            }
        }
コード例 #10
0
        public PluginManagerCommands()
        {
            Name        = "plugins";
            Description = "Manage active plugins.";
            Category    = AdditionalCategories.Management;

            _commandsInSet = new List <ICommand>
            {
                new AddCommand(),
                new RemoveCommand(),
                new ActiveCommand(),
                new AvailableCommand(),
                new AllCommand(),
                new InfoCommand(),
            };

            _defaultCommand = new AvailableCommand();
        }
コード例 #11
0
        static CardinalDirection Movement(AvailableCommand Command)
        {
            string QuitOption;

            switch (Command)
            {
            //boundry case defined in offset from directionsFacing
            //modulus ensures value is always between 0-3
            case AvailableCommand.MoveLeft:
                return((CardinalDirection)((s_directionFacing - 1 + 4) % 4));

            case AvailableCommand.MoveRight:
                return((CardinalDirection)((s_directionFacing + 1 + 4) % 4));

            case AvailableCommand.MoveBackward:
                return((CardinalDirection)((s_directionFacing + 2 + 4) % 4));

            case AvailableCommand.MoveForward:
                return((CardinalDirection)s_directionFacing);

            case AvailableCommand.Quit:
                Console.WriteLine("Are you sure you want to quit? Yes/No: ");
                QuitOption = Console.ReadLine();
                QuitOption = QuitOption.ToLower();
                if (QuitOption == "yes")
                {
                    Environment.Exit(0);
                }
                if (QuitOption == "no")
                {
                    break;
                }
                if (QuitOption != "yes" || QuitOption != "no")
                {
                    QuitOption = Console.ReadLine();
                    QuitOption = QuitOption.Trim();
                    QuitOption = QuitOption.ToLower();
                    Console.WriteLine("Invalid input. Please enter 'yes' or 'no'.");
                }
                break;
            }
            return((CardinalDirection)s_directionFacing);
        }
コード例 #12
0
        public void Process(ChatMessage message, ICommunicator comm)
        {
            _args = message.Args;
            _msg  = message;
            _comm = comm;

            var p = new OptionSet()
            {
                { "l|list", "Show current users",
                  v => _command = AvailableCommand.List },
                { "add|a", "Add a new user",
                  v => _command = AvailableCommand.Add },
                { "h|help", "show this list of options",
                  v => _command = AvailableCommand.Help }
            };

            List <string> extras;

            try
            {
                extras = p.Parse(_args);
            }
            catch (OptionException e)
            {
                showHelp();
                return;
            }

            switch (_command)
            {
            case AvailableCommand.List:
                listCommand();
                break;

            case AvailableCommand.Add:
                addCommand(extras.FirstOrDefault());
                break;

            default:
                showHelp();
                break;
            }
        }
コード例 #13
0
        public static void Room5()
        {
            Console.WriteLine("".PadLeft(45, '-'));
            DisplayDirection();
            Console.WriteLine("You have entered the Life Support Deck.");



            while (true)
            {
                AvailableCommand  command = CommandHandler();
                CardinalDirection direction;
                if (command == AvailableCommand.Quit)
                {
                    return;
                }
                else
                {
                    direction = Movement(command);
                    switch (direction)
                    {
                    case CardinalDirection.North:
                        Room7();
                        return;

                    case CardinalDirection.South:
                        Room5();
                        return;

                    case CardinalDirection.West:
                        Console.WriteLine("There is a wall here! Look for another way!");
                        break;

                    case CardinalDirection.East:
                        Console.WriteLine("There is a wall here! Look for another way!");
                        break;
                    }
                }
            }
        }
コード例 #14
0
        public static void Room2()
        {
            DisplayDirection();
            Console.WriteLine("".PadLeft(45, '-'));
            Console.WriteLine("You have entered the Captain's Quarters");
            Console.WriteLine("There is no way out from here!");
            Console.WriteLine("The escape pod is on the opposite side of the ship! You must turn around!");
            Console.WriteLine("".PadLeft(45, '-'));
            while (true)
            {
                AvailableCommand  command = CommandHandler();
                CardinalDirection direction;
                if (command == AvailableCommand.Quit)
                {
                    return;
                }
                else
                {
                    direction = Movement(command);
                    switch (direction)
                    {
                    case CardinalDirection.North:
                        Console.WriteLine("There is a wall here! Look for another way!");
                        break;

                    case CardinalDirection.South:
                        Console.WriteLine("There is a wall here! Look for another way!");
                        break;

                    case CardinalDirection.West:
                        Console.WriteLine("TThere is a wall here! Look for another way!");
                        break;

                    case CardinalDirection.East:
                        Room1();
                        return;
                    }
                }
            }
        }
コード例 #15
0
        public static async Task <GenericResponse> GetList(string filtro = "", string ordenar_por = "", string orden = "", int Page = 1)
        {
            GenericResponse response = new GenericResponse();

            try
            {
                List <CloureParam> cparams = new List <CloureParam>();
                cparams.Add(new CloureParam("module", "shows_news"));
                cparams.Add(new CloureParam("topic", "listar"));
                if (filtro.Length > 0)
                {
                    cparams.Add(new CloureParam("filtro", filtro));
                }
                if (ordenar_por.Length > 0)
                {
                    cparams.Add(new CloureParam("ordenar_por", ordenar_por));
                }
                if (orden.Length > 0)
                {
                    cparams.Add(new CloureParam("orden", orden));
                }
                cparams.Add(new CloureParam("pagina", Page.ToString()));
                string res = await CloureManager.ExecuteAsync(cparams);

                JsonObject api_result = JsonObject.Parse(res);
                string     error      = api_result.GetNamedString("Error");
                if (error == "")
                {
                    JsonObject api_response = api_result.GetNamedObject("Response");
                    JsonArray  registers    = api_response.GetNamedArray("Registros");

                    foreach (JsonValue jsonValue in registers)
                    {
                        JsonObject  register = jsonValue.GetObject();
                        ShowArticle item     = new ShowArticle();
                        item.Id     = (int)register.GetNamedNumber("Id");
                        item.Titulo = register.GetNamedString("Titulo");

                        JsonArray available_commands_arr = register.GetNamedArray("AvailableCommands");
                        item.AvailableCommands = new List <AvailableCommand>();
                        foreach (JsonValue available_cmd_obj in available_commands_arr)
                        {
                            JsonObject       available_cmd_item  = available_cmd_obj.GetObject();
                            int              available_cmd_id    = (int)available_cmd_item.GetNamedNumber("Id");
                            string           available_cmd_name  = available_cmd_item.GetNamedString("Name");
                            string           available_cmd_title = available_cmd_item.GetNamedString("Title");
                            AvailableCommand availableCommand    = new AvailableCommand(available_cmd_id, available_cmd_name, available_cmd_title);
                            item.AvailableCommands.Add(availableCommand);
                        }



                        response.Items.Add(item);
                    }

                    response.TotalPages = (int)api_response.GetNamedNumber("TotalPaginas");
                }
                else
                {
                    throw new Exception(error);
                }
            }
            catch (Exception ex)
            {
                var dialog = new MessageDialog(ex.Message);
                await dialog.ShowAsync();
            }

            return(response);
        }
コード例 #16
0
 /// <summary>
 /// Emits the message type with the parameters to the standard error output.
 /// </summary>
 /// <param name="messageType"></param>
 /// <param name="additionalParameters"></param>
 private static void ThrowException(AvailableCommand messageType, IDictionary <string, string> additionalParameters = null)
 {
     Console.Error.WriteLine(BuildParameterizedOutput(messageType, additionalParameters));
 }
コード例 #17
0
        public static async Task <GenericResponse> GetList(string filtro = "", string ordenar_por = "", string orden = "", int Page = 1)
        {
            GenericResponse response = new GenericResponse();

            try
            {
                List <CloureParam> cparams = new List <CloureParam>();
                cparams.Add(new CloureParam("module", "shows"));
                cparams.Add(new CloureParam("topic", "listar"));
                if (filtro.Length > 0)
                {
                    cparams.Add(new CloureParam("filtro", filtro));
                }
                if (ordenar_por.Length > 0)
                {
                    cparams.Add(new CloureParam("ordenar_por", ordenar_por));
                }
                if (orden.Length > 0)
                {
                    cparams.Add(new CloureParam("orden", orden));
                }
                cparams.Add(new CloureParam("pagina", Page.ToString()));
                string res = await CloureManager.ExecuteAsync(cparams);

                JsonObject api_result = JsonObject.Parse(res);
                string     error      = api_result.GetNamedString("Error");
                if (error == "")
                {
                    JsonObject api_response = api_result.GetNamedObject("Response");
                    JsonArray  registers    = api_response.GetNamedArray("Registros");

                    foreach (JsonValue jsonValue in registers)
                    {
                        JsonObject register = jsonValue.GetObject();
                        Show       item     = new Show();
                        item.Id     = (int)register.GetNamedNumber("Id");
                        item.Titulo = register.GetNamedString("Titulo");

                        JsonArray available_commands_arr = register.GetNamedArray("AvailableCommands");
                        item.AvailableCommands = new List <AvailableCommand>();
                        foreach (JsonValue available_cmd_obj in available_commands_arr)
                        {
                            JsonObject       available_cmd_item  = available_cmd_obj.GetObject();
                            int              available_cmd_id    = (int)available_cmd_item.GetNamedNumber("Id");
                            string           available_cmd_name  = available_cmd_item.GetNamedString("Name");
                            string           available_cmd_title = available_cmd_item.GetNamedString("Title");
                            AvailableCommand availableCommand    = new AvailableCommand(available_cmd_id, available_cmd_name, available_cmd_title);
                            item.AvailableCommands.Add(availableCommand);
                        }

                        //Carga fotografos
                        item.Fotografos = new ObservableCollection <User>();

                        JsonArray fotografos_arr = register.GetNamedArray("Fotografos");
                        foreach (JsonValue fotografo_obj in fotografos_arr)
                        {
                            JsonObject fotografo_item = fotografo_obj.GetObject();
                            User       user           = new User();

                            JsonValue tmpval = fotografo_item.GetNamedValue("Id");
                            if (tmpval.ValueType == JsonValueType.Number)
                            {
                                user.id          = (int)fotografo_item.GetNamedNumber("Id");
                                user.nombre      = fotografo_item.GetNamedString("Nombre");
                                user.apellido    = fotografo_item.GetNamedString("Apellido");
                                user.razonsocial = user.apellido + ", " + user.nombre;
                                user.ImageURL    = new Uri(fotografo_item.GetNamedString("Imagen"));
                                user.grupo       = fotografo_item.GetNamedString("Grupo");
                                user.email       = fotografo_item.GetNamedString("Mail");
                                user.Fotos       = CloureManager.ParseInt(fotografo_item.GetNamedValue("Fotos"));

                                item.Fotografos.Add(user);
                            }
                        }

                        response.Items.Add(item);
                    }

                    response.TotalPages = (int)api_response.GetNamedNumber("TotalPaginas");
                }
                else
                {
                    throw new Exception(error);
                }
            }
            catch (Exception ex)
            {
                var dialog = new MessageDialog(ex.Message);
                await dialog.ShowAsync();
            }

            return(response);
        }
コード例 #18
0
        public static async Task <UsersResponse> getList(string filtro = "", string ordenar_por = "", string orden = "", int pagina = 1, int Limite = 50, string grupoId = "", string Miembros = "all")
        {
            UsersResponse response = new UsersResponse();

            try
            {
                List <CloureParam> cparams = new List <CloureParam>();
                cparams.Add(new CloureParam("module", "users"));
                cparams.Add(new CloureParam("topic", "get_list"));
                cparams.Add(new CloureParam("filtro", filtro));
                cparams.Add(new CloureParam("ordenar_por", ordenar_por));
                cparams.Add(new CloureParam("orden", orden));
                cparams.Add(new CloureParam("pagina", pagina));
                cparams.Add(new CloureParam("limite", Limite));
                cparams.Add(new CloureParam("grupo_id", grupoId));
                cparams.Add(new CloureParam("miembros", Miembros));

                string res = await CloureManager.ExecuteAsync(cparams);

                JsonObject api_result = JsonObject.Parse(res);
                string     error      = api_result.GetNamedString("Error");
                if (error == "")
                {
                    JsonObject api_response = api_result.GetNamedObject("Response");
                    JsonArray  registers    = api_response.GetNamedArray("Registros");

                    foreach (JsonValue jsonValue in registers)
                    {
                        JsonObject register = jsonValue.GetObject();
                        User       item     = new User();

                        item.id          = (int)register.GetNamedNumber("id");
                        item.empresa     = register.GetNamedString("empresa");
                        item.nombre      = register.GetNamedString("nombre");
                        item.apellido    = register.GetNamedString("apellido");
                        item.razonsocial = item.apellido + ", " + item.nombre;
                        item.saldo_str   = register.GetNamedString("saldo_str");
                        item.saldo       = CloureManager.ParseNumber(register.GetNamedValue("saldo"));
                        item.grupo       = register.GetNamedString("grupo");
                        item.email       = register.GetNamedString("mail");
                        string img_path = register.GetNamedString("imagen");
                        item.ImageURL = new Uri(img_path);

                        JsonArray available_commands_arr = register.GetNamedArray("AvailableCommands");
                        item.availableCommands = new List <AvailableCommand>();
                        foreach (JsonValue available_cmd_obj in available_commands_arr)
                        {
                            JsonObject       available_cmd_item  = available_cmd_obj.GetObject();
                            int              available_cmd_id    = (int)available_cmd_item.GetNamedNumber("Id");
                            string           available_cmd_name  = available_cmd_item.GetNamedString("Name");
                            string           available_cmd_title = available_cmd_item.GetNamedString("Title");
                            AvailableCommand availableCommand    = new AvailableCommand(available_cmd_id, available_cmd_name, available_cmd_title);
                            item.availableCommands.Add(availableCommand);
                        }

                        response.Items.Add(item);
                    }

                    response.PageString     = api_response.GetNamedString("PageString");
                    response.TotalRegistros = (int)api_response.GetNamedNumber("TotalRegistros");
                    response.TotalPaginas   = (int)api_response.GetNamedNumber("TotalPaginas");
                }
                else
                {
                    throw new Exception(error);
                }
            }
            catch (Exception ex)
            {
                var dialog = new MessageDialog(ex.Message);
                await dialog.ShowAsync();
            }

            return(response);
        }
コード例 #19
0
        public static async Task <CompanyBranchResponse> getList(string filtro = "", string ordenar_por = "", string orden = "", string sucursal = "0")
        {
            CompanyBranchResponse response = new CompanyBranchResponse();

            try
            {
                List <CloureParam> cparams = new List <CloureParam>();
                cparams.Add(new CloureParam("module", "company_branches"));
                cparams.Add(new CloureParam("topic", "listar"));
                if (ordenar_por.Length > 0)
                {
                    cparams.Add(new CloureParam("ordenar_por", ordenar_por));
                }
                if (orden.Length > 0)
                {
                    cparams.Add(new CloureParam("orden", orden));
                }
                string res = await CloureManager.ExecuteAsync(cparams);

                JsonObject api_result = JsonObject.Parse(res);
                string     error      = api_result.GetNamedString("Error");
                if (error == "")
                {
                    JsonObject api_response = api_result.GetNamedObject("Response");
                    JsonArray  registers    = api_response.GetNamedArray("Registros");

                    foreach (JsonValue jsonValue in registers)
                    {
                        JsonObject    register      = jsonValue.GetObject();
                        CompanyBranch companyBranch = new CompanyBranch();
                        companyBranch.Id   = CloureManager.ParseInt(register.GetNamedValue("Id"));
                        companyBranch.Name = register.GetNamedString("Nombre");

                        JsonArray available_commands_arr = register.GetNamedArray("AvailableCommands");
                        companyBranch.AvailableCommands = new List <AvailableCommand>();
                        foreach (JsonValue available_cmd_obj in available_commands_arr)
                        {
                            JsonObject       available_cmd_item  = available_cmd_obj.GetObject();
                            int              available_cmd_id    = (int)available_cmd_item.GetNamedNumber("Id");
                            string           available_cmd_name  = available_cmd_item.GetNamedString("Name");
                            string           available_cmd_title = available_cmd_item.GetNamedString("Title");
                            AvailableCommand availableCommand    = new AvailableCommand(available_cmd_id, available_cmd_name, available_cmd_title);
                            companyBranch.AvailableCommands.Add(availableCommand);
                        }

                        response.Items.Add(companyBranch);
                    }
                }
                else
                {
                    throw new Exception(error);
                }
            }
            catch (Exception ex)
            {
                var dialog = new MessageDialog(ex.Message);
                await dialog.ShowAsync();
            }

            return(response);
        }