Esempio n. 1
0
        public List <dependencies> getAllDependencies(int configurationItemId)
        {
            configurationItem ci = databaseConnection.configurationItem.FirstOrDefault(citem => citem.configurationItemId == configurationItemId);

            if (ci != null)
            {
                return(ci.dependencies.ToList());
            }
            return(null);
        }
Esempio n. 2
0
 public void addConfigurationItem(configurationItem configurationItem)
 {
     databaseConnection.configurationItem.Add(configurationItem);
     if (configurationItem.dependenciesList != null && configurationItem.dependenciesList.Any())
     {
         foreach (var dependency in configurationItem.dependenciesList)
         {
             dependencies dependencies = new dependencies();
             dependencies.dependeeId  = configurationItem.configurationItemId;
             dependencies.dependsOnId = dependency;
             databaseConnection.dependencies.Add(dependencies);
         }
     }
     databaseConnection.SaveChanges();
 }
Esempio n. 3
0
        private static void modifyConfigurationItem()
        {
            Console.Clear();
            configurationItemDAO configurationItemDAO = new configurationItemDAO();
            bool notDone = true;

            while (notDone)
            {
                listAllConfigurationItems();
                Console.WriteLine("Favor introducir el ID del elemento de configuración a modificar");
                Console.WriteLine("Para volver atrás introduzca q");
                string configurationItemID = Console.ReadLine();
                int    ID;
                if (configurationItemID == "q")
                {
                    notDone = false;
                    continue;
                }
                if (!int.TryParse(configurationItemID, out ID))
                {
                    Console.WriteLine("Selección invalida. Favor seleccionar un número correspondiente al ID de un elemento de configuración previamente registrado");
                }
                else
                {
                    if (!configurationItemDAO.existsConfigurationItemWithID(ID))
                    {
                        Console.WriteLine("Este ID no corresponde a un Elemento de configuración previamente registrado, favor intentar nuevamente");
                    }
                    else
                    {
                        bool modified = false;
                        configurationItem configurationItem = configurationItemDAO.getConfigurationItem(ID);
                        while (!modified)
                        {
                            Console.Clear();
                            Console.WriteLine(String.Format("Elemento Seleccionado: {0}", configurationItem.nombre));
                            Console.WriteLine("1 - Actualizar");
                            Console.WriteLine("2 - Deprecar");
                            Console.WriteLine("Favor introducir a continuación el número de la opción deseada seguido de Enter");
                            Console.WriteLine("Para volver atrás introduzca q");
                            Console.WriteLine();
                            string selectedOption = Console.ReadLine();
                            if (selectedOption == "q")
                            {
                                modified = true;
                                continue;
                            }
                            if (isValidOption(selectedOption, 2))
                            {
                                switch (selectedOption)
                                {
                                case "1":
                                    bool actualised = false;
                                    while (!actualised)
                                    {
                                        Console.Clear();
                                        Console.WriteLine("Introduzca la nueva versión:");
                                        Console.WriteLine("Para volver atrás introduzca q");
                                        string newVersion = Console.ReadLine();
                                        if (newVersion == "q")
                                        {
                                            actualised = true;
                                            continue;
                                        }
                                        if (!configurationItemDAO.isValidVersion(newVersion))
                                        {
                                            Console.WriteLine("Esta versión no cumple con el formato requerido: ");
                                            Console.WriteLine("x.x.x");
                                            continue;
                                        }
                                        else
                                        {
                                            if (configurationItemDAO.isMajorVersionChange(configurationItem.version, newVersion))
                                            {
                                                Console.WriteLine(string.Format("Elementro de configuración {0} no puede ser actualizado a versión {1} \ndebido a que es un cambio de versión mayor y los siguientes elementos de configuración dependen de el:", configurationItem.nombre, newVersion));
                                                Console.WriteLine();
                                                Console.WriteLine();
                                                foreach (dependencies ci in configurationItem.dependees.ToList())
                                                {
                                                    Console.WriteLine(ci.dependee.toString());
                                                }
                                                Console.WriteLine();
                                            }
                                            else
                                            {
                                                configurationItem.version = newVersion;
                                                configurationItemDAO.save();
                                                Console.WriteLine("Elemento de configuración actualizado exitosamente \n\n");
                                            }
                                            actualised = true;
                                            modified   = true;
                                            notDone    = false;
                                        }
                                    }
                                    break;

                                case "2":
                                    if (configurationItem.dependees.Any(ci => !(ci.dependee.deprecated ?? false)))
                                    {
                                        Console.WriteLine(string.Format("Elementro de configuración {0} no puede ser deprecado \ndebido a que los siguientes elementos de configuración dependen de el:", configurationItem.nombre));
                                        Console.WriteLine();
                                        Console.WriteLine();
                                        foreach (dependencies ci in configurationItem.dependees.ToList())
                                        {
                                            Console.WriteLine(ci.dependee.toString());
                                        }
                                        Console.WriteLine();
                                    }
                                    else
                                    {
                                        configurationItemDAO.deprecate(configurationItem.configurationItemId);
                                        Console.WriteLine("Elemento de configuración deprecado exitosamente.\n\n");
                                    }
                                    modified = true;
                                    notDone  = false;
                                    break;
                                }
                            }
                            else
                            {
                                Console.WriteLine("Opción inválida. Intente de nuevo.");
                            }
                        }
                    }
                }
            }
        }
Esempio n. 4
0
        static void addConfigurationItem()
        {
            configurationItemDAO configurationItemDAO = new configurationItemDAO();
            string nombre      = "";
            string version     = "";
            string descripcion = "";
            bool   complete    = false;
            bool   validInput  = false;

            while (!complete)
            {
                while (!validInput)
                {
                    Console.Clear();
                    Console.WriteLine("Introduzca el nombre del elemento de configuración: ");
                    Console.WriteLine("Para volver atrás introduzca q");
                    nombre = Console.ReadLine();
                    if (string.IsNullOrEmpty(nombre))
                    {
                        Console.WriteLine("Debe introducir un nombre.");
                    }
                    else
                    {
                        if (nombre == "q")
                        {
                            complete   = true;
                            validInput = true;
                            continue;
                        }
                        if (configurationItemDAO.existsConfigurationItemWithSameName(nombre))
                        {
                            Console.WriteLine("Este nombre ya está registrado.");
                        }
                        else
                        {
                            validInput = true;
                        }
                    }
                }
                validInput = false;
                while (!validInput && !complete)
                {
                    Console.WriteLine("Introduzca la versión: ");
                    Console.WriteLine("Para volver atrás introduzca q");
                    version = Console.ReadLine();
                    if (string.IsNullOrEmpty(version))
                    {
                        Console.WriteLine("Debe introducir una versión.");
                    }
                    else
                    {
                        if (version == "q")
                        {
                            complete   = true;
                            validInput = true;
                            continue;
                        }
                        if (!configurationItemDAO.isValidVersion(version))
                        {
                            Console.WriteLine("Esta versión no cumple con el formato requerido: ");
                            Console.WriteLine("x.x.x");
                        }
                        else
                        {
                            validInput = true;
                        }
                    }
                }
                validInput = false;
                while (!validInput && !complete)
                {
                    Console.WriteLine("¿Desea agregar una descripción? y/n");
                    Console.WriteLine("Para volver atrás introduzca q");
                    string input = Console.ReadLine();
                    if (input == "q")
                    {
                        validInput = true;
                        complete   = true;
                        continue;
                    }
                    if (input.ToLower() != "y" && input.ToLower() != "n")
                    {
                        Console.WriteLine("Favor introducir una opción válida : y/n");
                    }
                    else
                    {
                        switch (input.ToLower())
                        {
                        case "y":
                            Console.WriteLine("Favor introducir una descripción");
                            descripcion = Console.ReadLine();
                            break;

                        case "n":
                            break;
                        }
                        validInput = true;
                    }
                }

                configurationItem configurationItem = new configurationItem();
                configurationItem.nombre      = nombre;
                configurationItem.version     = version;
                configurationItem.descripcion = descripcion;
                List <configurationItem> itemsActuales = configurationItemDAO.getConfigurationItems();
                if (itemsActuales != null && itemsActuales.Count() > 0 && itemsActuales.Any(ci => !(ci.deprecated ?? false)))
                {
                    validInput = false;
                    while (!validInput && !complete)
                    {
                        Console.WriteLine("¿Desea agregar una dependencia? y/n");
                        Console.WriteLine("Para volver atrás introduzca q");
                        string input = Console.ReadLine();
                        if (input == "q")
                        {
                            validInput = true;
                            complete   = true;
                            continue;
                        }
                        if (input.ToLower() != "y" && input.ToLower() != "n")
                        {
                            Console.WriteLine("Favor introducir una opción válida : y/n");
                        }
                        else
                        {
                            switch (input.ToLower())
                            {
                            case "y":
                                List <int> dependenciesList = getDependencieslist();
                                configurationItem.dependenciesList = dependenciesList;
                                break;

                            case "n":
                                break;
                            }
                            validInput = true;
                        }
                    }
                }

                if (!complete)
                {
                    configurationItemDAO.addConfigurationItem(configurationItem);

                    Console.WriteLine("Se ha creado un elemento de configuracion exitosamente. Presione Enter para continuar.");
                    Console.ReadLine();
                    Console.Clear();
                    complete = true;
                }
            }
        }