コード例 #1
0
ファイル: Persistencia.cs プロジェクト: sod1497/ProyectoTOO
        /*
         * Añade un elemento a la colección correcta
         * Obtiene la colección y comprueba si ya está en ella
         * Precondición: ninguna
         * Postcondición: devuelve true si se ha añadido con éxito y false en caso contrario
         */

        public static bool anadir(T t)
        {
            //recorre la lista
            //si el t no esta en la lista lo añade y devuelve true
            //si está en la lista, devuelve false.

            Coleccion <T> aux = Persistencia <T> .obtenerColeccion();

            if (aux == null)
            {
                return(false);
            }

            else
            {
                try
                {
                    aux.Add(t);
                    return(true);
                }catch (ArgumentException)
                {
                    return(false);
                }
            }

            //borro las comprobaciones porque segun Vico es problema de la logica de negocio comprobar que existe
        }
コード例 #2
0
 public static Coleccion <T> getColeccion()
 {
     if (coleccion == null)
     {
         coleccion = new Coleccion <T>();
     }
     return(coleccion as Coleccion <T>);
 }
コード例 #3
0
        //Para devolver una copia y que no sea afectada la capa de persistencia
        public Coleccion <TipoBasico> Copiar()
        {
            Coleccion <TipoBasico> aux = new Coleccion <TipoBasico>();

            foreach (TipoBasico i in this)
            {
                aux.Add(i.copiar());
            }
            return(aux);
        }
コード例 #4
0
ファイル: Persistencia.cs プロジェクト: sod1497/ProyectoTOO
        /*
         * Indica si un elemento está en la colección
         * Precondición: t es no nulo y tiene la clave del elemento a buscar
         * Postcondición: devuelve true si coincide, y false en caso contrario
         */

        public static bool existe(T t)
        {
            Coleccion <T> aux = Persistencia <T> .obtenerColeccion();

            if (aux == null)
            {
                return(false);
            }

            return(aux.Contains(t.Clave));
        }
コード例 #5
0
ファイル: Persistencia.cs プロジェクト: sod1497/ProyectoTOO
        /*
         * Devuelve todos los elementos de una coleccion según el tipo pasado
         * Precondición: nada
         * Postcondición: devuelve la colección si los tipos coinciden, sino devuelve null;
         */


        public static List <T> getTodos()
        {
            List <T>      aux      = new List <T>();
            Coleccion <T> original = Persistencia <T> .obtenerColeccion();

            foreach (T i in original)
            {
                aux.Add((T)i.copiar());
            }

            return(aux);
        }
コード例 #6
0
ファイル: Persistencia.cs プロジェクト: sod1497/ProyectoTOO
        /*
         * Reemplaza la instancia vieja por la nueva
         * Precondición: el elemento t es no nulo y tiene la misma clave que el elemento a modificar
         * Postcondición: t se emplaza en el elemento que tenía la misma clave que él
         */

        public static bool modificar(T t)
        {
            Coleccion <T> aux = Persistencia <T> .obtenerColeccion();

            if (aux == null)
            {
                return(false);
            }

            else
            {
                int i = aux.IndexOf(t);
                aux.SetItem(i, t);
                return(true);
            }
        }
コード例 #7
0
ファイル: Persistencia.cs プロジェクト: sod1497/ProyectoTOO
        /*
         * Elimina un elemento de una colección
         * Precondición: t es no nulo y tiene la misma clave que el elemento a borrar
         * Postcondición: devuelve true si existía y se ha eliminado y false en cualquier otro caso
         */

        public static bool borrar(T t)
        {
            Coleccion <T> aux = Persistencia <T> .obtenerColeccion();

            if (aux == null)
            {
                return(false);
            }

            else
            {
                aux.Remove(t.Clave);
                return(true);
            }

            //borro las comprobaciones porque segun Vico es problema de la logica de negocio comprobar que existe
        }
コード例 #8
0
ファイル: Persistencia.cs プロジェクト: sod1497/ProyectoTOO
        /*
         * Devuelve un elemento concreto identificado por su clave
         * Precondición: t es no nulo y tiene la clave del elemento a buscar
         * Postcondición: devuelve el elemento o exepción
         */

        public static T get(T t)
        {
            Coleccion <T> aux = Persistencia <T> .obtenerColeccion();

            return((T)aux.Item(t.Clave).copiar());
        }