//--------------------------------------------------------------- // Metodos públicos de la clase //--------------------------------------------------------------- #region Metodos publicos de la clase /// <summary> /// Devuelve la lista entidades de ordenes de trabajo de un movil (buscando por patente) /// </summary> /// <param name="p_strPatente"></param> /// <param name="p_smResult"></param> /// <returns>ListaEOrdenes De Trabajo</returns> public static LEOrdenesTrabajo ObtenerOTsPorPatente(string p_strPatente, StatMsg p_smResult) { DBConn l_dbcAccess = null; LEOrdenesTrabajo l_LEOrdenesTrabajo = LEOrdenesTrabajo.NewEmpty(); try { // Obtenemos una conexion y abrimos una transaccion l_dbcAccess = DBRuts.GetConection(Connections.Dat); l_dbcAccess.BeginTransaction(); // Por cada equipamiento de la lista lo grabamos, con la misma coneccion todos l_LEOrdenesTrabajo = Bll.OrdenesTrabajo.getPendByPatente(l_dbcAccess, p_strPatente, p_smResult); } catch (Exception l_expData) { // Error p_smResult.BllError(l_expData.ToString()); } finally { // Si pude abrir la conexion if (l_dbcAccess != null) { // Finalizo la transacción y la cierro l_dbcAccess.EndTransaction(p_smResult); l_dbcAccess.Close(); } } return(l_LEOrdenesTrabajo); }
private void CargarOrdenes(LEOrdenesTrabajo ordenesACargar) { xpPanelOrdenes.Controls.Clear(); if (ordenesACargar.Count == 0) { return; } // Separamos el primer caso por cuestion de la location. EOrdenTrabajo primeraOrden = ordenesACargar.First(); itemBarra primerItem = newItemFromOrden(primeraOrden); primerItem.FuiSeleccionado += unItem_FueSeleccionado; primerItem.Seleccionado = true; m_ibItemSeleccionado = primerItem; primerItem.Location = new Point(0, 0); xpPanelOrdenes.Controls.Add(primerItem); ordenesACargar.RemoveEntity(primerItem.Numero); // Recorremos el resto de la lista. foreach (EOrdenTrabajo orden in ordenesACargar) { agregarOrdenPendiente(orden); } }
private void actualizarOrdenesEnPantalla() { LEOrdenesTrabajo ordenesPendientes = Bll.OrdenesTrabajo.getPendientes(m_smResult); if (MsgRuts.AnalizeError(this, m_smResult)) { return; } CargarOrdenes(ordenesPendientes); }
private void gbFiltrar_Click(object sender, EventArgs e) { if (!gbFiltrar.Checked) { if (cdcMoviles.SelectedStrCode == "") { MsgRuts.ShowMsg(this, "No se puede filtrar por todas las ordenes. Elija un móvil antes de clickear filtrar."); return; } LEOrdenesTrabajo ordenesPorMovil = Bll.OrdenesTrabajo.ObtenerOTsPorPatente(cdcMoviles.SelectedStrCode, m_smResult); if (MsgRuts.AnalizeError(this, m_smResult)) { return; } if (ordenesPorMovil.Count == 0) { MsgRuts.ShowMsg(this, "El Movil elegido no tiene ordenes de trabajo asociadas"); return; } CargarOrdenes(ordenesPorMovil); gbFiltrar.Checked = true; gbFiltrar.Text = "Quitar Filtro"; cdcMoviles.Enabled = false; } else { actualizarOrdenesEnPantalla(); cdcMoviles.SelectedStrCode = ""; gbFiltrar.Checked = false; gbFiltrar.Text = "Filtrar"; cdcMoviles.Enabled = true; } }
public static void fCerrarOrden(EOrdenTrabajo p_eOrdenACerrar, StatMsg p_smResult) { DBConn l_dbcAccess = null; try { // Obtenemos una conexion l_dbcAccess = DBRuts.GetConection(Connections.Dat); l_dbcAccess.BeginTransaction(); int kilometrajeActualMovil = Bll.Moviles.fGetKilometrajeActualWithConn(l_dbcAccess, p_eOrdenACerrar.Patente, p_smResult); if (p_smResult.NOk) { return; } // Conseguimos la fecha de hoy DateTime l_dtToday = BllRuts.GetDBNow(l_dbcAccess, false, p_smResult); if (p_smResult.NOk) { return; } p_eOrdenACerrar.Kmsactuales = kilometrajeActualMovil; p_eOrdenACerrar.Feccierre = l_dtToday; p_eOrdenACerrar.Finalizada(); Bll.OrdenesTrabajo.SSav(l_dbcAccess, p_eOrdenACerrar, p_smResult); if (p_smResult.NOk) { return; } // Pedimos los registros de la tabla EMovilEstado estadoActual = Bll.Moviles.fGetMovilEstadoActual(l_dbcAccess, p_eOrdenACerrar.Patente, p_smResult); if (p_smResult.NOk) { return; } LEOrdenesTrabajo ordenesPendientes = OrdenesTrabajo.getPendByPatente(l_dbcAccess, p_eOrdenACerrar.Patente, p_smResult); if (p_smResult.NOk) { return; } // Si el movil esta en mantenimiento y acabamos de cerrar la ultima orden en progreso, pasamos el movil a disponible. if (estadoActual.EstaEnEstadoMantenimiento && !ordenesPendientes.ToList().Exists(ordenPend => ordenPend.EstaEnProgreso)) { fGrabarEstadoMovil(l_dbcAccess, p_eOrdenACerrar.Patente, EMovilEstado.EstadoDisponible, p_smResult); if (p_smResult.NOk) { return; } } } catch (Exception l_expData) { // Error en la operacion p_smResult.BllError(l_expData.ToString()); } finally { // Si pude abrir la conexion -> la cierro if (l_dbcAccess != null) { l_dbcAccess.EndTransaction(p_smResult); l_dbcAccess.Close(); } } }