// Borra el ultimo item agregado a la lista private void gbQuitarUltimo_Click(object sender, EventArgs e) { string l_Message = "Si realiza esta accion se borrara el ultimo item de la lista"; // Si toca cancelar no borra nada if (MsgRuts.ShowMsg(this, l_Message, MessageBoxButtons.OKCancel) == DialogResult.Cancel) { return; } // Si le dio OK al dialog. // creamos una lista nueva y encontramos los items que tienen el ultimo numeroAgrupador para borrarlos. Bel.LEOTItems l_itemsUltimos = Bel.LEOTItems.NewEmpty(); foreach (Bel.EOTItem item in m_leOTItems) { //si tiene el ultimo numero agrupador ingresado lo agregamos a los ultimos if (item.Nroagrupador == (m_intNumeroAgrupador - 1)) { l_itemsUltimos.AddEntity(item); } } // los borramos a todos los ultimos foreach (Bel.EOTItem item in l_itemsUltimos) { m_leOTItems.RemoveEntity(item.Nroot, item.Nroagrupador, item.Nroitem); } // LLenamos la grilla con lista entidad FillFromLEOTItemsConAnchoDeColumna(fgControlRepaSeleccionados, m_leOTItems); //restamos uno al contador de agrupadores m_intNumeroAgrupador = m_intNumeroAgrupador - 1; // Si la lista esta vacia deshabilitamos los Botones Quitar if (m_leOTItems.Count == 0) { HabilitarBotonesQuitar(false); } }
// Borra el item seleccionado de la grilla private void gbQuitarSeleccionado_Click(object sender, EventArgs e) { // chequeamos que algun items este seleccionado if (neSeleccionado.Numero == 0) { MsgRuts.ShowMsg(this, "no hay ningun item seleccionado"); return; } string l_Message = "Si realiza esta accion se borrara el/los elementos seleccionado de la lista"; // Si toca cancelar no borra nada if (MsgRuts.ShowMsg(this, l_Message, MessageBoxButtons.OKCancel) == DialogResult.Cancel) { return; } // Si le dio OK al dialog. // creamos una lista nueva y encontramos los items que tienen el ultimo numeroAgrupador para borrarlos. Bel.LEOTItems l_itemsABorrar = Bel.LEOTItems.NewEmpty(); foreach (Bel.EOTItem item in m_leOTItems) { //si tiene el ultimo numero agrupador ingresado lo agregamos a los ultimos if (item.Nroagrupador == (neSeleccionado.Numero)) { l_itemsABorrar.AddEntity(item); } } // los borramos a todos los ultimos foreach (Bel.EOTItem item in l_itemsABorrar) { m_leOTItems.RemoveEntity(item.Nroot, item.Nroagrupador, item.Nroitem); } // Bajamos en uno al los agrupadores para que sigan en orden // Primero tenemos que crear una lista entidad con los captions donde vamos a poner la lista mofidicada Bel.LEOTItems l_LEOTActualizada = Bel.LEOTItems.NewEmpty(); ConfigurarCaptionsLEOitems(l_LEOTActualizada); // Recorremos la lista y vamos llenando con las modificaciones foreach (Bel.EOTItem item in m_leOTItems) { if (item.Nroagrupador > neSeleccionado.Numero) { item.Nroagrupador = item.Nroagrupador - 1; } l_LEOTActualizada.AddEntity(item); } // y por ultimo Asignamos la list Nueva a la Miembro m_leOTItems = l_LEOTActualizada; //establecemos como numero seleccionado a 0, que representa NO SELECCIONADO neSeleccionado.Numero = 0; // LLenamos la grilla con lista entidad miembro FillFromLEOTItemsConAnchoDeColumna(fgControlRepaSeleccionados, m_leOTItems); //restamos uno al contador de agrupadores m_intNumeroAgrupador = m_intNumeroAgrupador - 1; // Si la lista esta vacia deshabilitamos los Botones Quitar if (m_leOTItems.Count == 0) { HabilitarBotonesQuitar(false); } }
// Agrega un control o una reparacion a nuestra listaEntidad de items private void gbAgregar_Click(object sender, EventArgs e) { if (rbControles.Checked) { // Obtenemos todas las reparaciones de el control seleccionado y el Control selecionado Bel.LEControlesRepa l_leControlReparaciones = Bll.Controles.CrepFGet(lstControlesReparaciones.SelectedStrCode, true, m_smResult); if (MsgRuts.AnalizeError(this, m_smResult)) { return; } Bel.EControl l_entControlSeleccionado = Bll.Controles.Get(lstControlesReparaciones.SelectedStrCode, true, m_smResult); if (MsgRuts.AnalizeError(this, m_smResult)) { return; } // Declaramos un contador para que numero en el agrupador int l_iContador = 1; // Por cada una de las reparaciones del control, llenamos una entidad foreach (Bel.EControlRepa controlRepa in l_leControlReparaciones) { Bel.EReparacion l_eRepaSelec = obtenerReparacion(controlRepa.Codrep); if (!hayTallerQueResuelvaTodo(l_eRepaSelec)) { return; } EOTItem itemToAdd = LLenarOTItem(l_eRepaSelec, m_intNumeroAgrupador, l_iContador, l_entControlSeleccionado.Des); // LLenamos la OTitem y lo agregamos a la lista entidad m_leOTItems.AddEntity(itemToAdd); // Aumentamos el contador de items l_iContador += 1; } } if (rbReparaciones.Checked) { Bel.EReparacion l_eRepaSelec = obtenerReparacion(lstControlesReparaciones.SelectedStrCode); if (!hayTallerQueResuelvaTodo(l_eRepaSelec)) { return; } EOTItem itemToAdd = LLenarOTItem(l_eRepaSelec, m_intNumeroAgrupador, 1, l_eRepaSelec.Des); // en una reparacion siempre la descripcion de control es la misma que la descripcion de reparacion // en una reparacion el numero de item siempre es 1, (porque es unica) m_leOTItems.AddEntity(itemToAdd); } // Si la lista no esta vacia habilitamos los Botones Quitar if (m_leOTItems.Count != 0) { HabilitarBotonesQuitar(true); } // LLenamos la grilla con lista entidad FillFromLEOTItemsConAnchoDeColumna(fgControlRepaSeleccionados, m_leOTItems); //aumentamos en uno al Agrupador m_intNumeroAgrupador += 1; // Reseteamos los campos de item. teComentario.Text = ""; deImporte.Decimal = 0; }