// Crea la nueva entidad OrdenTrabajo que tendra asociados a todos los items private Bel.EOrdenTrabajo CrearOrdenDeTrabajo(Bel.LEOTItems p_leOTItems, StatMsg p_smResult) { Bel.EOrdenTrabajo l_eOrdenNueva = Bel.EOrdenTrabajo.NewEmpty(); l_eOrdenNueva.Nro = neOrdenTrabajo.Numero; l_eOrdenNueva.Patente = cdcPatente.Text; l_eOrdenNueva.Codtaller = cdcTalleres.SelectedStrCode; l_eOrdenNueva.Fecapertura = DateTime.Today; // en la fecha cierre ponemos nuestra fecha null para que indique no esta abierta l_eOrdenNueva.Feccierre = new DateTime(1900, 1, 1); // Le asignamos el operador que realizo la orden l_eOrdenNueva.Operador = App.Usuario.Usuario; l_eOrdenNueva.Kmsactuales = Bll.Moviles.fGetKilometrajeActual(l_eOrdenNueva.Patente, p_smResult); if (MsgRuts.AnalizeError(this, p_smResult)) { return(null); } // Le asignamos los items que nos vienen por parametro l_eOrdenNueva.OTItems = p_leOTItems; l_eOrdenNueva.Pendiente(); return(l_eOrdenNueva); }
// Borra TODOS los items de la lista private void gbQuitarTodos_Click(object sender, EventArgs e) { string l_Message = "Si realiza esta accion borrara todos los items agregados hasta el momento"; // Si toca cancelar no borra nada if (MsgRuts.ShowMsg(this, l_Message, MessageBoxButtons.OKCancel) == DialogResult.Cancel) { return; } // Si le dio OK al dialog. entonces Vaciamos la lista m_leOTItems = Bel.LEOTItems.NewEmpty(); //configuramos los captions ConfigurarCaptionsLEOitems(m_leOTItems); // LLenamos la grilla con lista entidad FillFromLEOTItemsConAnchoDeColumna(fgControlRepaSeleccionados, m_leOTItems); neSeleccionado.Numero = 0; // Le asignamos 1 al agrupador para que empiece de nuevo. m_intNumeroAgrupador = 1; // Si la lista esta vacia deshabilitamos los Botones Quitar if (m_leOTItems.Count == 0) { HabilitarBotonesQuitar(false); } }
private void estadoInicialParaAltas() { // Estado Modificar es FALSO m_estadoMofidicar = false; // desabilitamos los IG y los Botones Quitar para que no puedan usarlos si no selecciona nada tgrpOpciones.Enabled = false; tgrpControlesYRep.Enabled = false; HabilitarBotonesQuitar(false); // LLenamos Las combos LLenarComboPatentesMoviles(); LLenarComboTalleres(); // seteamos el numero de OT neOrdenTrabajo.Numero = App.TaloGet("TaloOT", m_smResult).Valor; // Seteamos como nueva la lista entidad OTItems m_leOTItems = Bel.LEOTItems.NewEmpty(); ConfigurarCaptionsLEOitems(m_leOTItems); CargarListasEntidadesMiembros(); //seteamos el numero de agrupador como 1 m_intNumeroAgrupador = 1; }
// Constructor Edit public AltaOrdenes(int p_iNumeroOrdenTrabajo) { InitializeComponent(); // Estado Mofidicar es Verdadero m_estadoMofidicar = true; // desabilitamos los controles necesarios para que el usuario no pueda interactuar con ellos cdcPatente.Enabled = false; // Seteamos la el numero de orden trabajo en el TV neOrdenTrabajo.Numero = p_iNumeroOrdenTrabajo; // Traemos la orden con su lista de items asociada m_eOrdenAModificar = Bll.OrdenesTrabajo.Get(p_iNumeroOrdenTrabajo, true, m_smResult); if (MsgRuts.AnalizeError(this, m_smResult)) { return; } // Asignamos los items actuales que tiene la orden a nuestra lista m_leOTItems = m_eOrdenAModificar.OTItems; // Configuramos los captions de la lista entidad OTItems ConfigurarCaptionsLEOitems(m_leOTItems); // LLenamos la Grilla con el metodo especial FillFromLEOTItemsConAnchoDeColumna(fgControlRepaSeleccionados, m_leOTItems); // Configuramos los captions de la lista entidad OTItems ConfigurarCaptionsLEOitems(m_leOTItems); // LLenamos Las patentes que hay en la tabla y Seteamos la patente seleccionada del movil a la asociada en la OT cdcPatente.AddStrCD("patente", m_eOrdenAModificar.Patente, 1); cdcPatente.SelectedStrCode = "patente"; CargarListasEntidadesMiembros(); // por ultimo obtenemos el numero maximo de agrupador y le sumamos uno. m_intNumeroAgrupador = 1; foreach (Bel.EOTItem item in m_eOrdenAModificar.OTItems) { if (m_intNumeroAgrupador < item.Nroagrupador) { m_intNumeroAgrupador = item.Nroagrupador; } // Tenemos que llamar a este metodo para cada item de la orden para que actualice la lista de talleres posibles. EReparacion reparacionItem = EReparacion.NewEmpty(); reparacionItem.Codcat = item.Codcategoria; hayTallerQueResuelvaTodo(reparacionItem); } m_intNumeroAgrupador += 1; if (m_eOrdenAModificar.Codtaller.Trim() != "") { cdcTalleres.SelectedStrCode = m_eOrdenAModificar.Codtaller; } }
// Configura los captions de la ListaOTItems, para ver bien la grilla que muestra los items. private void ConfigurarCaptionsLEOitems(Bel.LEOTItems p_leOTItems) { p_leOTItems.ChangeCaption("oti_nro_nroot", "V1OrdenNN2"); p_leOTItems.ChangeCaption("oti_nro_nroagrupador", "V1aNN2"); p_leOTItems.ChangeCaption("oti_nro_nroitem", "V1iNN2"); p_leOTItems.ChangeCaption("oti_des_desoperacion", "V1ControlCN2"); p_leOTItems.ChangeCaption("oti_des_destarea", "V1ReparacionCN2"); p_leOTItems.ChangeCaption("oti_rcd_codcategoria", "V1CategoriaCN2"); p_leOTItems.ChangeCaption("oti_imp_importe", "V1Importe2N2"); p_leOTItems.ChangeCaption("oti_ede_comentario", ""); p_leOTItems.ChangeCaption("instante", ""); p_leOTItems.ChangeCaption("deleted", ""); p_leOTItems.ChangeCaption("usuario", ""); p_leOTItems.ChangeCaption("version", ""); }
// LLena una grilla con la ListaEntidad y Pone Tamanos de columnas para ajustar a pantalla private void FillFromLEOTItemsConAnchoDeColumna(FullGrid p_fullGrid, Bel.LEOTItems p_leOTItems) { p_leOTItems.ChangeCaption(EOTItem.NroagrupadorCmp, ""); p_leOTItems.ChangeCaption(EOTItem.NroitemCmp, ""); p_leOTItems.ChangeCaption(EOTItem.ImportecierreCmp, ""); p_leOTItems.ChangeCaption(EOTItem.EstadoCmp, ""); p_leOTItems.ChangeCaption(EOTItem.CodcategoriaCmp, ""); p_leOTItems.ChangeCaption("Oti_kilometraje", ""); p_leOTItems.ChangeCaption("Oti_categoria", ""); p_leOTItems.ChangeCaption(EOTItem.ComentariocierreCmp, ""); p_leOTItems.ChangeCaption(EOTItem.CodreparacionCmp, ""); p_leOTItems.ChangeCaption(EOTItem.ComentarioCmp, "V1ComentarioCN1"); p_fullGrid.FillFromLEntidad(p_leOTItems); p_fullGrid.ColWitdhs = "64;280;280;80;110;"; }
// 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); } }