/// <summary> /// Construye el Mantenimiento Equipo Aliado Idealease seleccionado. /// </summary> public void ConsultarMantenimientoEquipoCompleto() { MantenimientoEquipoAliadoBO seleccionado = vista.MantenimientosEquipoAliado[vista.Index]; seleccionado.Taller = getTallerCompleto(seleccionado.Taller); seleccionado.IngresoEquipoAliado.EquipoAliado.Sucursal = getSucursalCompleto(seleccionado.IngresoEquipoAliado.EquipoAliado.Sucursal); vista.MantenimientoToHash = getMantenimientoEquipoToHash(seleccionado); }
/// <summary> /// Obtiene el Mantenimiento Idealease, si el Mantenimiento Idealease es de Tipo Unidad se obtiene la información completa, /// si es de Tipo Equipo Aliado se obtiene el Mantenimiento Unidad. /// </summary> private void CargarDatosUnidad() { if (vista.Mantenimiento != null) { if (vista.Mantenimiento.MantenimientoUnidad != null && vista.Mantenimiento.MantenimientoUnidad.MantenimientoUnidadId != null) { mantenimientoSeleccionado = getMantenimientoCompleto(vista.Mantenimiento.MantenimientoUnidad); } else if (vista.Mantenimiento != null) { MantenimientoEquipoAliadoBO seleccionado = vista.Mantenimiento.MantenimientoAliado; if (seleccionado != null && seleccionado.MantenimientoEquipoAliadoId != null) { MantenimientoEquipoAliadoBR ctrlMantenimientoEquipoAliado = new MantenimientoEquipoAliadoBR(); mantenimientoSeleccionado = ctrlMantenimientoEquipoAliado.ConsultarMantenimientoUnidadPorMantenimientoEquipoAliado(dataContext, seleccionado.MantenimientoEquipoAliadoId); mantenimientoSeleccionado = getMantenimientoCompleto(mantenimientoSeleccionado); if (mantenimientoSeleccionado.MantenimientoUnidadId == null) { throw new Exception("No se encontró un Mantenimiento Unidad para el Mantenimiento Equipo Aliado"); } } else { throw new Exception("No se encontró un Mantenimiento Unidad o Mantenimiento Equipo Aliado"); } } if (mantenimientoSeleccionado != null) { ConsultarMantenimientoProgramadoBR ctrlMantenimientoProgramado = new ConsultarMantenimientoProgramadoBR(); int EquipoID = mantenimientoSeleccionado.IngresoUnidad.Unidad.EquipoID.Value; MantenimientoProgramadoBO mantenimientoProgramado = ctrlMantenimientoProgramado.ConsultarUltimoMantenimientoProgramado(dataContext, EquipoID, true, true); vista.Taller = mantenimientoSeleccionado.Taller; if (mantenimientoProgramado != null && mantenimientoProgramado.MantenimientoProgramadoID != null) { vista.Datos.Add("unidad", mantenimientoSeleccionado.IngresoUnidad.Unidad.NumeroSerie); vista.Datos.Add("tipoProximoServicio", mantenimientoProgramado.TipoMantenimiento.ToString()); vista.Datos.Add("fechaProximoServicio", mantenimientoProgramado.Fecha.Value.ToString("dd-MM-yyyy", CultureInfo.InvariantCulture)); vista.Datos.Add("kilometraje", mantenimientoSeleccionado.KilometrajeEntrada.ToString()); vista.Datos.Add("horas", mantenimientoSeleccionado.HorasEntrada.ToString()); vista.CargarDatosUnidad(); } else { vista.Datos.Add("unidad", mantenimientoSeleccionado.IngresoUnidad.Unidad.NumeroSerie); vista.Datos.Add("tipoProximoServicio", "SIN SERVICIO PROGRAMADO"); vista.Datos.Add("fechaProximoServicio", "SIN FECHA DE PROXIMO SERVICIO"); vista.Datos.Add("kilometraje", mantenimientoSeleccionado.KilometrajeEntrada.ToString()); vista.Datos.Add("horas", mantenimientoSeleccionado.HorasEntrada.ToString()); vista.CargarDatosUnidad(); //vista.MostrarMensaje("No se encontró un mantenimiento programado para la unidad", ETipoMensajeIU.ERROR); } } } else { throw new Exception("No se encontró un Mantenimiento Unidad o Mantenimiento Equipo Aliado"); } }
/// <summary> /// Crea y obtiene un nuevo Filtro del Mantenimiento Equipo Aliado Idealease por medio del Equipo Aliado Idealease seleccionado, para /// para realizar la búsqueda de los Mantenimientos Equipos Aliados Idealease. /// </summary> /// <param name="equipoAliado">Equipo Aliado seleccionado</param> /// <returns>Un objeto de Tipo MantenimientoEquipoAliadoBO</returns> private MantenimientoEquipoAliadoBO getFiltroMantenimientoEquipoAliado(EquipoAliadoBO equipoAliado) { MantenimientoEquipoAliadoBO filtroMantenimiento = new MantenimientoEquipoAliadoBO() { Activo = true, IngresoEquipoAliado = new IngresoEquipoAliadoBO() { EquipoAliado = equipoAliado } }; return(filtroMantenimiento); }
/// <summary> /// Convierte el Mantenimiento Equipo Aliado Idealease en un diccionario de datos. /// </summary> /// <param name="mantenimiento">El direccionario de datos.</param> /// <param name="equipoAliado">El Equipo Aliado relacionado.</param> /// <param name="mantenimientosEquiposAliados">Lista de Mantenimientos Equipos Aliados Idealease del Mantenimiento Unidad Idealease.</param> /// <param name="seleccionado">Mantenimiento Unidad Idealease encontrada.</param> /// <returns></returns> private DataRow getEquipoAliadoToDataRow(DataRow mantenimiento, EquipoAliadoBO equipoAliado, List <MantenimientoEquipoAliadoBO> mantenimientosEquiposAliados, MantenimientoUnidadBO seleccionado) { MantenimientoEquipoAliadoBO mantenimientoEquipoAliadoEncontrado = mantenimientosEquiposAliados.Find(x => x.IngresoEquipoAliado.EquipoAliado.EquipoAliadoID == equipoAliado.EquipoAliadoID); string kilometraje = "", horometro = "", tipoMantenimiento = "", modelo = ""; if (mantenimientoEquipoAliadoEncontrado != null && mantenimientoEquipoAliadoEncontrado.OrdenServicio.Id != null) { OrdenServicioBO ordenLider = FacadeBR.ConsultarOrdenServicio(dataContext, mantenimientoEquipoAliadoEncontrado.OrdenServicio).FirstOrDefault(); if (ordenLider.Unidad.KmHrs != null) { if ((bool)ordenLider.Unidad.KmHrs) { horometro = ordenLider.Unidad.KmHrsInicial.ToString(); kilometraje = mantenimientoEquipoAliadoEncontrado.KilometrajeEntrada.ToString(); } else { kilometraje = ordenLider.Unidad.KmHrsInicial.ToString(); } } tipoMantenimiento = mantenimientoEquipoAliadoEncontrado.TipoMantenimiento.ToString(); } else { kilometraje = horometro = tipoMantenimiento = "Sin orden de Servicio"; } if (equipoAliado.Modelo != null && equipoAliado.Modelo.Id != null) { modelo = equipoAliado.Modelo.Nombre; } else { BPMO.Servicio.Catalogos.BO.UnidadBO filtro = new BPMO.Servicio.Catalogos.BO.UnidadBO() { Id = equipoAliado.IDLider }; BPMO.Servicio.Catalogos.BO.UnidadBO equipoAliadoElider = FacadeBR.ConsultarUnidad(dataContext, filtro); if (equipoAliadoElider != null) { modelo = equipoAliadoElider.ConfiguracionModeloMotorizacion.Modelo != null && equipoAliadoElider.ConfiguracionModeloMotorizacion.Modelo.Nombre != null ? equipoAliadoElider.ConfiguracionModeloMotorizacion.Modelo.Nombre : ""; } } mantenimiento.ItemArray = new object[] { "", modelo, kilometraje, horometro, seleccionado.IngresoUnidad.Unidad.Cliente.NombreCompleto, tipoMantenimiento }; return(mantenimiento); }
/// <summary> /// Obtiene el maantenimiento que se va a auditar /// </summary> public void Consultar() { try { AuditoriaMantenimientoBO bo = new AuditoriaMantenimientoBO { OrdenServicio = this.vista.MantenimientoRecibido }; MantenimientoUnidadBO mantenimientoUnidad = new MantenimientoUnidadBO() { OrdenServicio = bo.OrdenServicio }; MantenimientoEquipoAliadoBO mantenimientoAliado = new MantenimientoEquipoAliadoBO() { OrdenServicio = bo.OrdenServicio }; List <MantenimientoUnidadBO> listMantenimientosUnidad = ctrMantenimientoUnidad.Consultar(dataContext, mantenimientoUnidad); if (listMantenimientosUnidad == null || listMantenimientosUnidad.Count == 0) { List <MantenimientoEquipoAliadoBO> listMantenimientoAliado = ctrMantenimientoEquipoAliado.Consultar(dataContext, mantenimientoAliado); if (listMantenimientoAliado != null && listMantenimientoAliado.Count > 0) { bo.TipoMantenimiento = (ETipoMantenimiento)listMantenimientoAliado.FirstOrDefault().TipoMantenimiento; } else { this.vista.MostrarMensaje("La búsqueda no produjo resultados", ETipoMensajeIU.INFORMACION, "No se encontraron coincidencias con los criterios ingresados. Verifique sus datos"); } } else { bo.TipoMantenimiento = (ETipoMantenimiento)listMantenimientosUnidad.FirstOrDefault().TipoMantenimiento; } bo = this.ComplementarDatos(bo); this.vista.Resultado = bo; this.DesplegarResultado(bo); } catch (Exception ex) { throw new Exception(this.nombreClase + ".Consultar:" + ex.Message); } }
/// <summary> /// Realiza la búsqueda del Mantenimiento Equipo Aliado Idealease por la Orden de Servicio E-Lider. /// </summary> /// <param name="ordenServicioElider"></param> /// <returns></returns> private bool BuscarEquipoAliadoPorOrdenElider(OrdenServicioBO ordenServicioElider) { bool encontrado = false; MantenimientoEquipoAliadoBO filtroMantenientoEquipoIdealease = new MantenimientoEquipoAliadoBO() { OrdenServicio = ordenServicioElider }; MantenimientoEquipoAliadoBO mantenimientoEquipoIdealease = ctrlMantenimientoEquipoAliado.Consultar(dataContext, filtroMantenientoEquipoIdealease).FirstOrDefault(); if (mantenimientoEquipoIdealease != null && mantenimientoEquipoIdealease.MantenimientoEquipoAliadoId != null) { EquipoAliadoBO filtroEquipoIdealease = new EquipoAliadoBO() { EquipoAliadoID = mantenimientoEquipoIdealease.IngresoEquipoAliado.EquipoAliado.EquipoAliadoID }; EquipoAliadoBR ctrlEquipoIdealease = new EquipoAliadoBR(); EquipoAliadoBO equipoIdealease = ctrlEquipoIdealease.Consultar(dataContext, filtroEquipoIdealease).FirstOrDefault(); if (equipoIdealease != null && equipoIdealease.EquipoID != null) { if (equipoIdealease.Modelo == null || equipoIdealease.Modelo.Id == null) { BPMO.Servicio.Catalogos.BO.UnidadBO filtro = new BPMO.Servicio.Catalogos.BO.UnidadBO() { Id = equipoIdealease.IDLider }; BPMO.Servicio.Catalogos.BO.UnidadBO unidadLider = FacadeBR.ConsultarUnidad(dataContext, filtro); equipoIdealease.Modelo = unidadLider.ConfiguracionModeloMotorizacion.Modelo; } mantenimientoEquipoIdealease.IngresoEquipoAliado.EquipoAliado = equipoIdealease; mantenimientoEquipoIdealease.OrdenServicio = ordenServicioElider; vista.MantenimientosEquipoAliado = new List <MantenimientoEquipoAliadoBO>(); vista.MantenimientosEquipoAliado.Add(mantenimientoEquipoIdealease); encontrado = true; } } return(encontrado); }
/// <summary> /// Convierte el Mantenimiento Equipo Aliado Idealease en un diccionario de datos. /// </summary> /// <param name="seleccionado">El Mantenimiento Equipo Aliado Idealease seleccionado.</param> /// <returns>Un nuevo diccionario de datos.</returns> private Dictionary <string, string> getMantenimientoEquipoToHash(MantenimientoEquipoAliadoBO seleccionado) { Dictionary <string, string> datos = new Dictionary <string, string>(); EquipoAliadoBO equipo = seleccionado.IngresoEquipoAliado.EquipoAliado; datos.Add("id", seleccionado.MantenimientoEquipoAliadoId.ToString()); datos.Add("numeroSerie", equipo.NumeroSerie); datos.Add("numeroEconomico", "N/A"); datos.Add("modelo", equipo.Modelo.Nombre); MantenimientoUnidadBO m = ctrlMantenimientoEquipoAliado.ConsultarMantenimientoUnidadPorMantenimientoEquipoAliado(dataContext, seleccionado.MantenimientoEquipoAliadoId); if (m.IngresoUnidad.Unidad.Cliente.Id != null) { m.IngresoUnidad.Unidad.Cliente = getClienteCompleto(m.IngresoUnidad.Unidad.Cliente); datos.Add("cliente", m.IngresoUnidad.Unidad.Cliente.NombreCompleto); } else { datos.Add("cliente", "N/D"); } datos.Add("kilometraje", seleccionado.KilometrajeEntrada != null ? seleccionado.KilometrajeEntrada.ToString() : "N/D"); datos.Add("horometro", seleccionado.HorasEntrada != null ? seleccionado.HorasEntrada.ToString() : "N/D"); datos.Add("totalCombustible", ""); datos.Add("sucursal", equipo.Sucursal.Nombre); datos.Add("taller", seleccionado.Taller.Nombre); datos.Add("combustibleEntrada", ""); datos.Add("combustibleSalida", ""); if (seleccionado.TipoServicio != null && seleccionado.TipoServicio.Id != null && seleccionado.TipoServicio.Id > 0) { switch (seleccionado.TipoServicio.Id) { case (int)ETipoMantenimientoIdealease.CORRECTIVO: datos.Add("tipoServicio", "Correctivo"); datos.Add("tipoMantenimiento", "CORRECTIVO"); break; case (int)ETipoMantenimientoIdealease.PREVENTIVO: datos.Add("tipoServicio", "Preventivo"); datos.Add("tipoMantenimiento", seleccionado.TipoMantenimiento.ToString()); break; } } else { datos.Add("tipoServicio", "N/D"); datos.Add("tipoMantenimiento", seleccionado.TipoMantenimiento.ToString()); } if (seleccionado.Auditoria.UC != null) { UsuarioBO filtroControlista = new UsuarioBO() { Id = seleccionado.Auditoria.UC }; UsuarioBO controlista = FacadeBR.ConsultarUsuario(dataContext, filtroControlista).FirstOrDefault(); if (controlista != null && controlista.Id != null) { datos.Add("controlista", controlista.Nombre); } } else { datos.Add("controlista", "N/D"); } datos.Add("operador", m.IngresoUnidad.Operador); datos.Add("inventario", seleccionado.Inventario); datos.Add("falla", seleccionado.DescripcionFalla); datos.Add("codigosFalla", seleccionado.CodigosFalla); datos.Add("observaciones", seleccionado.IngresoEquipoAliado.ObservacionesOperador); datos.Add("fechaApertura", seleccionado.FechaArranque.ToString()); datos.Add("fechaCierre", seleccionado.FechaSalida.ToString()); return(datos); }