Exemple #1
0
 public RestStudioViewModel(Controllers.IRestStudioController restStudioController)
 {
     // Asigna las propiedades
     RestStudioController = restStudioController;
     // Inicializa la solución
     Solution = new RestSolutionModel();
     // Inicializa los objetos
     TreeRestApiViewModel = new Explorers.TreeRestApiViewModel(this);
 }
Exemple #2
0
        /// <summary>
        ///		Graba los datos de una solución
        /// </summary>
        internal void Save(string fileName, RestSolutionModel solution)
        {
            MLFile fileML = new();
            MLNode rootML = fileML.Nodes.Add(TagRoot);

            // Asigna los nodos
            foreach (RestApiModel restApi in solution.RestApis)
            {
                MLNode nodeML = rootML.Nodes.Add(TagApi);

                // Asigna las propiedades
                nodeML.Nodes.Add(TagName, restApi.Name);
                nodeML.Nodes.Add(TagDescription, restApi.Description);
                // Añade las cabeceras
                nodeML.Nodes.AddRange(GetHeaderNodes(TagDefaultHeaders, restApi.DefaultHeaders));
                // Añade los contextos y métodos
                nodeML.Nodes.AddRange(GetContextNodes(restApi.Contexts));
                nodeML.Nodes.AddRange(GetMethodNodes(restApi.Methods));
            }
            // Graba el archivo
            new LibMarkupLanguage.Services.XML.XMLWriter().Save(fileName, fileML);
        }
Exemple #3
0
        /// <summary>
        ///		Carga los datos de una solución
        /// </summary>
        internal RestSolutionModel Load(string fileName)
        {
            RestSolutionModel solution = new RestSolutionModel();
            MLFile            fileML   = new LibMarkupLanguage.Services.XML.XMLParser().Load(fileName);

            // Carga los datos
            if (fileML != null)
            {
                foreach (MLNode rootML in fileML.Nodes)
                {
                    if (rootML.Name == TagRoot)
                    {
                        foreach (MLNode nodeML in rootML.Nodes)
                        {
                            if (nodeML.Name == TagApi)
                            {
                                RestApiModel restApi = new RestApiModel();

                                // Asigna las propiedades
                                restApi.Name        = nodeML.Nodes[TagName].Value.TrimIgnoreNull();
                                restApi.Description = nodeML.Nodes[TagDescription].Value.TrimIgnoreNull();
                                // Añade las cabeceras predeterminadas
                                LoadHeaders(nodeML, TagDefaultHeaders, restApi.DefaultHeaders);
                                // Carga los contextos y métodos
                                restApi.Contexts.AddRange(LoadContexts(nodeML));
                                restApi.Methods.AddRange(LoadMethods(nodeML));
                                // Añade la api a la colección
                                solution.RestApis.Add(restApi);
                            }
                        }
                    }
                }
            }
            // Devuelve la solución
            return(solution);
        }