Example #1
0
        /// <summary>
        /// Muestra el listado de todos los Companions incluidos en la Lista de Companions que hayan sido fabricados.
        /// Utiliza Generics.
        /// </summary>
        /// <typeparam name="T">Tipo de Companion. Puede ser Cook, Housekeeper, Manager o Companion (todos).</typeparam>
        /// <returns>Lista de Companions del tipo T.</returns>
        public static string MostrarListado <T>()
        {
            if (Factory.estado == true)
            {
                StringBuilder sb = new StringBuilder();

                foreach (Companion comp in Factory.listaCompanions)
                {
                    if (comp is T && comp.SelloFabricacion == true)
                    {
                        if (comp is Cook)
                        {
                            Cook aux = (Cook)comp;
                            sb.AppendLine(aux.MostrarDatos());
                        }
                        else if (comp is Housekeeper)
                        {
                            Housekeeper aux = (Housekeeper)comp;
                            sb.AppendLine(aux.MostrarDatos());
                        }
                        else
                        {
                            Manager aux = (Manager)comp;
                            sb.AppendLine(aux.MostrarDatos());
                        }
                    }
                }
                return(sb.ToString());
            }
            return("Fábrica apagada.");
        }
Example #2
0
        /// <summary>
        /// Exporta a la base de datos los companions siempre y cuando ya hayan sido fabricados.
        /// </summary>
        /// <param name="listaComps">Lista de Companions a exportar.</param>
        /// <returns>Cantidad de Companions agregados a la base de datos.</returns>
        public static int ExportToDB(List <Companion> listaComps)
        {
            int filasAgregadas = 0;

            DBManagement.comando.Connection  = DBManagement.conexion;
            DBManagement.comando.CommandType = CommandType.Text;
            DBManagement.comando.CommandText = "INSERT INTO Companions VALUES(@Nombre,@Tipo,@Tareas,@Utensilios,@NivelAcceso,@Fecha)";

            foreach (Companion comp in listaComps)
            {
                DBManagement.comando.Parameters.Clear();
                DBManagement.comando.Parameters.Add(new SqlParameter("@Nombre", comp.Nombre));
                DBManagement.comando.Parameters.Add(new SqlParameter("@Tareas", comp.ListaTareas));
                DBManagement.comando.Parameters.Add(new SqlParameter("@Fecha", DateTime.Now.ToString()));

                if (comp.SelloFabricacion)
                {
                    if (comp is Cook)
                    {
                        Cook aux = (Cook)comp;
                        DBManagement.comando.Parameters.Add(new SqlParameter("@Tipo", "Cook"));
                        DBManagement.comando.Parameters.Add(new SqlParameter("@Utensilios", aux.ListaUtensilios));
                        DBManagement.comando.Parameters.Add(new SqlParameter("@NivelAcceso", ""));
                    }
                    else if (comp is Housekeeper)
                    {
                        Housekeeper aux = (Housekeeper)comp;
                        DBManagement.comando.Parameters.Add(new SqlParameter("@Tipo", "Housekeeper"));
                        DBManagement.comando.Parameters.Add(new SqlParameter("@Utensilios", ""));
                        DBManagement.comando.Parameters.Add(new SqlParameter("@NivelAcceso", ""));
                    }
                    else
                    {
                        Manager aux = (Manager)comp;
                        DBManagement.comando.Parameters.Add(new SqlParameter("@Tipo", "Manager"));
                        DBManagement.comando.Parameters.Add(new SqlParameter("@NivelAcceso", aux.NivelDeAcceso));
                        DBManagement.comando.Parameters.Add(new SqlParameter("@Utensilios", ""));
                    }
                    DBManagement.conexion.Open();
                    filasAgregadas += DBManagement.comando.ExecuteNonQuery();
                    DBManagement.conexion.Close();
                }
            }
            return(filasAgregadas);
        }