/// <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");
     }
 }
Exemplo n.º 2
0
        /// <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);
        }