public void IrAExpediente(int?unidadID)
        {
            try {
                if (unidadID == null)
                {
                    throw new Exception("No se encontró el registro seleccionado.");
                }

                Equipos.BO.UnidadBO bo = new Equipos.BO.UnidadBO {
                    UnidadID = unidadID
                };

                this.vista.LimpiarSesion();

                Dictionary <string, object> paquete = new Dictionary <string, object>();
                paquete.Add("ObjetoFiltro", this.InterfazUsuarioADato());
                paquete.Add("Bandera", true);

                this.vista.EstablecerPaqueteNavegacion("FiltrosSeguimientoFlota", paquete);
                this.vista.EstablecerPaqueteNavegacion("UnidadExpedienteBO", bo);

                this.vista.RedirigirAExpediente();
            } catch (Exception ex) {
                throw new Exception(this.nombreClase + ".IrAExpediente: " + ex.Message);
            }
        }
 public void VerDetalles(int index)
 {
     if (index >= this.vista.Tramitables.Count || index < 0)
     {
         throw new Exception("No se encontró la unidad seleccionada.");
     }
     Equipos.BO.UnidadBO bo = this.vista.Tramitables[index];
     this.LimpiarSesion();
     this.vista.EstablecerPaqueteNavegacion("DatosTramitable", bo);
     this.vista.RedirigirADetalles();
 }
        public object PrepararBOBuscador(string catalogo)
        {
            object obj = null;

            switch (catalogo)
            {
            case "Unidad":
                var unidad = new Equipos.BO.UnidadBO();
                if (!string.IsNullOrEmpty(this.vista.NumeroSerie))
                {
                    unidad.NumeroSerie = this.vista.NumeroSerie;
                }
                obj = unidad;
                break;
            }
            return(obj);
        }
        public LineaContratoManttoBO ObtenerLineaContrato()
        {
            LineaContratoManttoBO linea    = new LineaContratoManttoBO();
            TarifaManttoBO        cobrable = new TarifaManttoBO();

            Equipos.BO.UnidadBO equipo = new Equipos.BO.UnidadBO();
            equipo.Modelo                = new ModeloBO();
            equipo.Modelo.Marca          = new MarcaBO();
            equipo.CaracteristicasUnidad = new CaracteristicasUnidadBO();
            equipo.Sucursal              = new SucursalBO();
            linea.ProductoServicio       = new ProductoServicioBO();

            linea.LineaContratoID              = this.vista.LineaContratoID;
            linea.KmEstimadoAnual              = this.vista.KmEstimadoAnual;
            linea.SubLineasContrato            = this.vista.SubLineasContrato;
            linea.ProductoServicio.Id          = this.vista.ProductoServicioId;
            linea.ProductoServicio.NombreCorto = this.vista.ClaveProductoServicio;
            linea.ProductoServicio.Nombre      = this.vista.DescripcionProductoServicio;

            equipo.UnidadID = this.vista.UnidadID;
            equipo.EquipoID = this.vista.EquipoID;
            equipo.Anio     = this.vista.Anio;
            equipo.CaracteristicasUnidad.PBCMaximoRecomendado = this.vista.CapacidadCarga;
            equipo.CaracteristicasUnidad.CapacidadTanque      = this.vista.CapacidadTanque;
            equipo.Modelo.Marca.Nombre = this.vista.MarcaNombre;
            equipo.Modelo.Nombre       = this.vista.ModeloNombre;
            equipo.NumeroEconomico     = this.vista.NumeroEconomico;
            equipo.CaracteristicasUnidad.RendimientoTanque = this.vista.RendimientoTanque;
            equipo.NumeroSerie     = this.vista.VIN;
            equipo.Sucursal.Nombre = equipo.Sucursal.Nombre;

            cobrable.CargoFijoMensual       = this.vista.CargoFijoMensual;
            cobrable.KilometrosLibres       = this.vista.KilometrosLibres;
            cobrable.CargoKmRecorrido       = this.vista.CostoKmRecorrido;
            cobrable.HorasLibres            = this.vista.HorasLibres;
            cobrable.CargoHorasRefrigeradas = this.vista.CostoHorasRefrigeradas;
            cobrable.TarifaID        = this.vista.CobrableID;
            cobrable.PeriodoTarifaHR = this.vista.PeriodoTarifaHRS.HasValue && this.vista.PeriodoTarifaHRS >= 0 ? (EPeriodoTarifa?)this.vista.PeriodoTarifaHRS : null;
            cobrable.PeriodoTarifaKM = this.vista.PeriodoTarifaKM.HasValue && this.vista.PeriodoTarifaKM >= 0 ? (EPeriodoTarifa?)this.vista.PeriodoTarifaKM : null;

            linea.Equipo   = equipo;
            linea.Cobrable = cobrable;

            return(linea);
        }
 public void DesplegarResultadoBuscador(string catalogo, object selecto)
 {
     switch (catalogo)
     {
     case "Unidad":
         Equipos.BO.UnidadBO unidad = (Equipos.BO.UnidadBO)selecto;
         if (unidad == null)
         {
             unidad = new Equipos.BO.UnidadBO();
         }
         if (unidad.Modelo == null)
         {
             unidad.Modelo = new ModeloBO();
         }
         if (unidad.Modelo.Marca == null)
         {
             unidad.Modelo.Marca = new MarcaBO();
         }
         this.vista.NumeroSerie  = unidad.NumeroSerie;
         this.vista.TramitableID = unidad.UnidadID;
         break;
     }
 }
Example #6
0
        public void SeleccionarUnidad(Equipos.BO.UnidadBO unidad)
        {
            try {
                #region Se obtiene la información completa de la unidad y sus trámites
                List <TramiteBO> lstTramites = new List <TramiteBO>();

                if (unidad != null && (unidad.UnidadID != null || unidad.EquipoID != null))
                {
                    List <Equipos.BO.UnidadBO> lst = new UnidadBR().ConsultarCompleto(this.dctx, new Equipos.BO.UnidadBO()
                    {
                        UnidadID = unidad.UnidadID, EquipoID = unidad.EquipoID
                    }, true);
                    if (lst.Count <= 0)
                    {
                        throw new Exception("No se encontró la información completa de la unidad seleccionada.");
                    }

                    unidad = lst[0];

                    lstTramites = new TramiteBR().ConsultarCompleto(this.dctx, new TramiteProxyBO()
                    {
                        Activo = true, Tramitable = unidad
                    }, false);

                    bool esValido = ((EAreaConstruccion)unidad.Area == EAreaConstruccion.RO || (EAreaConstruccion)unidad.Area == EAreaConstruccion.ROC);

                    if (this.vista.UnidadOperativaID == (int)ETipoEmpresa.Construccion && esValido)
                    {
                        CatalogoBaseBO catalogoBase = unidad.TipoEquipoServicio;
                        unidad.TipoEquipoServicio = FacadeBR.ConsultarTipoUnidad(dctx, catalogoBase).FirstOrDefault();

                        ContratoPSLBR Contratobr = new ContratoPSLBR();
                        ETipoUnidad?  tipo       = Contratobr.ObtenerTipoUnidadPorClave(dctx, unidad.TipoEquipoServicio.NombreCorto, null);

                        if (tipo == null)
                        {
                            this.vista.HabilitarBotonTerminar(false);
                            this.vista.MostrarMensaje(this.nombreClase + ".SeleccionarUnidad: " + "No es posible seleccionar la unidad " + unidad.NumeroSerie + " debido a que no existe un checklist para su tipo (" + unidad.TipoEquipoServicio.NombreCorto + ")", ETipoMensajeIU.ADVERTENCIA, null);
                            return;
                        }
                        else
                        {
                            this.vista.HabilitarBotonTerminar(true);
                        }
                    }
                    else
                    {
                        this.vista.HabilitarBotonTerminar(true);
                    }
                }
                #endregion

                #region Dato a Interfaz de Usuario
                //Información de la Unidad
                if (unidad == null)
                {
                    unidad = new Equipos.BO.UnidadBO();
                }
                if (unidad.Modelo == null)
                {
                    unidad.Modelo = new BPMO.Servicio.Catalogos.BO.ModeloBO();
                }
                if (unidad.Modelo.Marca == null)
                {
                    unidad.Modelo.Marca = new BPMO.Servicio.Catalogos.BO.MarcaBO();
                }
                if (unidad.Sucursal == null)
                {
                    unidad.Sucursal = new SucursalBO();
                }
                if (unidad.CaracteristicasUnidad == null)
                {
                    unidad.CaracteristicasUnidad = new CaracteristicasUnidadBO();
                }

                #endregion
            } catch (Exception ex) {
                throw new Exception(this.nombreClase + ".SeleccionarUnidad: " + ex.Message);
            }
        }
Example #7
0
        public void DesplegarResultadoBuscador(string catalogo, object selecto)
        {
            switch (catalogo)
            {
            case "Unidad":
                Equipos.BO.UnidadBO unidadBO = (Equipos.BO.UnidadBO)selecto;
                this.SeleccionarUnidad(unidadBO);

                if (selecto != null && (unidadBO.UnidadID != null))
                {
                    this.vista.NumeroSerie         = unidadBO.NumeroSerie ?? string.Empty;
                    this.vista.IntercambioUnidadID = unidadBO.UnidadID;
                    this.vista.IntercambioEquipoID = unidadBO.EquipoID;

                    //Obtenemos el modelo de la unidad
                    this.vista.ModeloNombre = ConsultarModeloUnidad(unidadBO.IDLider).ConfiguracionModeloMotorizacion.Modelo.Nombre;
                    this.vista.ECode        = unidadBO.NumeroEconomico;

                    //Obtiene los últimos valores de Combustible y Horómetro
                    ContratoPSLBR contratoPSLBR = new ContratoPSLBR();
                    List <Int32>  linea         = contratoPSLBR.ConsultarUltimosCombustibleHorometro(this.dctx, unidadBO.UnidadID, ETipoListadoVerificacion.RECEPCION);

                    int hrsInicial = 0;
                    if (linea.Count == 0)
                    {
                        hrsInicial = ObtenerHrsInicialEquipo(this.vista.NumeroSerie);
                    }

                    this.vista.PorcentajeCombustibleIntercambio = linea.Count > 0 ? linea[0].ToString() : Convert.ToString(0);
                    this.vista.HorometroUnidadIntercambio       = linea.Count > 0 ? linea[1].ToString() : Convert.ToString(hrsInicial);
                }

                break;

            case "Modelo":
                BPMO.Servicio.Catalogos.BO.ModeloBO modelo = (BPMO.Servicio.Catalogos.BO.ModeloBO)selecto;

                if (modelo != null && modelo.Id != null)
                {
                    this.vista.ModeloID = modelo.Id;

                    UnidadBO unidadBo = new UnidadBO();
                    unidadBo.Modelo    = new Servicio.Catalogos.BO.ModeloBO();
                    unidadBo.Modelo.Id = modelo.Id;
                    List <UnidadBO> lstUnidades = controladorUnidades.ConsultarCompleto(this.dctx, unidadBo);
                    if (lstUnidades.Any())
                    {
                        unidadBo          = lstUnidades[0];
                        vista.NumeroSerie = unidadBo.NumeroSerie ?? string.Empty;
                        this.vista.IntercambioUnidadID = unidadBo.UnidadID;
                        this.vista.IntercambioEquipoID = unidadBo.EquipoID;
                        this.vista.ECode = unidadBo.NumeroEconomico;

                        ContratoPSLBR contratoPSLBR = new ContratoPSLBR();
                        List <Int32>  linea         = contratoPSLBR.ConsultarUltimosCombustibleHorometro(this.dctx, unidadBo.UnidadID, ETipoListadoVerificacion.RECEPCION);

                        int hrsInicial = 0;
                        if (linea.Count == 0)
                        {
                            hrsInicial = ObtenerHrsInicialEquipo(this.vista.NumeroSerie);
                        }

                        this.vista.PorcentajeCombustibleIntercambio = linea.Count > 0 ? linea[0].ToString() : Convert.ToString(0);
                        this.vista.HorometroUnidadIntercambio       = linea.Count > 0 ? linea[1].ToString() : Convert.ToString(hrsInicial);
                    }
                    else
                    {
                        throw new Exception(this.nombreClase + ".DesplegarResultadoBuscador: no se puede usar este modelo de unidad para el intercambio ");
                    }
                }
                else
                {
                    this.vista.ModeloID = null;
                }

                if (modelo != null && modelo.Nombre != null)
                {
                    this.vista.ModeloNombre = modelo.Nombre;
                }
                else
                {
                    this.vista.ModeloNombre = null;
                }
                break;
            }
        }
        private void EstablecerLineaContrato(LineaContratoManttoBO linea, bool edicion = false)
        {
            try
            {
                if (linea == null)
                {
                    linea = new LineaContratoManttoBO();
                }
                if (linea.Equipo == null)
                {
                    linea.Equipo = new Equipos.BO.UnidadBO();
                }
                if (!(linea.Equipo is Equipos.BO.UnidadBO))
                {
                    throw new Exception("El equipo de la línea de contrato no es una unidad.");
                }

                List <TramiteBO> lstTramites = new List <TramiteBO>();

                #region Se obtiene la información completa de la unidad y sus trámites
                if (((Equipos.BO.UnidadBO)linea.Equipo).UnidadID != null)
                {
                    Equipos.BO.UnidadBO bo = (Equipos.BO.UnidadBO)linea.Equipo;
                    //SC_0051: cambie de consultar completo a consultar detalle
                    List <Equipos.BO.UnidadBO> lst = new UnidadBR().ConsultarDetalle(this.dctx, new Equipos.BO.UnidadBO()
                    {
                        UnidadID = bo.UnidadID, EquipoID = bo.EquipoID
                    }, true);
                    if (lst.Count <= 0)
                    {
                        throw new Exception("No se encontró la información completa de la unidad seleccionada.");
                    }
                    if (!edicion)
                    {
                        bo = lst[0];
                    }

                    if (bo.Sucursal != null)//SC_0051
                    {
                        if (bo.Sucursal.Id.HasValue)
                        {
                            var lstUnis = FacadeBR.ConsultarSucursal(dctx, bo.Sucursal);
                            var sucUni  = lstUnis.FirstOrDefault(x => x.Id == bo.Sucursal.Id);

                            if (sucUni != null)
                            {
                                bo.Sucursal = sucUni;
                            }
                        }
                    }

                    lstTramites = new TramiteBR().ConsultarCompleto(this.dctx, new TramiteProxyBO()
                    {
                        Activo = true, Tramitable = bo
                    }, false);

                    linea.Equipo = bo;
                }
                #endregion

                #region Se completa la información de la sub-línea de contrato con los equipos aliados de la unidad
                if (linea.SubLineasContrato != null)
                {
                    foreach (SubLineaContratoManttoBO sublinea in linea.SubLineasContrato)
                    {
                        if (sublinea.EquipoAliado == null)
                        {
                            sublinea.EquipoAliado = new EquipoAliadoBO();
                        }

                        if (sublinea.EquipoAliado.EquipoAliadoID != null && ((Equipos.BO.UnidadBO)linea.Equipo).EquiposAliados != null)
                        {
                            EquipoAliadoBO eaTemp = ((Equipos.BO.UnidadBO)linea.Equipo).EquiposAliados.Find(p => p.EquipoAliadoID == sublinea.EquipoAliado.EquipoAliadoID);
                            if (eaTemp != null)
                            {
                                sublinea.EquipoAliado = eaTemp;
                            }
                        }
                    }
                }
                else
                {
                    if (linea.Equipo != null && linea.Equipo is Equipos.BO.UnidadBO && ((Equipos.BO.UnidadBO)linea.Equipo).EquiposAliados != null)
                    {
                        linea.SubLineasContrato = new List <SubLineaContratoManttoBO>();
                        foreach (EquipoAliadoBO ea in ((Equipos.BO.UnidadBO)linea.Equipo).EquiposAliados)
                        {
                            SubLineaContratoManttoBO subLinea = new SubLineaContratoManttoBO();
                            subLinea.EquipoAliado  = ea;
                            subLinea.Mantenimiento = false;
                            linea.SubLineasContrato.Add(subLinea);
                        }
                    }
                }
                #endregion

                this.DatoAInterfazUsuario(lstTramites);
                this.DatoAInterfazUsuario(linea);
            }
            catch (Exception ex)
            {
                throw new Exception(this.nombreClase + ".EstablecerLineaContrato: " + ex.Message);
            }
        }
        private void DatoAInterfazUsuario(object obj)
        {
            if (obj is Equipos.BO.UnidadBO)
            {
                #region Unidad A Interfaz de Usuario
                Equipos.BO.UnidadBO unidad = (Equipos.BO.UnidadBO)obj;

                //Información de la Unidad
                if (unidad == null)
                {
                    unidad = new Equipos.BO.UnidadBO();
                }
                if (unidad.Modelo == null)
                {
                    unidad.Modelo = new ModeloBO();
                }
                if (unidad.Modelo.Marca == null)
                {
                    unidad.Modelo.Marca = new MarcaBO();
                }
                if (unidad.Sucursal == null)
                {
                    unidad.Sucursal = new SucursalBO();
                }
                if (unidad.CaracteristicasUnidad == null)
                {
                    unidad.CaracteristicasUnidad = new CaracteristicasUnidadBO();
                }

                this.vista.UnidadID          = unidad.UnidadID;
                this.vista.EquipoID          = unidad.EquipoID;
                this.vista.CapacidadCarga    = unidad.CaracteristicasUnidad.PBCMaximoRecomendado;
                this.vista.RendimientoTanque = unidad.CaracteristicasUnidad.RendimientoTanque;
                this.vista.CapacidadTanque   = unidad.CaracteristicasUnidad.CapacidadTanque;
                this.vista.Anio = unidad.Anio;

                if (unidad.NumeroEconomico != null && unidad.NumeroEconomico.Trim().CompareTo("") != 0)
                {
                    this.vista.NumeroEconomico = unidad.NumeroEconomico;
                }
                else
                {
                    this.vista.NumeroEconomico = null;
                }

                if (unidad.NumeroSerie != null && unidad.NumeroSerie.Trim().CompareTo("") != 0)
                {
                    this.vista.VIN = unidad.NumeroSerie;
                }
                else
                {
                    this.vista.VIN = null;
                }

                if (unidad.Modelo.Nombre != null && unidad.Modelo.Nombre.Trim().CompareTo("") != 0)
                {
                    this.vista.ModeloNombre = unidad.Modelo.Nombre;
                }
                else
                {
                    this.vista.ModeloNombre = null;
                }

                if (!string.IsNullOrEmpty(unidad.Modelo.Marca.Nombre) && !string.IsNullOrWhiteSpace(unidad.Modelo.Marca.Nombre))
                {
                    this.vista.MarcaNombre = unidad.Modelo.Marca.Nombre.Trim().ToUpper();
                }
                else
                {
                    this.vista.MarcaNombre = null;
                }

                if (unidad.Sucursal.Nombre != null && unidad.Sucursal.Nombre.Trim().CompareTo("") != 0)
                {
                    this.vista.SucursalNombre = unidad.Sucursal.Nombre;
                }
                else
                {
                    this.vista.SucursalNombre = null;
                }
                #endregion
            }
            if (obj is List <TramiteBO> )
            {
                #region Trámites A Interfaz de Usuario
                List <TramiteBO> lstTramites = (List <TramiteBO>)obj;

                TramiteBO tramite = null;
                //Placa Federal
                tramite = lstTramites.Find(p => p.Tipo != null && p.Tipo == ETipoTramite.PLACA_FEDERAL && p.Activo != null && p.Activo == true);
                if (tramite != null && tramite.Resultado != null && tramite.Resultado.Trim().CompareTo("") != 0)
                {
                    this.vista.PlacaFederal = tramite.Resultado;
                }
                else
                {
                    this.vista.PlacaFederal = null;
                }

                //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.PlacaEstatal = tramite.Resultado;
                }
                else
                {
                    this.vista.PlacaEstatal = null;
                }
                #endregion
            }
            if (obj is LineaContratoManttoBO)
            {
                #region Línea de Contrato a Interfaz de Usuario
                LineaContratoManttoBO linea = (LineaContratoManttoBO)obj;
                if (linea.Cobrable == null)
                {
                    linea.Cobrable = new TarifaManttoBO();
                }
                if (linea.ProductoServicio == null)
                {
                    linea.ProductoServicio = new ProductoServicioBO();
                }

                this.vista.LineaContratoID        = linea.LineaContratoID;
                this.vista.KmEstimadoAnual        = linea.KmEstimadoAnual;
                this.vista.CobrableID             = linea.Cobrable.CobrableID;
                this.vista.CargoFijoMensual       = ((TarifaManttoBO)linea.Cobrable).CargoFijoMensual;
                this.vista.KilometrosLibres       = ((TarifaManttoBO)linea.Cobrable).KilometrosLibres;       //SC051
                this.vista.CostoKmRecorrido       = ((TarifaManttoBO)linea.Cobrable).CargoKmRecorrido;
                this.vista.HorasLibres            = ((TarifaManttoBO)linea.Cobrable).HorasLibres;            //SC051
                this.vista.CostoHorasRefrigeradas = ((TarifaManttoBO)linea.Cobrable).CargoHorasRefrigeradas; //SC051
                this.vista.PeriodoTarifaHRS       = ((TarifaManttoBO)linea.Cobrable).PeriodoTarifaHR.HasValue
                                                  ? (int?)((TarifaManttoBO)linea.Cobrable).PeriodoTarifaHR.Value
                                                  : null;
                this.vista.PeriodoTarifaKM = ((TarifaManttoBO)linea.Cobrable).PeriodoTarifaKM.HasValue
                                                 ? (int?)((TarifaManttoBO)linea.Cobrable).PeriodoTarifaKM.Value
                                                 : null;

                this.vista.ProductoServicioId          = linea.ProductoServicio.Id;
                this.vista.ClaveProductoServicio       = linea.ProductoServicio.NombreCorto;
                this.vista.DescripcionProductoServicio = linea.ProductoServicio.Nombre;
                this.DatoAInterfazUsuario(linea.Equipo);
                this.vista.SubLineasContrato = linea.SubLineasContrato;
                #endregion
            }
        }