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; }
public Codigo convertirParametrosACodigo(List<parametroQuery> lista) { Codigo salida = new Codigo(); foreach (parametroQuery item in lista) { switch (item.nombre) { case "guid": salida.guid = (string)item.valor; break; case "codigo": salida.codigo = (string)item.valor; break; case "version": salida.version = (int)item.valor; break; case "fecha_creacion": salida.fecha_creacion = (DateTime)item.fecha; break; case "fecha_modificacion": salida.fecha_modificacion = (DateTime)item.fecha; break; default: break; } } return salida; }
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; }
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; }