Exemplo n.º 1
0
 /// <summary>
 ///  Inicializa la Vista
 /// </summary>
 /// <param name="unidad">Unidad a Cargar en la Vista</param>
 /// <param name="díasRenta">Duración en días del contrato</param>
 /// <param name="codigoMoneda">Código de la moneda</param>
 public void Inicializar(UnidadBO unidad, int?díasRenta, string codigoMoneda)
 {
     vista.UnidadOperativaID = unidad.Sucursal.UnidadOperativa.Id;
     vista.CodigoMoneda      = codigoMoneda;
     Inicializar();
     DatosAInterfazUsuario(unidad);
 }
Exemplo n.º 2
0
        private void EstablecerDatosNavegacion(object paqueteNavegacion)
        {
            Hashtable parameters = new Hashtable();

            try
            {
                if (paqueteNavegacion == null)
                {
                    throw new Exception("Se esperaba un objeto en la navegación. No se puede identificar qué acta de nacimiento se desea consultar.");
                }
                if (!(paqueteNavegacion is BO.UnidadBO))
                {
                    throw new Exception("Se esperaba una Unidad de Idealease.");
                }

                UnidadBO bo = (BO.UnidadBO)paqueteNavegacion;

                #region SC0006 - Adición de datos de siniestro
                parameters["UnidadBO"]          = bo;
                parameters["SiniestroUnidadBO"] = this.RecuperarHistorialSiniestro(bo);
                this.DatoAInterfazUsuario(parameters);
                #endregion
            }
            catch (Exception ex)
            {
                #region SC0006 - Adición de datos de siniestro
                parameters["UnidadBO"] = new BO.UnidadBO();
                this.DatoAInterfazUsuario(parameters);
                #endregion
                throw new Exception(this.nombreClase + ".EstablecerDatosNavegacion: " + ex.Message);
            }
        }
        /// <summary>
        /// Devuelve un objeto de negocio a partir de la información de la vista
        /// </summary>
        /// <returns>BO con la información a editar</returns>
        private UnidadBO InterfazUsuarioADato()
        {
            var bo = new UnidadBO((UnidadBO)this.vista.ObjetoEdicion);

            bo.Sucursal.Id     = this.vista.SucursalDestinoID.HasValue ? (int?)this.vista.SucursalDestinoID.Value : null;
            bo.Sucursal.Nombre = !string.IsNullOrEmpty(this.vista.NombreSucursalDestino) && !string.IsNullOrWhiteSpace(this.vista.NombreSucursalDestino)
                                     ? this.vista.NombreSucursalDestino
                                     : string.Empty;

            if (bo.EquiposAliados != null)
            {
                if (bo.EquiposAliados.Count > 0)
                {
                    foreach (var aliado in bo.EquiposAliados)
                    {
                        if (aliado.Sucursal == null)
                        {
                            aliado.Sucursal = new SucursalBO();
                        }

                        aliado.Sucursal.Id = this.vista.SucursalDestinoID;
                        aliado.UUA         = this.vista.UsuarioID;
                        aliado.FUA         = DateTime.Now;
                    }
                }
            }

            bo.UUA = this.vista.UsuarioID;
            bo.FUA = DateTime.Now;

            return(bo);
        }
 /// <summary>
 ///  Inicializa la Vista
 /// </summary>
 /// <param name="unidad">Unidad a Cargar en la Vista</param>
 /// <param name="PlazoAnios">Plazo del Contrato en Años</param>
 public void Inicializar(UnidadBO unidad, int?PlazoAnios)
 {
     Inicializar();
     vista.PlazoAnio         = PlazoAnios;
     vista.OpcionCompra      = false;
     vista.UnidadOperativaID = unidad.Sucursal.UnidadOperativa.Id;
     vista.ImporteCompra     = null;
     DatosAInterfazUsuario(unidad);
 }
Exemplo n.º 5
0
        /// <summary>
        /// Convierte el Mantenimiento Unidad Idealease en un diccionario de datos.
        /// </summary>
        /// <param name="seleccionado">El Mantenimiento Unidad Idealease seleccionado.</param>
        /// <returns>Un nuevo diccionario de datos.</returns>
        private Dictionary <string, string> getMantenimientoUnidadToHash(MantenimientoUnidadBO seleccionado)
        {
            Dictionary <string, string> datos = new Dictionary <string, string>();

            BPMO.SDNI.Equipos.BO.UnidadBO unidad = seleccionado.IngresoUnidad.Unidad;
            datos.Add("id", seleccionado.MantenimientoUnidadId.ToString());
            datos.Add("numeroSerie", unidad.NumeroSerie);
            datos.Add("numeroEconomico", unidad.NumeroEconomico);
            datos.Add("modelo", unidad.Modelo.Nombre);
            datos.Add("cliente", unidad.Cliente.NombreCompleto);
            datos.Add("kilometraje", seleccionado.KilometrajeEntrada.ToString());
            datos.Add("horometro", seleccionado.HorasEntrada.ToString());
            datos.Add("totalCombustible", seleccionado.CombustibleTotal.ToString());
            datos.Add("sucursal", unidad.Sucursal.Nombre);
            datos.Add("taller", seleccionado.Taller.Nombre);

            datos.Add("combustibleEntrada", seleccionado.CombustibleEntrada.ToString());
            datos.Add("combustibleSalida", seleccionado.CombustibleSalida.ToString());
            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", "");
                datos.Add("tipoMantenimiento", seleccionado.TipoMantenimiento.ToString());
            }
            datos.Add("controlista", seleccionado.IngresoUnidad.Controlista.Nombre);
            datos.Add("operador", seleccionado.IngresoUnidad.Operador);
            datos.Add("inventario", seleccionado.Inventario);
            datos.Add("falla", seleccionado.DescripcionFalla);
            datos.Add("codigosFalla", seleccionado.CodigosFalla);
            datos.Add("observaciones", seleccionado.IngresoUnidad.ObservacionesOperador);
            datos.Add("fechaApertura", seleccionado.FechaArranque.ToString());
            datos.Add("fechaCierre", seleccionado.FechaSalida.ToString());

            return(datos);
        }
Exemplo n.º 6
0
 /// <summary>
 /// Establece una nueva instancia de la Unidad E-Lider seleccionada, el tipo de Unidad E-Lider y la lista de Mantenimientos Unidad Idealease encontradas.
 /// </summary>
 private void IniciarVariablesSession()
 {
     if (Session["esUnidad"] == null)
     {
         Session["esUnidad"] = true;
     }
     if (Session["unidadEdicionEncontrada"] == null)
     {
         Session["unidadEdicionEncontrada"] = new BPMO.SDNI.Equipos.BO.UnidadBO();
     }
     if (Session["listaEdicionOrdenesServicio"] == null)
     {
         Session["listaEdicionOrdenesServicio"] = new List <MantenimientoUnidadBO>();
     }
 }
        /// <summary>
        /// Obtiene la Unidad con sus datos completos
        /// </summary>
        /// <param name="unidad"></param>
        /// <returns></returns>
        private UnidadBO ObtenerUnidad(UnidadBO unidad)
        {
            if (unidad != null && (unidad.UnidadID != null))
            {
                var unidadBR = new UnidadBR();

                return(unidadBR
                       .ConsultarCompleto(dataContext, new UnidadBO()
                {
                    UnidadID = unidad.UnidadID
                }, true)
                       .FirstOrDefault());
            }
            throw new Exception("Se requiere proporcionar una Unidad para desplegar su información.");
        }
        private object InterfazUsuarioADato()
        {
            UnidadBO bo = new UnidadBO();

            if (this.vista.UltimoObjeto != null)
            {
                bo = new UnidadBO((UnidadBO)this.vista.UltimoObjeto);
            }

            bo.EstatusActual = EEstatusUnidad.Disponible;
            bo.UUA           = this.vista.UsuarioID;
            bo.FUA           = DateTime.Now;

            return(bo);
        }
        /// <summary>
        /// Obtiene la Unidad con sus datos completos
        /// </summary>
        /// <param name="unidad"></param>
        /// <returns></returns>
        private UnidadBO ObtenerUnidad(UnidadBO unidad)
        {
            if (unidad != null && (unidad.UnidadID != null || unidad.EquipoID != null))
            {
                var unidadBR = new UnidadBR();

                List <UnidadBO> listado = unidadBR.ConsultarCompleto(dataContext, unidad, true);

                UnidadBO resultado = listado.Find(
                    unid => unidad.UnidadID == unid.UnidadID && unid.EquipoID == unidad.EquipoID);

                return(resultado);
            }
            throw new Exception("Se requiere proporcionar una Unidad para desplegar su información.");
        }
        /// <summary>
        /// Despliega los datos de la unidad a la interfaz
        /// </summary>
        /// <param name="unidad"></param>
        private void DatosAInterfazUsuario(UnidadBO unidad)
        {
            UnidadBO consultada = ObtenerUnidad(unidad);

            if (consultada == null)
            {
                throw new Exception("No se ha proporcionado una unidad a agregar");
            }

            vista.UnidadID = consultada.UnidadID;

            vista.EquipoID = consultada.EquipoID;

            vista.VIN = !string.IsNullOrEmpty(consultada.NumeroSerie) ? consultada.NumeroSerie : string.Empty;

            vista.NumeroEconocimico = !string.IsNullOrEmpty(consultada.NumeroEconomico) ? consultada.NumeroEconomico : string.Empty;

            vista.Anio = consultada.Anio;

            if (consultada.Modelo == null)
            {
                consultada.Modelo = new ModeloBO();
            }
            vista.Modelo = consultada.Modelo.Nombre;

            if (consultada.CaracteristicasUnidad != null)
            {
                vista.PBC = consultada.CaracteristicasUnidad.PBCMaximoRecomendado;
                vista.PBV = consultada.CaracteristicasUnidad.PBVMaximoRecomendado;
            }

            if (consultada.Mediciones != null && consultada.Mediciones.Odometros != null)
            {
                int?primerOdometroID = consultada.Mediciones.Odometros.Min(o => o.OdometroID);

                if (primerOdometroID != null)
                {
                    OdometroBO odometro = consultada.Mediciones.Odometros.Find(odo => odo.OdometroID == primerOdometroID);

                    if (odometro != null)
                    {
                        vista.KmInicial = odometro.KilometrajeInicio;
                    }
                }
            }

            vista.ListadoEquiposAliados = consultada.EquiposAliados;
        }
Exemplo n.º 11
0
        /// <summary>
        /// Crea y obtiene el Filtro del Mantenimiento Unidad Idealease por medio de la Unidad seleccionada, para realizar la búsqueda de los
        /// Mantenimientos Unidad Idealease.
        /// </summary>
        /// <param name="unidadEncontrada">La Unidad seleccionada.</param>
        /// <returns>El filtro del Mantenimiento Unidad Idealease.</returns>
        private MantenimientoUnidadBO getFiltroMatenimientoUnidadBO(BPMO.SDNI.Equipos.BO.UnidadBO unidadEncontrada)
        {
            MantenimientoUnidadBO filtroMantenimiento = new MantenimientoUnidadBO()
            {
                Activo        = true,
                IngresoUnidad = new IngresoUnidadBO()
                {
                    Unidad = new BPMO.SDNI.Equipos.BO.UnidadBO()
                    {
                        UnidadID = unidadEncontrada.UnidadID
                    }
                }
            };

            return(filtroMantenimiento);
        }
Exemplo n.º 12
0
 /// <summary>
 /// Crea y obtiene un nuevo Filtro de la Unidad E-Lider por medio del Modelo seleccionado, el Número de Serie y el Número Económico, para
 /// realizar la búsqueda de las Unidades E-Lider.
 /// </summary>
 /// <returns>El filtro de la Unidad E-Lider.</returns>
 private BPMO.SDNI.Equipos.BO.UnidadBO getFiltroUnidadPorModelo()
 {
     BPMO.SDNI.Equipos.BO.UnidadBO unidad = new BPMO.SDNI.Equipos.BO.UnidadBO();
     if (vista.ModeloSeleccionado.Id != null)
     {
         unidad.Modelo = vista.ModeloSeleccionado;
     }
     if (vista.NumeroVIN != null && vista.NumeroVIN.Trim() != null && !vista.NumeroVIN.Equals(""))
     {
         unidad.NumeroSerie = vista.NumeroVIN;
     }
     if (vista.NumeroEconomico != null && vista.NumeroEconomico != null && !vista.NumeroEconomico.Equals(""))
     {
         unidad.NumeroEconomico = vista.NumeroEconomico;
     }
     return(unidad);
 }
Exemplo n.º 13
0
        /// <summary>
        /// Devuelve un objeto de negocio a partir de la información de la vista
        /// </summary>
        /// <returns>BO con la información a editar</returns>
        private UnidadBO InterfazUsuarioADato()
        {
            var bo = new UnidadBO((UnidadBO)this.vista.ObjetoEdicion);

            if ((EArea)bo.Area == EArea.Seminuevos)
            {
                bo.EstatusActual = EEstatusUnidad.Seminuevo;
            }
            else
            {
                bo.EstatusActual = EEstatusUnidad.Disponible;
            }

            bo.UUA = this.vista.UsuarioID;
            bo.FUA = DateTime.Now;

            return(bo);
        }
Exemplo n.º 14
0
        /// <summary>
        /// Realiza la búsqueda de Mantenimientos Unidades Idealease por el Modelo seleccionado.
        /// </summary>
        /// <returns>Retorna True si encontro resultados, en caso contrario retorna False.</returns>
        private bool BuscarPorUnidad()
        {
            bool mantenimientoEncontrado = true;

            BPMO.SDNI.Equipos.BR.UnidadBR        ctrlUnidad          = new BPMO.SDNI.Equipos.BR.UnidadBR();
            BPMO.SDNI.Equipos.BO.UnidadBO        unidad              = new BPMO.SDNI.Equipos.BO.UnidadBO();
            List <BPMO.SDNI.Equipos.BO.UnidadBO> unidadesEncontradas = ctrlUnidad.ConsultarUnidadBOPorModelo(dataContext, getFiltroUnidadPorModelo());

            if (unidadesEncontradas.Count > 0)
            {
                List <MantenimientoUnidadBO> nuevaLista = new List <MantenimientoUnidadBO>();
                foreach (BPMO.SDNI.Equipos.BO.UnidadBO unidadEncontrada in unidadesEncontradas)
                {
                    List <MantenimientoUnidadBO> resultMantenimientos = ctrlMantenimientoUnidadIdealease.Consultar(dataContext, getFiltroMatenimientoUnidadBO(unidadEncontrada));
                    if (resultMantenimientos != null && resultMantenimientos.Count > 0)
                    {
                        foreach (MantenimientoUnidadBO mantenimiento in resultMantenimientos)
                        {
                            try {
                                if (mantenimiento.OrdenServicio.Id != null)
                                {
                                    OrdenServicioBO ordenServicio = FacadeBR.ConsultarOrdenServicio(dataContext, mantenimiento.OrdenServicio).FirstOrDefault();
                                    if (ordenServicio != null)
                                    {
                                        mantenimiento.OrdenServicio        = ordenServicio;
                                        mantenimiento.IngresoUnidad.Unidad = unidadEncontrada;
                                        nuevaLista.Add(mantenimiento);
                                    }
                                }
                            } catch (Exception e) { }
                        }
                    }
                }
                mantenimientoEncontrado         = nuevaLista.Count > 0;
                this.vista.MantenimientosUnidad = nuevaLista;
                this.vista.CargarListaMantenimientos();
            }
            else
            {
                mantenimientoEncontrado = false;
            }

            return(mantenimientoEncontrado);
        }
Exemplo n.º 15
0
        /// <summary>
        /// Construye el diccionario de datos de los Mantenimientos Idealease encontrados.
        /// </summary>
        public void CargarListaMantenimientos()
        {
            DataSet   list  = new DataSet();
            DataTable table = new DataTable();

            table.Columns.Add("NumeroSerie");
            table.Columns.Add("NumeroEconomico");
            table.Columns.Add("Modelo");
            table.Columns.Add("OrdenServicio");
            string numeroSerie = "", numeroEconomico = "", modelo = "", ordenServicio = "";

            if (this.EsUnidad)
            {
                foreach (MantenimientoUnidadBO mantenimiento in this.MantenimientosUnidad)
                {
                    BPMO.SDNI.Equipos.BO.UnidadBO unidad = mantenimiento.IngresoUnidad.Unidad;
                    numeroSerie     = unidad.NumeroSerie != null ? unidad.NumeroSerie : "";
                    numeroEconomico = unidad.NumeroEconomico != null ? unidad.NumeroEconomico : "";
                    modelo          = unidad.Modelo != null && unidad.Modelo.Nombre != null ? unidad.Modelo.Nombre : "";
                    ordenServicio   = mantenimiento.OrdenServicio.Id != null ? ((int)mantenimiento.OrdenServicio.Id).ToString() : "";
                    DataRow row = table.NewRow();
                    row.ItemArray = new object[] { numeroSerie, numeroEconomico, modelo, ordenServicio };
                    table.Rows.Add(row);
                }
            }
            else
            {
                foreach (MantenimientoEquipoAliadoBO mantenimiento in this.MantenimientosEquipoAliado)
                {
                    EquipoAliadoBO equipoAliado = mantenimiento.IngresoEquipoAliado.EquipoAliado;
                    numeroSerie     = equipoAliado.NumeroSerie != null ? equipoAliado.NumeroSerie : "";
                    numeroEconomico = "";
                    modelo          = equipoAliado.Modelo != null && equipoAliado.Modelo.Nombre != null ? equipoAliado.Modelo.Nombre : "";
                    ordenServicio   = mantenimiento.OrdenServicio.Id != null ? ((int)mantenimiento.OrdenServicio.Id).ToString() : "";
                    DataRow row = table.NewRow();
                    row.ItemArray = new object[] { numeroSerie, numeroEconomico, modelo, ordenServicio };
                    table.Rows.Add(row);
                }
            }
            list.Tables.Add(table);
            this.DataSource = list;
            this.LoadDataSource();
        }
        /// <summary>
        /// Devuelve un objeto de negocio a partir de la información de la vista
        /// </summary>
        /// <returns>BO con la información a editar</returns>
        private UnidadBO InterfazUsuarioADato()
        {
            var bo = new UnidadBO((UnidadBO)this.vista.ObjetoEdicion);

            #region SC0006 - Adición de estatus de siniestro cuando se marca que es una baja por siniestro
            bo.EstatusActual = this.vista.Siniestro ? EEstatusUnidad.Siniestro : EEstatusUnidad.Baja;
            #endregion

            bo.Sucursal.Id = this.vista.SucursalActualID;

            #region Agregar los documentos adjuntos
            bo.Adjuntos = this.presentadorDocumentos.Vista.NuevosArchivos;
            #endregion

            //bo.UUA = this.vista.UsuarioID;
            bo.FUA = DateTime.Now;

            return(bo);
        }
Exemplo n.º 17
0
        private List <SiniestroUnidadBO> RecuperarHistorialSiniestro(UnidadBO bo)
        {
            if (bo.UnidadID.HasValue)
            {
                SiniestroUnidadBR SiniestroUnidadBR = new SiniestroUnidadBR();
                HistorialBR       historialBR       = new HistorialBR();
                HistorialBOF      filter            = new HistorialBOF
                {
                    Unidad = new UnidadBO {
                        UnidadID = bo.UnidadID
                    },
                    Movimiento = EMovimiento.BAJA_DE_LA_FLOTA_POR_SINIESTRO
                };
                List <HistorialBOF> historial = historialBR.ConsultarCompleto(this.dctx, filter);

                return(SiniestroUnidadBR.ConsultarCompleto(this.dctx, historial.Cast <HistorialBO>().ToList()));
            }

            return(null);
        }
Exemplo n.º 18
0
        /// <summary>
        /// Edita la unidad
        /// </summary>
        private void Editar()
        {
            //Se obtiene la información del contrato a partir de la vista
            var bo = (UnidadBO)this.InterfazUsuarioADato();

            //Se crea el objeto de seguridad
            UsuarioBO usuario = new UsuarioBO()
            {
                Id = this.vista.UsuarioID
            };
            AdscripcionBO adscripcion = new AdscripcionBO()
            {
                UnidadOperativa = new UnidadOperativaBO()
                {
                    Id = this.vista.UnidadOperativaID
                }
            };

            SeguridadBO seguridadBO = new SeguridadBO(Guid.Empty, usuario, adscripcion);

            //Se actualiza en la base de datos
            var mnj = new StringBuilder(string.Format("sucursal {0}, Empresa {1}. {2}", this.vista.SucursalActualNombre, this.vista.EmpresaActualNombre, Environment.NewLine));

            mnj.Append(this.vista.Observaciones);

            UnidadBO unidadBO = (UnidadBO)this.vista.UltimoObjeto;

            #region SC0006 - Adición de flujo cuando se activa una unidad que estaba en estatus de siniestro
            IDictionary parameters = new Hashtable();
            parameters["Observaciones"] = mnj.ToString();

            if (unidadBO.EstatusActual == EEstatusUnidad.Siniestro)
            {
                this.controlador.RealizarReactivacionSiniestroUnidadFlota(dctx, bo, unidadBO, parameters, seguridadBO);
            }
            else
            {
                this.controlador.RealizarReactivacionUnidadFlota(dctx, bo, unidadBO, parameters, seguridadBO);
            }
            #endregion
        }
Exemplo n.º 19
0
        /// <summary>
        /// Consulta el elemento en la flota correspondiente a la unidad
        /// </summary>
        /// <param name="unidad">Unidad de la que se desea obtener la inforamción</param>
        /// <returns>Elemento de la flota que corresponde a la unidad</returns>
        private ElementoFlotaBOF ObtenerElemento(UnidadBO unidad)
        {
            //Se consulta la información del contrato
            FlotaBOF bo = new FlotaBOF {
                Unidad = unidad
            };

            SeguimientoFlotaBR      seguimientoBR = new SeguimientoFlotaBR();
            List <ElementoFlotaBOF> lst           = seguimientoBR.ConsultarSeguimientoFlotaCompleto(this.dctx, bo);

            if (lst.Count < 1)
            {
                throw new Exception("No se encontró ningún registro que corresponda a la información proporcionada.");
            }
            if (lst.Count > 1)
            {
                throw new Exception("La consulta devolvió más de un registro.");
            }

            return(lst[0]);
        }
Exemplo n.º 20
0
        /// <summary>
        /// Realiza la búsqueda del Mantenimiento Unidad Idealease por la Orden de Servicio E-Lider. Obtiene los Mantenimientos Equipos Aliados Idealease
        /// del Mantenimiento Unidad Idealease.
        /// </summary>
        /// <param name="ordenServicioElider">La Orden de Servicio E-Lider</param>
        /// <returns>Retorna True si encontró resultados, en caso contrario retorna False.</returns>
        private bool BuscarUnidadPorOrdenElider(OrdenServicioBO ordenServicioElider)
        {
            Boolean encontrado = false;

            MantenimientoUnidadBO filtroMantenimientoUnidadIdealease = new MantenimientoUnidadBO()
            {
                OrdenServicio = ordenServicioElider
            };

            MantenimientoUnidadBO mantenimientoUnidadIdealease = ctrlMantenimientoUnidad.Consultar(dataContext, filtroMantenimientoUnidadIdealease).FirstOrDefault();

            if (mantenimientoUnidadIdealease != null && mantenimientoUnidadIdealease.MantenimientoUnidadId != null)
            {
                BPMO.SDNI.Equipos.BO.UnidadBO filtroUnidadIdealease = new BPMO.SDNI.Equipos.BO.UnidadBO()
                {
                    UnidadID = mantenimientoUnidadIdealease.IngresoUnidad.Unidad.UnidadID
                };

                BPMO.SDNI.Equipos.BR.UnidadBR ctrlUnidadIdealease = new BPMO.SDNI.Equipos.BR.UnidadBR();
                BPMO.SDNI.Equipos.BO.UnidadBO unidadIdealease     = ctrlUnidadIdealease.Consultar(dataContext, filtroUnidadIdealease).FirstOrDefault();

                if (unidadIdealease != null && unidadIdealease.UnidadID != null)
                {
                    if (unidadIdealease.Modelo == null || unidadIdealease.Modelo.Id == null)
                    {
                        BPMO.SDNI.Equipos.BO.UnidadBO unidadCompleta = new BPMO.SDNI.Equipos.BO.UnidadBO(unidadIdealease.ActaNacimiento);
                        unidadIdealease.Modelo = unidadCompleta.Modelo;
                    }

                    mantenimientoUnidadIdealease.IngresoUnidad.Unidad = unidadIdealease;
                    mantenimientoUnidadIdealease.OrdenServicio        = ordenServicioElider;
                    vista.MantenimientosUnidad = new List <MantenimientoUnidadBO>();
                    vista.MantenimientosUnidad.Add(mantenimientoUnidadIdealease);

                    encontrado = true;
                }
            }

            return(encontrado);
        }
Exemplo n.º 21
0
        /// <summary>
        /// Obtiene la unidad que deseas editar
        /// </summary>
        /// <param name="unidadAnterior">Unidad que se desea editar</param>
        /// <returns>Unidad Completa para su edicion</returns>
        private UnidadBO ObtenerUnidad(UnidadBO unidadAnterior)
        {
            var      obj      = unidadAnterior;
            UnidadBR unidadBR = new UnidadBR();

            //Consultamos el objeto
            var unidades = unidadBR.ConsultarCompleto(dctx, obj, true);

            //Limpiamso la instancia del objeto
            obj = null;

            //Validamos que realmente hay una unidad para su edición
            if (!ReferenceEquals(unidades, null))
            {
                if (unidades.Count > 0)
                {
                    obj = unidades[0];
                }
            }

            //Retornamos el objeto
            return(obj);
        }
        private UnidadBO ObtenerUnidad(UnidadBO boAnterior)
        {
            UnidadBO unidadBO = boAnterior;
            UnidadBR unidadBR = new UnidadBR();

            //Se consulta la unidad en base al ultimo objeto
            List <UnidadBO> unidades = unidadBR.ConsultarCompleto(dctx, unidadBO, true);

            //Limpiamos la instancia del objeto
            unidadBO = null;

            //Validamos que realmente hay una unidad para su edición
            if (!ReferenceEquals(unidades, null))
            {
                if (unidades.Count > 0)
                {
                    unidadBO = unidades[0];
                }
            }

            //Retornamos el objeto
            return(unidadBO);
        }
Exemplo n.º 23
0
        /// <summary>
        /// Devuelve un objeto de negocio a partir de la información de la vista
        /// </summary>
        /// <returns>BO con la información a editar</returns>
        private UnidadBO InterfazUsuarioADato()
        {
            var bo = new UnidadBO((UnidadBO)this.vista.ObjetoEdicion);

            if (this.vista.EquiposAliados != null)
            {
                var equipos = this.vista.EquiposAliados.ConvertAll(x => (EquipoAliadoBO)x);
                if (this.vista.EquiposAliados.Count > 0)
                {
                    foreach (var aliado in equipos)
                    {
                        aliado.UUA = this.vista.UsuarioID;
                        aliado.FUA = DateTime.Now;
                    }
                }
                bo.EquiposAliados = null;
                bo.EquiposAliados = equipos;
            }

            bo.UUA = this.vista.UsuarioID;
            bo.FUA = DateTime.Now;

            return(bo);
        }
Exemplo n.º 24
0
        /// <summary>
        /// Prepara la vista para la reasignacion de la unidad
        /// </summary>
        public void PrepararEdicion()
        {
            try
            {
                //Obtenemos el paquete correspondiente al contrato a editar
                var unidad = this.vista.ObtenerPaqueteNavegacion("UnidadExpedienteBO");

                //Validaciones iniciales
                if (ReferenceEquals(unidad, null))
                {
                    throw new Exception("Se esperaba un objeto en la navegación. No fue posible identificar la unidad que se desea mover.");
                }
                if (!(unidad is UnidadBO))
                {
                    throw new Exception("El paquete recuperado no corresponde a una unidad, verifique su información.");
                }

                var unidadAnterior = new UnidadBO((UnidadBO)unidad);
                var unidadBase     = new ElementoFlotaBOF {
                    Unidad = new UnidadBO()
                };

                //Eliminamos el paquete de navegación
                this.vista.LimpiarPaqueteNavegacion("UnidadExpedienteBO");

                //Consultamos la unidad para el último objeto
                unidadAnterior          = this.ObtenerUnidad(unidadAnterior);
                this.vista.UltimoObjeto = unidadAnterior;

                //Consultamos la unidad para el elemento a editar
                unidadBase.Unidad.UnidadID = unidadAnterior.UnidadID;
                unidadBase = this.ObtenerElemento(unidadBase.Unidad);

                if (unidadBase == null)
                {
                    unidadBase = new ElementoFlotaBOF();
                }
                if (unidadBase != null && unidadBase.Unidad == null)
                {
                    unidadBase.Unidad = new UnidadBO();
                }

                //Cargamos el objeto a edición
                this.vista.ObjetoEdicion = unidadBase.Unidad;

                if (!unidadBase.Unidad.EstatusActual.HasValue)
                {
                    throw new Exception("El estatus de la unidad no fue recuperado, para continuar con la reactivación es necesario especificar el estatus actual de la unidad.");
                }

                //Validar estatus de acuerdo a regla
                if (!unidadAnterior.ValidarCambioEstatus(unidadBase.Unidad.EstatusActual))
                {
                    string mnj = "No se puede cambiar el estatus de la unidad de " +
                                 (unidadAnterior.EstatusActual != null ? unidadAnterior.EstatusActual.ToString() : "") +
                                 " a " +
                                 (unidadBase.Unidad.EstatusActual != null ? unidadBase.Unidad.EstatusActual.ToString() : "");
                    this.vista.PermitirRegistrar(false);
                    this.vista.MostrarMensaje(mnj, ETipoMensajeIU.ADVERTENCIA, null);
                }


                #region SC0009 - Adición de validación para estatus de siniestro
                if (unidadBase.Unidad.EstatusActual.Value != EEstatusUnidad.Baja &&
                    unidadBase.Unidad.EstatusActual.Value != EEstatusUnidad.Siniestro)
                {
                    this.vista.PermitirRegistrar(false);
                    this.vista.MostrarMensaje("No se puede reactivar la unidad, porque esta se encuentra en uso, verifique su información", ETipoMensajeIU.ADVERTENCIA, null);
                }
                #endregion

                //Desplegamos la unidad obtenida
                this.DatoAInterfazUsuario(unidadBase);

                this.EstablecerSeguridad();
            }
            catch (Exception ex)
            {
                this.vista.PermitirRegistrar(false);
                throw new Exception(string.Format("{0}.PrepararEdicion:{1}{2}", nombreClase, Environment.NewLine, ex.Message));
            }
        }
        /// <summary>
        /// Realiza la baja de la unidad
        /// </summary>
        public void RealizarBajaUnidadFlota()
        {
            string s;

            if ((s = this.ValidarCamposRegistro()) != null)
            {
                this.vista.MostrarMensaje(s, ETipoMensajeIU.ADVERTENCIA, null);
                return;
            }

            //Editamos la unidad
            this.Editar();

            //Redirigimos al detalle de la unidad
            this.vista.LimpiarSesion();
            this.vista.LimpiarPaqueteNavegacion("UnidadExpedienteBO");
            var unidadID = this.vista.UnidadID;

            //Se envía los datos de la interfaz al diccionario del reporte
            //Se obtiene los Datos para el reporte.
            DataSet   DsBajas = new DataSet();
            DataTable table   = DsBajas.Tables["DatosBaja"];

            UnidadBO oBajas = new UnidadBO()
            {
                UnidadID = unidadID, UUA = this.vista.UsuarioID
            };

            string Empresa   = this.vista.EmpresaActualNombre;
            bool   siniestro = this.vista.Siniestro;
            string Tipo      = this.vista.TipoUnidadNombre;
            int?   IdUsuario = this.vista.UsuarioID;

            int?ModuloID = this.vista.ModuloID;

            Dictionary <string, Object> datos = this.controlador.ObtenerDatosReporte(dctx, oBajas, unidadID, ModuloID, Empresa, siniestro, Tipo, IdUsuario);

            #region Asignar la Unidad

            if (datos.ContainsKey("Unidad") && datos["Unidad"] != null)
            {
                oBajas = (UnidadBO)datos["Unidad"];
            }
            #endregion
            #region Obtener el folio del reporte
            ConsultarFolioDA consultarFolio = new ConsultarFolioDA();
            InsertarFolioDAO insertarFolio  = new InsertarFolioDAO();

            int     folio   = 1;
            string  serie   = "AF";
            DataSet dsFolio = new DataSet();
            dsFolio = consultarFolio.Action(dctx, oBajas.Sucursal.Id, ETipoFoliador.Baja_Unidad);
            if (dsFolio.Tables.Contains("Folios") && dsFolio.Tables["Folios"].Rows.Count > 0)
            {
                folio = dsFolio.Tables["Folios"].Rows[0].Field <int>("Folio") + 1;

                AuditoriaBO auditoriaBO = new AuditoriaBO
                {
                    FC  = DateTime.Now,
                    FUA = DateTime.Now,
                    UC  = this.vista.UsuarioID,
                    UUA = this.vista.UsuarioID
                };

                insertarFolio.Action(dctx, this.vista.SucursalActualID, serie, folio, ETipoFoliador.Baja_Unidad, auditoriaBO);
            }
            else
            {
                AuditoriaBO auditoriaBO = new AuditoriaBO
                {
                    FC  = DateTime.Now,
                    FUA = DateTime.Now,
                    UC  = this.vista.UsuarioID,
                    UUA = this.vista.UsuarioID
                };

                insertarFolio.Action(dctx, this.vista.SucursalActualID, serie, folio, ETipoFoliador.Baja_Unidad, auditoriaBO);
            }
            datos.Add("Folio", serie + folio);
            #endregion
            datos.Add("CentroCostos", this.vista.CentroCostos.Trim().ToUpper());
            datos.Add("UnidadBO", datos);
            this.vista.EstablecerPaqueteNavegacionReporte("BajaUnidad", datos);

            if (unidadID.HasValue)
            {
                this.vista.EstablecerPaqueteNavegacion("UnidadExpedienteBO", new UnidadBO {
                    UnidadID = unidadID
                });
            }

            #region Generar el correo para enviar a los autorizadores
            if (this.vista.UnidadOperativaID == (int)ETipoEmpresa.Generacion || this.vista.UnidadOperativaID == (int)ETipoEmpresa.Construccion ||
                this.vista.UnidadOperativaID == (int)ETipoEmpresa.Equinova)
            {
                int    moduloID         = (int)this.vista.ModuloID;
                byte[] reporte          = this.GenerarReporteAdjuntar(datos);
                Enum   TipoAutorizacion = this.vista.UnidadOperativaID == (int)ETipoEmpresa.Generacion ? (Enum)ETipoAutorizacionGeneracion.Baja_Unidad :
                                          this.vista.UnidadOperativaID == (int)ETipoEmpresa.Construccion ? (Enum)ETipoAutorizacionConstruccion.Baja_Unidad :
                                          (Enum)ETipoAutorizacionEquinova.Baja_Unidad;

                AutorizadorBR oAutorizador = new AutorizadorBR();
                #region Crear el Diccionario para reemplazar los valores del formato con los de la entrega.
                Dictionary <string, string> datosAutorizacion = new Dictionary <string, string>();
                #endregion
                string error = string.Empty;
                try
                {
                    oAutorizador.SolicitarAutorizacion(dctx, TipoAutorizacion, datosAutorizacion, moduloID, this.vista.UnidadOperativaID, this.vista.SucursalActualID, reporte);
                }
                catch (Exception ex)
                {
                    error = ex.Message;
                }
            }
            #endregion

            this.vista.RedirigirADetalles(true);
        }
Exemplo n.º 26
0
        /// <summary>
        /// Despliega en la vista la inforamciónd e la unidad que se haya recuperado
        /// </summary>
        /// <param name="unidadBase">Unidad que se desea visualizar</param>
        private void DatoAInterfazUsuario(ElementoFlotaBOF unidadBase)
        {
            var elemento = unidadBase;

            #region Datos Elemento
            #region Nuevo elemento
            if (elemento == null)
            {
                elemento.Unidad = new UnidadBO
                {
                    Cliente  = new ClienteBO(),
                    Sucursal = new SucursalBO {
                        UnidadOperativa = new UnidadOperativaBO()
                    },
                    Modelo = new ModeloBO {
                        Marca = new MarcaBO()
                    },
                    ActivoFijo            = new ActivoFijoBO(),
                    CaracteristicasUnidad = new CaracteristicasUnidadBO(),
                    EquiposAliados        = new List <EquipoAliadoBO>(),
                    TipoEquipoServicio    = new TipoUnidadBO(),
                };
                elemento.Tramites = new List <TramiteBO>();
                elemento.Contrato = new ContratoProxyBO {
                    Cliente = new CuentaClienteIdealeaseBO()
                };
            }
            #endregion

            #region Instanciar Propiedades
            if (elemento.Unidad == null)
            {
                elemento.Unidad = new UnidadBO
                {
                    Cliente  = new ClienteBO(),
                    Sucursal = new SucursalBO {
                        UnidadOperativa = new UnidadOperativaBO()
                    },
                    Modelo = new ModeloBO {
                        Marca = new MarcaBO()
                    },
                    ActivoFijo            = new ActivoFijoBO(),
                    CaracteristicasUnidad = new CaracteristicasUnidadBO(),
                    EquiposAliados        = new List <EquipoAliadoBO>(),
                    TipoEquipoServicio    = new TipoUnidadBO(),
                };
            }
            if (elemento.Unidad.Cliente == null)
            {
                elemento.Unidad.Cliente = new ClienteBO();
            }
            if (elemento.Unidad.Sucursal == null)
            {
                elemento.Unidad.Sucursal = new SucursalBO {
                    UnidadOperativa = new UnidadOperativaBO()
                }
            }
            ;
            if (elemento.Unidad.Sucursal.UnidadOperativa == null)
            {
                elemento.Unidad.Sucursal.UnidadOperativa = new UnidadOperativaBO();
            }
            if (elemento.Unidad.Modelo == null)
            {
                elemento.Unidad.Modelo = new ModeloBO {
                    Marca = new MarcaBO()
                }
            }
            ;
            if (elemento.Unidad.Modelo.Marca == null)
            {
                elemento.Unidad.Modelo.Marca = new MarcaBO();
            }
            if (elemento.Unidad.ActivoFijo == null)
            {
                elemento.Unidad.ActivoFijo = new ActivoFijoBO();
            }
            if (elemento.Unidad.CaracteristicasUnidad == null)
            {
                elemento.Unidad.CaracteristicasUnidad = new CaracteristicasUnidadBO();
            }
            if (elemento.Unidad.EquiposAliados == null)
            {
                elemento.Unidad.EquiposAliados = new List <EquipoAliadoBO>();
            }
            if (elemento.Unidad.TipoEquipoServicio == null)
            {
                elemento.Unidad.TipoEquipoServicio = new TipoUnidadBO();
            }
            if (elemento.Tramites == null)
            {
                elemento.Tramites = new List <TramiteBO>();
            }
            if (elemento.Contrato == null)
            {
                elemento.Contrato = new ContratoProxyBO {
                    Cliente = new CuentaClienteIdealeaseBO()
                }
            }
            ;
            if (elemento.Contrato.Cliente == null)
            {
                elemento.Contrato.Cliente = new CuentaClienteIdealeaseBO();
            }
            #endregion

            #region Información de la Unidad en barra
            this.vista.EstaDisponible    = elemento.EstaDisponible;
            this.vista.EstaEnContrato    = elemento.EstaEnRenta;
            this.vista.TieneEquipoAliado = elemento.TieneEquipoAliado;

            #region Tramites
            PlacaEstatalBO tPlacaEstatal = (PlacaEstatalBO)elemento.Tramites.Find(p => p.Tipo != null && p.Tipo == ETipoTramite.PLACA_ESTATAL);
            PlacaFederalBO tPlacaFederal = (PlacaFederalBO)elemento.Tramites.Find(p => p.Tipo != null && p.Tipo == ETipoTramite.PLACA_FEDERAL);

            this.vista.NumeroPlaca = tPlacaFederal != null
                                         ? tPlacaFederal.Numero
                                         : (tPlacaEstatal != null ? tPlacaEstatal.Numero : null);
            #endregion
            #endregion
            #endregion

            #region Datos Unidad
            var bo = unidadBase.Unidad;
            #region Unidad Nueva
            if (ReferenceEquals(bo, null))
            {
                bo = new UnidadBO
                {
                    ActivoFijo     = new ActivoFijoBO(),
                    EquiposAliados = new List <EquipoAliadoBO>(),
                    Modelo         = new ModeloBO {
                        Marca = new MarcaBO()
                    },
                    Sucursal = new SucursalBO {
                        UnidadOperativa = new UnidadOperativaBO()
                    },
                    TipoEquipoServicio = new TipoUnidadBO()
                };
            }
            #endregion

            #region Instancias de propiedades
            if (bo.TipoEquipoServicio == null)
            {
                bo.TipoEquipoServicio = new TipoUnidadBO();
            }
            if (bo.ActivoFijo == null)
            {
                bo.ActivoFijo = new ActivoFijoBO();
            }
            if (bo.EquiposAliados == null)
            {
                bo.EquiposAliados = new List <EquipoAliadoBO>();
            }
            if (bo.Modelo == null)
            {
                bo.Modelo = new ModeloBO {
                    Marca = new MarcaBO()
                }
            }
            ;
            if (bo.Sucursal == null)
            {
                bo.Sucursal = new SucursalBO {
                    UnidadOperativa = new UnidadOperativaBO()
                }
            }
            ;
            #endregion

            #region DetalleUnidad
            this.vista.UnidadID          = bo.UnidadID;
            this.vista.NumeroSerie       = bo.NumeroSerie;
            this.vista.ClaveActivoOracle = bo.ClaveActivoOracle;
            this.vista.LiderID           = bo.IDLider;
            this.vista.NumeroEconomico   = bo.NumeroEconomico;
            this.vista.TipoUnidadNombre  = bo.TipoEquipoServicio.Nombre;
            this.vista.ModeloNombre      = bo.Modelo.Nombre;
            this.vista.Anio         = bo.Anio;
            this.vista.FechaCompra  = bo.ActivoFijo.FechaFacturaCompra;
            this.vista.MontoFactura = bo.ActivoFijo.CostoSinIva;
            this.vista.FolioFactura = string.Empty;
            #endregion

            #region Info Sucursal
            bool completa = false;
            this.vista.SucursalActualID     = bo.Sucursal.Id;
            this.vista.SucursalActualNombre = bo.Sucursal.Nombre;

            #region Empresa
            var empresa = new EmpresaBO();
            if (bo.Sucursal.UnidadOperativa != null)
            {
                this.vista.EmpresaActualID = bo.Sucursal.UnidadOperativa.Id;


                if (bo.Sucursal.UnidadOperativa.Empresa == null)
                {
                    #region Unidad Operativa
                    //Obtener información de la Unidad Operativa
                    List <UnidadOperativaBO> lstUO = FacadeBR.ConsultarUnidadOperativaCompleto(this.dctx,
                                                                                               new UnidadOperativaBO()
                    {
                        Id =
                            this.vista
                            .UnidadOperativaID
                    });
                    if (lstUO.Count <= 0)
                    {
                        throw new Exception(
                                  "No se encontró la información completa de la unidad operativa sobre la que trabaja.");
                    }
                    //Establecer la información de la Unidad Operativa
                    if (lstUO[0].Empresa != null)
                    {
                        empresa = lstUO[0].Empresa;
                    }
                    #endregion

                    this.vista.EmpresaActualNombre = empresa.Nombre;
                }
                else
                {
                    if (!string.IsNullOrEmpty(bo.Sucursal.UnidadOperativa.Empresa.Nombre) && !string.IsNullOrWhiteSpace(bo.Sucursal.UnidadOperativa.Empresa.Nombre))
                    {
                        this.vista.EmpresaActualNombre = bo.Sucursal.UnidadOperativa.Empresa.Nombre;
                    }
                    else
                    {
                        #region Unidad Operativa
                        //Obtener información de la Unidad Operativa
                        List <UnidadOperativaBO> lstUO = FacadeBR.ConsultarUnidadOperativaCompleto(this.dctx,
                                                                                                   new UnidadOperativaBO()
                        {
                            Id =
                                this.vista
                                .UnidadOperativaID
                        });
                        if (lstUO.Count <= 0)
                        {
                            throw new Exception(
                                      "No se encontró la información completa de la unidad operativa sobre la que trabaja.");
                        }
                        //Establecer la información de la Unidad Operativa
                        if (lstUO[0].Empresa != null)
                        {
                            empresa = lstUO[0].Empresa;
                        }

                        #endregion
                        this.vista.EmpresaActualNombre = empresa.Nombre;
                    }
                }
            }

            #endregion

            #region Domicilio Sucursal
            if (bo.Sucursal.DireccionesSucursal != null)
            {
                if (bo.Sucursal.DireccionesSucursal.Count > 0)
                {
                    var direccionActual = bo.Sucursal.DireccionesSucursal.Find(p => p.Primaria != null && p.Primaria == true);
                    if (direccionActual != null)
                    {
                        string dir = "";
                        if (!string.IsNullOrEmpty(direccionActual.Calle))
                        {
                            dir += (direccionActual.Calle + " ");
                        }
                        if (!string.IsNullOrEmpty(direccionActual.Colonia))
                        {
                            dir += (direccionActual.Colonia + " ");
                        }
                        if (!string.IsNullOrEmpty(direccionActual.CodigoPostal))
                        {
                            dir += (direccionActual.CodigoPostal + " ");
                        }
                        if (direccionActual.Ubicacion != null)
                        {
                            if (direccionActual.Ubicacion.Municipio != null && !string.IsNullOrEmpty(direccionActual.Ubicacion.Municipio.Nombre))
                            {
                                dir += (direccionActual.Ubicacion.Municipio.Nombre + " ");
                            }
                            if (direccionActual.Ubicacion.Ciudad != null && !string.IsNullOrEmpty(direccionActual.Ubicacion.Ciudad.Nombre))
                            {
                                dir += (direccionActual.Ubicacion.Ciudad.Nombre + " ");
                            }
                            if (direccionActual.Ubicacion.Estado != null && !string.IsNullOrEmpty(direccionActual.Ubicacion.Estado.Nombre))
                            {
                                dir += (direccionActual.Ubicacion.Estado.Nombre + " ");
                            }
                            if (direccionActual.Ubicacion.Pais != null && !string.IsNullOrEmpty(direccionActual.Ubicacion.Pais.Nombre))
                            {
                                dir += (direccionActual.Ubicacion.Pais.Nombre + " ");
                            }
                        }

                        if (dir != null && dir.Trim().CompareTo("") != 0)
                        {
                            this.vista.DomicilioSucursalActual = dir;
                            completa = true;
                        }
                        else
                        {
                            this.vista.DomicilioSucursalActual = null;
                        }
                    }
                    else
                    {
                        this.vista.DomicilioSucursalActual = null;
                    }
                }
                else
                {
                    this.vista.DomicilioSucursalActual = null;
                }
            }
            #endregion

            #region Consultar Completo para obtener la Dirección
            if (bo.Sucursal != null && bo.Sucursal.Id != null && !completa)
            {
                List <SucursalBO> lst = FacadeBR.ConsultarSucursalCompleto(this.dctx, bo.Sucursal);

                DireccionSucursalBO direccion = null;
                if (lst.Count > 0 && lst[0].DireccionesSucursal != null)
                {
                    direccion = lst[0].DireccionesSucursal.Find(p => p.Primaria != null && p.Primaria == true);
                }

                if (direccion != null)
                {
                    string dir = "";
                    if (!string.IsNullOrEmpty(direccion.Calle))
                    {
                        dir += (direccion.Calle + " ");
                    }
                    if (!string.IsNullOrEmpty(direccion.Colonia))
                    {
                        dir += (direccion.Colonia + " ");
                    }
                    if (!string.IsNullOrEmpty(direccion.CodigoPostal))
                    {
                        dir += (direccion.CodigoPostal + " ");
                    }
                    if (direccion.Ubicacion != null)
                    {
                        if (direccion.Ubicacion.Municipio != null && !string.IsNullOrEmpty(direccion.Ubicacion.Municipio.Nombre))
                        {
                            dir += (direccion.Ubicacion.Municipio.Nombre + " ");
                        }
                        if (direccion.Ubicacion.Ciudad != null && !string.IsNullOrEmpty(direccion.Ubicacion.Ciudad.Nombre))
                        {
                            dir += (direccion.Ubicacion.Ciudad.Nombre + " ");
                        }
                        if (direccion.Ubicacion.Estado != null && !string.IsNullOrEmpty(direccion.Ubicacion.Estado.Nombre))
                        {
                            dir += (direccion.Ubicacion.Estado.Nombre + " ");
                        }
                        if (direccion.Ubicacion.Pais != null && !string.IsNullOrEmpty(direccion.Ubicacion.Pais.Nombre))
                        {
                            dir += (direccion.Ubicacion.Pais.Nombre + " ");
                        }
                    }

                    if (dir != null && dir.Trim().CompareTo("") != 0)
                    {
                        this.vista.DomicilioSucursalActual = dir;
                        completa = true;
                    }
                    else
                    {
                        this.vista.DomicilioSucursalActual = null;
                    }
                }
                else
                {
                    this.vista.DomicilioSucursalActual = null;
                }
            }
            else if (!completa)
            {
                this.vista.DomicilioSucursalActual = null;
            }
            #endregion

            #endregion
            #endregion
        }
Exemplo n.º 27
0
        private void DatoAInterfazUsuario(IDictionary parameters)
        {
            ArrendamientoBO boArrendamiento = new ArrendamientoBO();

            if (!parameters.Contains("UnidadBO") || !(parameters["UnidadBO"] is UnidadBO))
            {
                return;
            }

            UnidadBO bo = (UnidadBO)parameters["UnidadBO"];

            #region Inicialización de Propiedades
            if (bo.ActivoFijo == null)
            {
                bo.ActivoFijo = new ActivoFijoBO();
            }

            if (bo.CaracteristicasUnidad == null)
            {
                bo.CaracteristicasUnidad = new CaracteristicasUnidadBO();
            }
            if (bo.CaracteristicasUnidad.Ejes == null)
            {
                bo.CaracteristicasUnidad.Ejes = new List <EjeBO>();
            }
            if (bo.CaracteristicasUnidad.Motor == null)
            {
                bo.CaracteristicasUnidad.Motor = new MotorBO();
            }
            if (bo.CaracteristicasUnidad.SistemaElectrico == null)
            {
                bo.CaracteristicasUnidad.SistemaElectrico = new SistemaElectricoBO();
            }
            if (bo.CaracteristicasUnidad.Transmision == null)
            {
                bo.CaracteristicasUnidad.Transmision = new TransmisionBO();
            }

            if (bo.Cliente == null)
            {
                bo.Cliente = new ClienteBO();
            }
            if (bo.EquiposAliados == null)
            {
                bo.EquiposAliados = new List <EquipoAliadoBO>();
            }

            if (bo.NumerosSerie == null)
            {
                bo.NumerosSerie = new List <NumeroSerieBO>();
            }

            if (bo.Llantas == null)
            {
                bo.LimpiarLlantas();
            }


            if (bo.Mediciones == null)
            {
                bo.Mediciones = new MedicionesBO();
            }
            if (bo.Mediciones.Horometros == null)
            {
                bo.Mediciones.Horometros = new List <HorometroBO>();
            }
            if (bo.Mediciones.Odometros == null)
            {
                bo.Mediciones.Odometros = new List <OdometroBO>();
            }


            if (bo.Modelo == null)
            {
                bo.Modelo = new ModeloBO();
            }
            if (bo.Modelo.Marca == null)
            {
                bo.Modelo.Marca = new MarcaBO();
            }
            if (bo.Sucursal == null)
            {
                bo.Sucursal = new SucursalBO();
            }
            if (bo.Sucursal.UnidadOperativa == null)
            {
                bo.Sucursal.UnidadOperativa = new UnidadOperativaBO();
            }


            if (bo.TipoEquipoServicio == null)
            {
                bo.TipoEquipoServicio = new TipoUnidadBO();
            }

            if (bo.Arrendamientos == null)
            {
                bo.Arrendamientos = new List <ArrendamientoBO>();
            }

            if (bo.Pedimentos == null)
            {
                bo.Pedimentos = new List <ArchivoBO>();
            }

            #endregion

            this.vista.EquipoID    = bo.EquipoID;
            this.vista.UnidadID    = bo.UnidadID;
            this.vista.NumeroSerie = bo.NumeroSerie;

            this.vista.NumerosSerie = bo.NumerosSerie;

            this.vista.ClaveActivoOracle = bo.ClaveActivoOracle;
            this.vista.LiderID           = bo.IDLider;
            this.vista.Anio             = bo.Anio;
            this.vista.ModeloNombre     = bo.Modelo.Nombre;
            this.vista.ModeloId         = bo.Modelo.Id;
            this.vista.MarcaId          = bo.Modelo.Marca.Id;
            this.vista.NumeroEconomico  = bo.NumeroEconomico;
            this.vista.TipoUnidadNombre = bo.TipoEquipoServicio.Nombre;
            this.vista.FechaCompra      = bo.ActivoFijo.FechaFacturaCompra;
            this.vista.MontoFactura     = bo.ActivoFijo.CostoSinIva;


            if (bo.Area != null)
            {
                ETipoEmpresa tipoEmpresa;
                tipoEmpresa = (ETipoEmpresa)this.vista.UnidadOperativaId;

                if (tipoEmpresa != null)
                {
                    switch (tipoEmpresa)
                    {
                    case ETipoEmpresa.Construccion:
                        EAreaConstruccion tipoRentaConstruccion = (EAreaConstruccion)bo.Area;
                        this.vista.Area = tipoRentaConstruccion;
                        if (tipoRentaConstruccion == EAreaConstruccion.RE)
                        {
                            boArrendamiento                     = bo.ObtenerArrendamientoVigente();
                            this.vista.ProveedorID              = boArrendamiento.Proveedor.Id; //En lugar del propietario, va el proveedor id, el control debe de obtener la información.
                            this.vista.OrdenCompraProveedor     = boArrendamiento.NumeroOrdenCompra;
                            this.vista.MontoArrendamiento       = boArrendamiento.MontoArrendamiento;
                            this.vista.CodigoMoneda             = boArrendamiento.CodigoMoneda;
                            this.vista.FechaInicioArrendamiento = boArrendamiento.FechaInicioArrendamiento;
                            this.vista.FechaFinArrendamiento    = boArrendamiento.FechaFinArrendamiento;
                            this.vistaPagina1.OcultarControlesRE(true);
                        }
                        else
                        {
                            if ((tipoRentaConstruccion == EAreaConstruccion.RO || tipoRentaConstruccion == EAreaConstruccion.ROC) && bo.EstatusActual != null &&
                                bo.EstatusActual == EEstatusUnidad.Terminada)
                            {
                                this.vista.HabilitaBoton(false, "E");
                                this.vistaPagina1.OcultarControlesRE(false);
                            }
                        }
                        this.vista.Cliente            = bo.Cliente.Nombre;
                        this.vista.ClienteId          = bo.Cliente.Id;
                        this.vista.SucursalNombre     = bo.Sucursal.Nombre;
                        this.vista.SucursalId         = bo.Sucursal.Id;
                        vistaPagina1.UnidadBloqueada  = bo.EquipoBloqueado;
                        this.vista.EntraMantenimiento = bo.EntraMantenimiento;
                        this.vistaPagina1.EstablecerEntraMantenimeinto();
                        this.vista.Archivos = bo.ObtenerPedimento();

                        break;

                    case ETipoEmpresa.Generacion:
                        EAreaGeneracion tipoRentaGeneracion = (EAreaGeneracion)bo.Area;
                        this.vista.Area = tipoRentaGeneracion;
                        if (tipoRentaGeneracion == EAreaGeneracion.RE)
                        {
                            boArrendamiento                     = bo.ObtenerArrendamientoVigente();
                            this.vista.ProveedorID              = boArrendamiento.Proveedor.Id; //En lugar del propietario, va el proveedor id, el control debe de obtener la información.
                            this.vista.OrdenCompraProveedor     = boArrendamiento.NumeroOrdenCompra;
                            this.vista.MontoArrendamiento       = boArrendamiento.MontoArrendamiento;
                            this.vista.CodigoMoneda             = boArrendamiento.CodigoMoneda;
                            this.vista.FechaInicioArrendamiento = boArrendamiento.FechaInicioArrendamiento;
                            this.vista.FechaFinArrendamiento    = boArrendamiento.FechaFinArrendamiento;
                            this.vistaPagina1.OcultarControlesRE(true);
                        }
                        else
                        {
                            if ((tipoRentaGeneracion == EAreaGeneracion.RO || tipoRentaGeneracion == EAreaGeneracion.ROC) && bo.EstatusActual != null &&
                                bo.EstatusActual == EEstatusUnidad.Terminada)
                            {
                                this.vista.HabilitaBoton(false, "E");
                                this.vistaPagina1.OcultarControlesRE(false);
                            }
                        }
                        this.vista.Cliente            = bo.Cliente.Nombre;
                        this.vista.ClienteId          = bo.Cliente.Id;
                        this.vista.SucursalNombre     = bo.Sucursal.Nombre;
                        this.vista.SucursalId         = bo.Sucursal.Id;
                        vistaPagina1.UnidadBloqueada  = bo.EquipoBloqueado;
                        this.vista.EntraMantenimiento = bo.EntraMantenimiento;
                        this.vistaPagina1.EstablecerEntraMantenimeinto();
                        this.vista.Archivos = bo.ObtenerPedimento();

                        break;

                    case ETipoEmpresa.Equinova:
                        EAreaEquinova tipoRentaEquinova = (EAreaEquinova)bo.Area;
                        this.vista.Area = tipoRentaEquinova;
                        if (tipoRentaEquinova == EAreaEquinova.RE)
                        {
                            boArrendamiento                     = bo.ObtenerArrendamientoVigente();
                            this.vista.ProveedorID              = boArrendamiento.Proveedor.Id; //En lugar del propietario, va el proveedor id, el control debe de obtener la información.
                            this.vista.OrdenCompraProveedor     = boArrendamiento.NumeroOrdenCompra;
                            this.vista.MontoArrendamiento       = boArrendamiento.MontoArrendamiento;
                            this.vista.CodigoMoneda             = boArrendamiento.CodigoMoneda;
                            this.vista.FechaInicioArrendamiento = boArrendamiento.FechaInicioArrendamiento;
                            this.vista.FechaFinArrendamiento    = boArrendamiento.FechaFinArrendamiento;
                            this.vistaPagina1.OcultarControlesRE(true);
                        }
                        else
                        {
                            if ((tipoRentaEquinova == EAreaEquinova.RO || tipoRentaEquinova == EAreaEquinova.ROC) && bo.EstatusActual != null &&
                                bo.EstatusActual == EEstatusUnidad.Terminada)
                            {
                                this.vista.HabilitaBoton(false, "E");
                                this.vistaPagina1.OcultarControlesRE(false);
                            }
                        }
                        this.vista.Cliente            = bo.Cliente.Nombre;
                        this.vista.ClienteId          = bo.Cliente.Id;
                        this.vista.SucursalNombre     = bo.Sucursal.Nombre;
                        this.vista.SucursalId         = bo.Sucursal.Id;
                        vistaPagina1.UnidadBloqueada  = bo.EquipoBloqueado;
                        this.vista.EntraMantenimiento = bo.EntraMantenimiento;
                        this.vistaPagina1.EstablecerEntraMantenimeinto();
                        this.vista.Archivos = bo.ObtenerPedimento();

                        break;

                    default:
                        this.vista.Area              = (EArea)bo.Area;
                        this.vista.SucursalNombre    = bo.Sucursal.Nombre;
                        this.vista.SucursalId        = bo.Sucursal.Id;
                        this.vista.Cliente           = bo.Cliente.Nombre;
                        this.vista.ClienteId         = bo.Cliente.Id;
                        this.vista.FabricanteNombre  = bo.Fabricante;
                        vistaPagina1.UnidadBloqueada = bo.EquipoBloqueado;

                        #region SC0002

                        this.vista.EntraMantenimiento = bo.EntraMantenimiento;
                        this.vistaPagina1.EstablecerEntraMantenimeinto();
                        #endregion

                        break;
                    }
                }
            }

            this.vista.Propietario = bo.Propietario;

            //RQM 14150, datos técnicos, modificación de la visualización
            if (!this.vista.ValoresTabs.Contains("1"))
            {
                this.presentadorPagina2.AgregarHorometros(bo.Mediciones.Horometros);
                this.presentadorPagina2.AgregarOdometros(bo.Mediciones.Odometros);
                this.vista.CapacidadTanque      = bo.CaracteristicasUnidad.CapacidadTanque;
                this.vista.RendimientoTanque    = bo.CaracteristicasUnidad.RendimientoTanque;
                this.vista.PBCMaximoRecomendado = bo.CaracteristicasUnidad.PBCMaximoRecomendado;
                this.vista.PBVMaximoRecomendado = bo.CaracteristicasUnidad.PBVMaximoRecomendado;
            }

            //RQM 14150, números de serie, modificación de la visualización
            if (!this.vista.ValoresTabs.Contains("2"))
            {
                //
                this.presentadorPagina3.AgregarNumerosSerie(bo.NumerosSerie);
                //************************************************************

                this.vista.Radiador           = bo.CaracteristicasUnidad.Radiador;
                this.vista.PostEnfriador      = bo.CaracteristicasUnidad.PostEnfriador;
                this.vista.SerieCompresorAire = bo.CaracteristicasUnidad.Motor.SerieCompresorAire;
                this.vista.SerieECM           = bo.CaracteristicasUnidad.Motor.SerieECM;

                #region SC0030

                this.vista.SerieMotor = bo.CaracteristicasUnidad.Motor.SerieMotor;

                #endregion

                this.vista.SerieTurboCargador = bo.CaracteristicasUnidad.Motor.SerieTurboCargador;
                this.vista.SerieAlternador    = bo.CaracteristicasUnidad.SistemaElectrico.SerieAlternador;
                this.vista.SerieBaterias      = bo.CaracteristicasUnidad.SistemaElectrico.SerieBaterias;
                this.vista.SerieMarcha        = bo.CaracteristicasUnidad.SistemaElectrico.SerieMarcha;
                this.vista.TransmisionModelo  = bo.CaracteristicasUnidad.Transmision.Modelo;
                this.vista.TransmisionSerie   = bo.CaracteristicasUnidad.Transmision.Serie;

                EjeBO eje = bo.CaracteristicasUnidad.ObtenerEjePorPosicion(EPosicionEje.Delantero);
                if (eje != null)
                {
                    this.vista.EjeDireccionModelo = eje.Modelo;
                    this.vista.EjeDireccionSerie  = eje.Serie;
                }

                eje = bo.CaracteristicasUnidad.ObtenerEjePorPosicion(EPosicionEje.TraseroDelantero);
                if (eje != null)
                {
                    this.vista.EjeTraseroDelanteroModelo = eje.Modelo;
                    this.vista.EjeTraseroDelanteroSerie  = eje.Serie;
                }

                eje = bo.CaracteristicasUnidad.ObtenerEjePorPosicion(EPosicionEje.TraseroTrasero);
                if (eje != null)
                {
                    this.vista.EjeTraseroTraseroModelo = eje.Modelo;
                    this.vista.EjeTraseroTraseroSerie  = eje.Serie;
                }
            }

            //RQM 14150, Llantas, modificación de la visualización
            if (!this.vista.ValoresTabs.Contains("3"))
            {
                this.vista.EnllantableID          = bo.EnllantableID;
                this.vista.TipoEnllantable        = (int)bo.TipoEnllantable;
                this.vista.DescripcionEnllantable = bo.DescripcionEnllantable;
                this.presentadorPagina4.AgregarLlantas(bo.ObtenerLlantas());
                LlantaBO refaccion = bo.ObtenerRefaccion();
                if (refaccion == null)
                {
                    refaccion = new LlantaBO()
                    {
                        EsRefaccion = true
                    }
                }
                ;
                if (refaccion.Auditoria == null)
                {
                    refaccion.Auditoria = new AuditoriaBO();
                }
                if (refaccion.Sucursal == null)
                {
                    refaccion.Sucursal = new SucursalBO();
                }
                this.vista.RefaccionSucursalID     = refaccion.Sucursal.Id;
                this.vista.RefaccionSucursalNombre = refaccion.Sucursal.Nombre;
                this.vista.RefaccionID             = refaccion.LlantaID;
                this.vista.RefaccionCodigo         = refaccion.Codigo;
                this.vista.RefaccionMarca          = refaccion.Marca;
                this.vista.RefaccionModelo         = refaccion.Modelo;
                this.vista.RefaccionActivo         = refaccion.Activo;
                this.vista.RefaccionFC             = refaccion.Auditoria.FC;
                this.vista.RefaccionFUA            = refaccion.Auditoria.FUA;
                this.vista.RefaccionMedida         = refaccion.Medida;
                this.vista.RefaccionProfundidad    = refaccion.Profundidad;
                this.vista.RefaccionRevitalizada   = refaccion.Revitalizada;
                this.vista.RefaccionStock          = refaccion.Stock;
                this.vista.RefaccionUC             = refaccion.Auditoria.UC;
                this.vista.RefaccionUUA            = refaccion.Auditoria.UUA;
            }

            //RQM 14150, Equipos Aliados, modificación de la visualización
            if (!this.vista.ValoresTabs.Contains("4"))
            {
                this.presentadorPagina5.AgregarEquiposAliado(bo.EquiposAliados);
            }

            this.vista.EstatusUnidad = bo.EstatusActual;
            if (bo.EstatusActual != null && bo.EstatusActual != EEstatusUnidad.NoDisponible)
            {
                this.vista.MostrarActaNacimientoOriginal(true);
            }
            else
            {
                this.vista.MostrarActaNacimientoOriginal(false);
            }

            //RQM 14150, tramites, modificación de la visualización
            this.presentadorPagina6.CargarTramites(bo.TramitableID, bo.TipoTramitable, bo.DescripcionTramitable);

            this.presentadorPagina7.DesplegarInformacion(bo);

            #region SC0006 - Adición de datos de siniestro
            List <SiniestroUnidadBO> historial = parameters.Contains("SiniestroUnidadBO") && parameters["SiniestroUnidadBO"] is List <SiniestroUnidadBO>?(List <SiniestroUnidadBO>)parameters["SiniestroUnidadBO"] : null;
            this.presentadorPagina7.DesplegarInformacionSiniestro(historial);
            #endregion

            this.presentadorActaOriginal.CargarActaNacimiento(bo.ActaNacimiento);
        }
        private void EstablecerDatosNavegacion(object paqueteNavegacion)
        {
            try
            {
                if (paqueteNavegacion == null)
                {
                    throw new Exception("Se esperaba un objeto en la navegación. No se puede identificar qué unidad desea dar de alta.");
                }
                if (!(paqueteNavegacion is UnidadBO))
                {
                    throw new Exception("Se esperaba una unidad.");
                }

                UnidadBO boAnterior = (UnidadBO)paqueteNavegacion;
                var      unidadBase = new ElementoFlotaBOF {
                    Unidad = new UnidadBO()
                };

                this.vista.LimpiarPaqueteNavegacion("UnidadExpedienteBO");

                boAnterior = this.ObtenerUnidad(boAnterior);
                this.vista.UltimoObjeto = boAnterior;

                //Consultamos la unidad para el elemento a editar
                unidadBase.Unidad.UnidadID = boAnterior.UnidadID;
                unidadBase = this.ObtenerElemento(unidadBase.Unidad);

                if (unidadBase == null)
                {
                    unidadBase = new ElementoFlotaBOF();
                }
                if (unidadBase != null && unidadBase.Unidad == null)
                {
                    unidadBase.Unidad = new UnidadBO();
                }

                if (!unidadBase.Unidad.EstatusActual.HasValue)
                {
                    throw new Exception("El estatus de la unidad no fue recuperado, para continuar con la alta de la unidad es necesario especificar el estatus actual de la unidad.");
                }

                //Validar estatus de acuerdo a regla
                if (!boAnterior.ValidarCambioEstatus(unidadBase.Unidad.EstatusActual))
                {
                    string mnj = "No se puede cambiar el estatus de la unidad de " +
                                 (boAnterior.EstatusActual != null ? boAnterior.EstatusActual.ToString() : "") +
                                 " a " +
                                 (unidadBase.Unidad.EstatusActual != null ? unidadBase.Unidad.EstatusActual.ToString() : "");
                    this.vista.PermitirRegistrar(false);
                    this.vista.MostrarMensaje(mnj, ETipoMensajeIU.ADVERTENCIA, null);
                }

                if ((unidadBase.Unidad.EstatusActual.Value != EEstatusUnidad.Terminada))
                {
                    this.vista.PermitirRegistrar(false);
                    this.vista.MostrarMensaje("No se puede dar de alta la unidad, debido a que no cuenta con el estatus Terminada, verifique su información", ETipoMensajeIU.ADVERTENCIA, null);
                }

                this.DatoAInterfazUsuario(unidadBase);
            }
            catch (Exception ex)
            {
                this.DatoAInterfazUsuario(new UnidadBO());
                this.vista.PermitirRegistrar(false);
                throw new Exception(this.nombreClase + ".EstablecerDatosNavegacion: " + ex.Message);
            }
        }
Exemplo n.º 29
0
        /// <summary>
        /// Despliega un objeto de negocio en la vista
        /// </summary>
        /// <param name="obj">Objeto que se desea desplegar en la vista</param>
        public void DatoAInterfazUsuario(object obj)
        {
            ElementoFlotaBO elemento = obj as ElementoFlotaBO;
            UnidadBO        unidad   = elemento.Unidad;

            if (ReferenceEquals(unidad.CaracteristicasUnidad, null))
            {
                unidad.CaracteristicasUnidad = new CaracteristicasUnidadBO();
            }
            if (ReferenceEquals(unidad.Modelo, null))
            {
                unidad.Modelo = new ModeloBO();
            }
            if (ReferenceEquals(unidad.Modelo.Marca, null))
            {
                unidad.Modelo.Marca = new MarcaBO();
            }
            if (ReferenceEquals(elemento.Tramites, null))
            {
                elemento.Tramites = new List <TramiteBO>();
            }

            this.vistaDG.Anio = unidad.Anio.HasValue ? unidad.Anio.Value.ToString().Trim().ToUpper() : string.Empty;

            this.vistaDG.CapacidadCarga = unidad.CaracteristicasUnidad.PBCMaximoRecomendado.HasValue
                ? unidad.CaracteristicasUnidad.PBCMaximoRecomendado.Value.ToString(CultureInfo.InvariantCulture).Trim().ToUpper()
                : string.Empty;
            this.vistaDG.CapacidadTanque = unidad.CaracteristicasUnidad.CapacidadTanque.HasValue
                ? unidad.CaracteristicasUnidad.CapacidadTanque.Value.ToString(CultureInfo.InvariantCulture).Trim().ToUpper()
                : string.Empty;
            this.vistaDG.EquipoID = unidad.EquipoID.HasValue ? unidad.EquipoID.Value.ToString().Trim().ToUpper() : string.Empty;
            this.vistaDG.LiderID  = unidad.IDLider.HasValue ? unidad.IDLider.Value.ToString().Trim().ToUpper() : string.Empty;
            this.vistaDG.Marca    = !string.IsNullOrEmpty(unidad.Modelo.Marca.Nombre) && !string.IsNullOrWhiteSpace(unidad.Modelo.Marca.Nombre)
                ? unidad.Modelo.Marca.Nombre.Trim().ToUpper()
                : string.Empty;
            this.vistaDG.Modelo = !string.IsNullOrEmpty(unidad.Modelo.Nombre) && !string.IsNullOrWhiteSpace(unidad.Modelo.Nombre)
                ? unidad.Modelo.Nombre.Trim().ToUpper()
                : string.Empty;
            this.vistaDG.NumeroEconomico = !string.IsNullOrEmpty(unidad.NumeroEconomico) && !string.IsNullOrWhiteSpace(unidad.NumeroEconomico)
                ? unidad.NumeroEconomico.Trim().ToUpper()
                : string.Empty;
            this.vistaDG.Numeroserie = !string.IsNullOrEmpty(unidad.NumeroSerie) && !string.IsNullOrWhiteSpace(unidad.NumeroSerie)
                ? unidad.NumeroSerie.Trim().ToUpper()
                : string.Empty;
            this.vistaDG.OracleID = !string.IsNullOrEmpty(unidad.ClaveActivoOracle) && !string.IsNullOrWhiteSpace(unidad.ClaveActivoOracle)
                ? unidad.ClaveActivoOracle.Trim().ToUpper()
                : string.Empty;
            TramiteBO placarEstatal = elemento.ObtenerTramitePorTipo(ETipoTramite.PLACA_ESTATAL);

            if (ReferenceEquals(placarEstatal, null))
            {
                this.vistaDG.PlacasEstatales = string.Empty;
            }
            else
            {
                this.vistaDG.PlacasEstatales = !string.IsNullOrEmpty(placarEstatal.Resultado) &&
                                               !string.IsNullOrWhiteSpace(placarEstatal.Resultado)
                                                   ? placarEstatal.Resultado.Trim().ToUpper()
                                                   : string.Empty;
            }
            TramiteBO placaFederal = elemento.ObtenerTramitePorTipo(ETipoTramite.PLACA_FEDERAL);

            if (ReferenceEquals(placaFederal, null))
            {
                this.vistaDG.PlacasFederales = string.Empty;
            }
            else
            {
                this.vistaDG.PlacasFederales = !string.IsNullOrEmpty(placaFederal.Resultado) &&
                                               !string.IsNullOrWhiteSpace(placaFederal.Resultado)
                                                   ? placaFederal.Resultado.Trim().ToUpper()
                                                   : string.Empty;
            }
            this.vistaDG.RendimientoTanque = unidad.CaracteristicasUnidad.RendimientoTanque.HasValue
                ? unidad.CaracteristicasUnidad.RendimientoTanque.Value.ToString().Trim().ToUpper()
                : string.Empty;
            this.vistaDG.Sucursal = !string.IsNullOrEmpty(unidad.Sucursal.Nombre) && !string.IsNullOrWhiteSpace(unidad.Sucursal.Nombre)
                ? unidad.Sucursal.Nombre.Trim().ToUpper()
                : string.Empty;
            this.vistaDG.UnidadID = unidad.UnidadID.HasValue ? unidad.UnidadID.Value.ToString().Trim().ToUpper() : string.Empty;
        }
        /// <summary>
        /// Despliega los datos de la unidad a la interfaz
        /// </summary>
        /// <param name="unidad"></param>
        private void DatosAInterfazUsuario(UnidadBO unidad)
        {
            UnidadBO consultada = ObtenerUnidad(unidad);

            #region Se obtiene la información completa de la unidad y sus trámites
            List <TramiteBO> lstTramites = new List <TramiteBO>();

            if (consultada != null && (consultada.UnidadID != null || consultada.EquipoID != null))
            {
                lstTramites = new TramiteBR().ConsultarCompleto(dataContext, new TramiteProxyBO()
                {
                    Activo = true, Tramitable = consultada
                }, false);
            }
            #endregion
            if (consultada == null)
            {
                consultada = new Equipos.BO.UnidadBO();
            }
            if (consultada.Modelo == null)
            {
                consultada.Modelo = new ModeloBO();
            }
            if (consultada.Modelo.Marca == null)
            {
                consultada.Modelo.Marca = new MarcaBO();
            }
            if (consultada.Sucursal == null)
            {
                consultada.Sucursal = new SucursalBO();
            }
            if (consultada.CaracteristicasUnidad == null)
            {
                consultada.CaracteristicasUnidad = new CaracteristicasUnidadBO();
            }
            if (consultada == null)
            {
                throw new Exception("No se ha proporcionado una unidad a agregar");
            }

            vista.UnidadID                   = consultada.UnidadID;
            vista.EquipoID                   = consultada.EquipoID;
            vista.VIN                        = !string.IsNullOrEmpty(consultada.NumeroSerie) ? consultada.NumeroSerie : string.Empty;
            vista.NumeroEconocimico          = !string.IsNullOrEmpty(consultada.NumeroEconomico) ? consultada.NumeroEconomico : string.Empty;
            vista.SucursalID                 = consultada.Sucursal.Id;
            vista.Sucursal                   = !string.IsNullOrEmpty(consultada.Sucursal.Nombre) ? consultada.Sucursal.Nombre : string.Empty;
            vista.ModeloID                   = consultada.Modelo.Id;
            vista.Modelo                     = consultada.Modelo.Nombre;
            vista.Marca                      = consultada.Modelo.Marca.Nombre;
            this.vista.UnidadCapacidadTanque = consultada.CombustibleConsumidoTotal;
            vista.Anio                       = consultada.Anio;

            //Información de los Trámites de la Unidad y Deducible
            TramiteBO tramite = null;
            #region Placa Estatal
            tramite = lstTramites.Find(p => p.Tipo != null && p.Tipo == ETipoTramite.PLACA_ESTATAL && p.Activo != null && p.Activo == true);
            if (tramite != null && tramite.Resultado != null && tramite.Resultado.Trim().CompareTo("") != 0)
            {
                this.vista.UnidadPlacaEstatal = tramite.Resultado;
            }
            else
            {
                this.vista.UnidadPlacaEstatal = null;
            }
            #endregion

            this.vista.EArea = consultada.Area;

            //Información de los Equipos Aliados de la Unidad
            DataTable dt = new DataTable();
            dt.Columns.Add(new DataColumn("NumeroSerie"));
            dt.Columns.Add(new DataColumn("Anio"));
            dt.Columns.Add(new DataColumn("Dimensiones"));
            dt.Columns.Add(new DataColumn("PBV"));
            dt.Columns.Add(new DataColumn("PBC"));
            dt.Columns.Add(new DataColumn("Modelo"));
            if (consultada.EquiposAliados != null)
            {
                foreach (EquipoAliadoBO ea in consultada.EquiposAliados)
                {
                    DataRow dr = dt.NewRow();
                    dr["NumeroSerie"] = ea.NumeroSerie;
                    dr["Anio"]        = ea.Anio;
                    dr["Dimensiones"] = ea.Dimension;
                    dr["PBV"]         = ea.PBV;
                    dr["PBC"]         = ea.PBC;

                    if (ea.Modelo != null)
                    {
                        dr["Modelo"] = ea.Modelo.Nombre;
                    }

                    dt.Rows.Add(dr);
                }
            }
            dt.AcceptChanges();
            this.vista.EstablecerEquiposAliadoUnidad(dt);
        }