Beispiel #1
0
        /** Actualiza un atributo*/
        public void modificaAtributo(string nameEnt, string nameAtri, CNodoAtributo nuevo)
        {
            CNodoEntidad nodoVert = null;
            CNodoAtributo nodoAtri;

            if (nameAtri.CompareTo(nuevo.getNombre()) != 0)
            {
                BajaAtributo(nameEnt, nameAtri);
                AltaAtributo(nuevo, nameEnt);
            }
            else
            {
                buscaEntidad(ref nodoVert, nameEnt);
                if (nodoVert != null)
                {
                    AbrirArchivo();

                    nodoAtri = nodoVert.getCabListAtri();
                    while (nodoAtri != null && nodoAtri.getNombre().CompareTo(nameAtri) != 0)
                        nodoAtri = nodoAtri.getSigAtri();

                    if (nodoAtri != null)
                    {
                        nodoAtri.setClavePrimaria(nuevo.getClave());
                        nodoAtri.setTipo(nuevo.getTipo());
                        nodoAtri.setNameTipo(nuevo.getNameTipo());
                        nodoAtri.setTamaño(nuevo.getTamaño());
                        nodoAtri.setEntRel(nuevo.getEntRel());
                        nodoAtri.setApEntRel(nuevo.getApEntRel());
                        nuevo.setDir(nodoAtri.getDir());
                        nuevo.setApSigAtri(nodoAtri.getApSigAtri());
                        escribeAtributo(nuevo, nuevo.getDir());
                    }

                    CerrarArchivo();
                }
            }
        }