Пример #1
0
        public void actualizarBarraInferior()
        {
            toolObjetoActual.Text = "";
            TabPageCustom tab = (TabPageCustom)tabs.SelectedTab;
            if (tab == null)
                return;
            Registro reg = new Registro();
            try
            {
                reg = registros.First(item => item.guid == tab.guidRegistro);
            }
            catch (Exception)
            {
                return;
            }

            Objeto obj = new Objeto();
            try
            {
                obj  = reg.objetos.First(item => item.guid == tab.guidObjeto);
            }
            catch (Exception)
            {
                return;
            }

            Codigo cod = new Codigo();
            try
            {
                cod = obj.codigos.First(item => item.guid == tab.guidCodigo);
            }
            catch (Exception)
            {
                return;
            }

            string leng = lenguajes.First(item => item.guid == obj.lenguaje).nombre;
            toolObjetoActual.Text = obj.guid + " | " + obj.nombre_objeto + " (" + leng + ")";
            toolCodigoActual.Text = "Version " + cod.version + "/" + obj.codigos.Count;
        }
Пример #2
0
        private void listRegistros_SelectedIndexChanged(object sender, EventArgs e)
        {
            listObjetos.Clear();
            tabs.TabPages.Clear();

            if (listRegistros.SelectedItems.Count == 0)
            {
                return;
            }

            ListViewItemCustom registroClicked = (ListViewItemCustom)listRegistros.SelectedItems[0];
            string guid = registroClicked.guid;
            if (guid == GUID_NUEVO_REGISTRO)
                return;
            Registro registro = registros.First(item => item.guid == guid);
            foreach (Objeto obj in registro.objetos)
            {

                Codigo cod = new Codigo() ;
                if (obj.codigos.Count>0)
                {

                    //Cogemos el que tenga versión mayor
                    cod = obj.codigos[0];
                    foreach (Codigo item in obj.codigos)
                    {
                        if (item.version > cod.version)
                            cod = item;
                    }
                    HLCode code = new HLCode();

                    code.guidCodigo = cod.guid;
                    code.guidObjeto = obj.guid;
                    code.guidRegistro = registro.guid;
                    code.nombreObjeto = obj.nombre_objeto;

                    iniciarConfiguracionCodigo(code);
                    bool encontrado = false;

                    foreach (CodigoModificado item in codigosModificados)
                    {
                        if (item.guidCodigo == code.guidCodigo && item.guidObjeto == code.guidObjeto && item.guidRegistro == code.guidRegistro)
                        {
                            code.Text = item.codigo;
                            encontrado = true;
                        }

                    }
                    if (!encontrado)
                        code.Text = cod.codigo;
                    actualizarLineasMostradas(code, 0);
                    code.Leave += code_Leave;
                    code.TextChanged += code_TextChanged;
                    code.Insert += code_Insert;
                    code.Delete += code_Delete;
                    code.Click += code_Click;
                    string nombreTab = obj.nombre_objeto;
                    if (encontrado)
                        nombreTab =  nombreTab + "*" ;

                    TabPageCustom tab = new TabPageCustom(nombreTab);

                    tab.guidCodigo = cod.guid;
                    tab.guidObjeto = obj.guid;
                    tab.guidRegistro = registro.guid;
                    tab.nombreObjeto = obj.nombre_objeto;
                    int indexLenguaje = lenguajes.First(item => item.guid == obj.lenguaje).indexImageList;

                    tab.ImageIndex = indexLenguaje;
                    code.Left = 0;
                    code.Top = 0;
                    code.Dock = DockStyle.Fill;
                    //code.Anchor = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top | AnchorStyles.Bottom;
                    tab.Controls.Add(code);
                    tabs.Controls.Add(tab);
                    tabs_Click(tab, null);
                }
            }

            try
            {
                Objeto objSeleccionado = (Objeto)sender;
                foreach (TabPageCustom item in tabs.TabPages)
                {
                    if (item.guidObjeto == objSeleccionado.guid)
                    {
                        tabs.SelectedTab = item;
                        tabs_Click(null, null);
                        break;
                    }
                }
            }
            catch (Exception)
            {

            }

            TabPageCustom tabNueva = new TabPageCustom("Nuevo");
            tabNueva.ImageIndex = 0;
            tabNueva.guidCodigo = GUID_NUEVO_OBJETO;
            tabNueva.guidObjeto = GUID_NUEVO_OBJETO;
            tabNueva.guidRegistro = registro.guid;

            tabs.Controls.Add(tabNueva);

            ultimoRegistroSeleccionado = registro;
        }
Пример #3
0
        public void actualizarListas(Registro regSeleccionado = null, Objeto objSeleccionado = null)
        {
            tabs.TabPages.Clear();
            listObjetos.Items.Clear();
            //imgIconosVersiones = new ImageList();
            //imgIconosVersiones.ImageSize = new Size(32, 32);
            int max = -1;
            foreach (Registro item in registros)
            {
                foreach (Objeto item2 in item.objetos)
                {
                    foreach (Codigo item3 in item2.codigos)
                    {
                        if (item3.version > max)
                        {
                            max = item3.version;
                        }
                    }
                }
            }
            max += 1;
            for (int i = maxIconosAnterior; i < max; i++)
            {
                imgIconosVersiones.Images.Add(getIconoVersion(i + ""));
            }
            maxIconosAnterior = max;
            listRegistros.Clear();
            listRegistros.SmallImageList = imgListIconos32;
            listRegistros.LargeImageList = imgListIconos32;
            listRegistros.View = View.Tile;
            listRegistros.Dock = DockStyle.Fill;
            listRegistros.TileSize = new Size(200, 45);
            listRegistros.Columns.AddRange(new ColumnHeader[] { new ColumnHeader(), new ColumnHeader(), new ColumnHeader() });

            ListViewItemCustom nuevoRegistro = new ListViewItemCustom(new string[] { "Nuevo", "Crear un nuevo registro", "" });
            nuevoRegistro.guid = GUID_NUEVO_REGISTRO;
            nuevoRegistro.tipo = ListViewItemCustom.TIPO_REGISTRO;
            nuevoRegistro.ImageIndex = 1;
            listRegistros.Items.Add(nuevoRegistro);
            foreach (Registro reg in registros)
            {

                ListViewItemCustom item = new ListViewItemCustom(new string[] { reg.nombre, reg.descripcion, reg.fecha_modificacion.ToShortDateString() });
                item.guid = reg.guid;
                item.tipo = ListViewItemCustom.TIPO_REGISTRO;
                item.ImageIndex = 0;
                listRegistros.Items.Add(item);

            }
            if (regSeleccionado != null)
            {
                foreach (ListViewItemCustom item in listRegistros.Items)
                {
                    if (item.guid == regSeleccionado.guid)
                    {
                        item.Selected = true;
                        break;
                    }
                }
                listRegistros_SelectedIndexChanged(objSeleccionado, null);
            }
        }
Пример #4
0
        public Registro convertirParametrosARegistro(List<parametroQuery> lista)
        {
            Registro salida = new Registro();
            foreach (parametroQuery item in lista)
            {
                switch (item.nombre)
                {
                    case "guid":
                        salida.guid = (string) item.valor;
                        break;
                    case "nombre":
                        salida.nombre = (string)item.valor;
                        break;
                    case "descripcion":
                        salida.descripcion = (string)item.valor;
                        break;
                    case "fecha_creacion":
                        salida.fecha_creacion = (DateTime)item.fecha;
                        break;
                    case "fecha_modificacion":
                        salida.fecha_modificacion = (DateTime)item.fecha;
                        break;
                    case "usuario":
                        salida.usuario = (string)item.valor;
                        break;

                    default:
                        break;
                }
            }
            return salida;
        }
Пример #5
0
        public List<Registro> getRegistros(int numero)
        {
            List<Registro> salida = new List<Registro>();

            DataTable registros = ejecutarQuerySelect("select top " + numero + " * from registros order by fecha_modificacion desc");
            foreach (DataRow item in registros.Rows)
            {
                Registro reg = new Registro();
                reg.objetos = new List<Objeto>();
                reg.guid = item.Field<string>("guid");
                reg.descripcion = item.Field<string>("descripcion");
                reg.nombre = item.Field<string>("nombre");
                reg.fecha_creacion = item.Field<DateTime>("fecha_creacion");
                reg.fecha_modificacion = item.Field<DateTime>("fecha_modificacion");

                DataTable objetos = ejecutarQuerySelect("select * from objetos where guid_registro = '" + reg.guid + "'  order by fecha_modificacion desc");
                foreach (DataRow item2 in objetos.Rows)
                {
                    Objeto obj = new Objeto();
                    obj.codigos = new List<Codigo>();
                    obj.guid = item2.Field<string>("guid");

                    obj.nombre_objeto = item2.Field<string>("nombre_objeto");
                    obj.fecha_creacion = item2.Field<DateTime>("fecha_creacion");
                    obj.fecha_modificacion = item2.Field<DateTime>("fecha_modificacion");
                    obj.lenguaje = item2.Field<string>("lenguaje");
                    DataTable codigos = ejecutarQuerySelect("select * from codigos where guid_objeto = '" + obj.guid + "'  order by fecha_modificacion desc");
                    foreach (DataRow item3 in codigos.Rows)
                    {
                        Codigo cod = new Codigo();
                        cod.guid = item3.Field<string>("guid");
                        cod.version = item3.Field<int>("version");
                        cod.codigo = item3.Field<string>("codigo");
                        cod.fecha_creacion = item3.Field<DateTime>("fecha_creacion");
                        cod.fecha_modificacion = item3.Field<DateTime>("fecha_modificacion");
                        obj.codigos.Add(cod);
                    }

                    reg.objetos.Add(obj);
                }

                salida.Add(reg);
            }

            return salida;
        }