Ejemplo n.º 1
0
        /// <summary>
        ///		Carga las categorías de un proyecto
        /// </summary>
        private CategoryModelCollection LoadCategories(Project objTfsProject)
        {
            CategoryModelCollection objColCategories = new CategoryModelCollection();

            // Carga las categorías
            if (objTfsProject != null)
            {                                     // Asigna las categorías
                for (int intIndex = 0; intIndex < objTfsProject.Categories.Count; intIndex++)
                {
                    CategoryModel objCategory = new CategoryModel();

                    // Asigna los datos de la categoría
                    objCategory.ID          = intIndex;
                    objCategory.Name        = objTfsProject.Categories[intIndex].Name;
                    objCategory.Description = objTfsProject.Categories[intIndex].ReferenceName;
                    // Añade la categoría a la colección
                    objColCategories.Add(objCategory);
                    // Añade los tipos de categorías
                    foreach (WorkItemType objItemType in objTfsProject.Categories[intIndex].WorkItemTypes)
                    {
                        objCategory.TaskTypes.Add(new CategoryModel {
                            Name = objItemType.Name, Description = objItemType.Description
                        });
                    }
                }
            }
            // Devuelve la colección de categorías
            return(objColCategories);
        }
        /// <summary>
        ///		Carga las categorías de un canal
        /// </summary>
        internal CategoryModelCollection LoadCategories(TrackModel track, string xml)
        {
            CategoryModelCollection categories = new CategoryModelCollection();
            MLFile fileML = new LibMarkupLanguage.Services.XML.XMLParser().ParseText(xml);

            // Carga el archivo
            if (fileML != null)
            {
                foreach (MLNode rootML in fileML.Nodes)
                {
                    if (rootML.Name == TagRoot)
                    {
                        foreach (MLNode categoryML in rootML.Nodes)
                        {
                            if (categoryML.Name == TagCategory)
                            {
                                CategoryModel category = new CategoryModel(track);

                                // Asigna las propiedades
                                category.Id    = categoryML.Attributes[TagId].Value;
                                category.Title = categoryML.Nodes[TagName].Value;
                                // Carga las entradas
                                foreach (MLNode nodeML in categoryML.Nodes)
                                {
                                    if (nodeML.Name == EntriesRepository.TagConference)
                                    {
                                        category.Entries.Add(new EntriesRepository().LoadEntry(nodeML));
                                    }
                                }
                                // Añade la categoría a la colección
                                categories.Add(category);
                            }
                        }
                    }
                }
            }
            // Devuelve la colección de categorías
            return(categories);
        }
        /// <summary>
        ///		Carga las categorías de un nodo
        /// </summary>
        private CategoryModelCollection LoadCategories(TrackModel track, MLNode rootML)
        {
            CategoryModelCollection categories = new CategoryModelCollection();

            // Carga las categorías
            foreach (MLNode nodeML in rootML.Nodes)
            {
                if (nodeML.Name == TagCategory)
                {
                    CategoryModel category = new CategoryModel(track);

                    // Carga las propiedades
                    category.Id    = nodeML.Attributes[TagId].Value;
                    category.Title = nodeML.Nodes[TagName].Value;
                    // Carga las entradas
                    category.Entries.AddRange(LoadEntries(nodeML));
                    // Añade la categoría
                    categories.Add(category);
                }
            }
            // Devuelve la colección
            return(categories);
        }