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); }
/// <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); }
/// <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); }