/// <summary>
        /// Obtiene los datos que seran enviados a Actualizar
        /// </summary>
        /// <returns>Objeto que sera actualizado</returns>
        private Object InterfazUsuarioDato()
        {
            ContratoBO contrato      = this.vista.ContratoConsultado;
            SucursalBO nuevaSucursal = new SucursalBO()
            {
                Auditoria = new AuditoriaBO(), UnidadOperativa = this.vista.UnidadOperativa
            };

            nuevaSucursal.Id     = this.vista.SucursalIdNueva != null ? this.vista.SucursalIdNueva : null;
            nuevaSucursal.Nombre = this.vista.SucursalNombreNueva != null ? this.vista.SucursalNombreNueva : null;
            DateTime?fua = DateTime.Now;
            Int32?   uua = this.vista.UsuarioId;

            contrato.Sucursal = nuevaSucursal;
            contrato.FUA      = fua;
            contrato.UUA      = uua;
            foreach (ILineaContrato linea in contrato.LineasContrato)
            {
                linea.Equipo.Sucursal = nuevaSucursal;
                linea.Equipo.FUA      = fua;
                linea.Equipo.UUA      = uua;
                if ((linea.Equipo as UnidadBO).EquiposAliados != null && (linea.Equipo as UnidadBO).EquiposAliados.Any())
                {
                    UnidadBO unidad = (linea.Equipo as UnidadBO);
                    foreach (EquipoAliadoBO equipoAliado in unidad.EquiposAliados)
                    {
                        equipoAliado.Sucursal = nuevaSucursal;
                        equipoAliado.FUA      = fua;
                        equipoAliado.UUA      = uua;
                    }
                }
            }

            return(contrato);
        }
Пример #2
0
        public void DesplegarInformacion(UnidadBO unidad)
        {
            this.DatosAInterfazUsuario(unidad);

            this.vista.UsuarioCreacion     = this.ObtenerNombreEmpleado(this.vista.UC);
            this.vista.UsuarioModificacion = this.ObtenerNombreEmpleado(this.vista.UUA);
        }
        /// <summary>
        /// Presenta la información de un objeto de negocio en la vista
        /// </summary>
        /// <param name="obj">objeto que se desea desplegar en la pantalla</param>
        public void DatoAInterfazUsuario(object obj)
        {
            ElementoFlotaBO elemento = obj as ElementoFlotaBO;

            if (ReferenceEquals(elemento.Unidad, null))
            {
                elemento.Unidad = new UnidadBO();
            }

            UnidadBO unidad = elemento.Unidad;

            if (ReferenceEquals(unidad.EquiposAliados, null))
            {
                unidad.EquiposAliados = new List <EquipoAliadoBO>();
            }

            this.vistaEA.EquipoID        = unidad.EquipoID.HasValue ? unidad.EquipoID.Value.ToString(CultureInfo.InvariantCulture).Trim().ToUpper() : string.Empty;
            this.vistaEA.LiderID         = unidad.IDLider.HasValue ? unidad.IDLider.Value.ToString(CultureInfo.InvariantCulture).Trim().ToUpper() : string.Empty;
            this.vistaEA.NumeroEconomico = !string.IsNullOrEmpty(unidad.NumeroEconomico) && !string.IsNullOrWhiteSpace(unidad.NumeroEconomico)
                                               ? unidad.NumeroEconomico.Trim().ToUpper()
                                               : string.Empty;
            this.vistaEA.NumeroSerie = !string.IsNullOrEmpty(unidad.NumeroSerie) && !string.IsNullOrWhiteSpace(unidad.NumeroSerie)
                                           ? unidad.NumeroSerie.Trim().ToUpper()
                                           : string.Empty;
            this.vistaEA.OracleID = !string.IsNullOrEmpty(unidad.ClaveActivoOracle) && !string.IsNullOrWhiteSpace(unidad.ClaveActivoOracle)
                                        ? unidad.ClaveActivoOracle.Trim().ToUpper()
                                        : string.Empty;
            this.vistaEA.UnidadID = unidad.UnidadID.HasValue ? unidad.UnidadID.Value.ToString(CultureInfo.InvariantCulture).Trim().ToUpper() : string.Empty;

            this.vistaEA.EquiposAliados = unidad.EquiposAliados;
        }
Пример #4
0
        private void DatosAInterfazUsuario(object obj)
        {
            UnidadBO bo = (UnidadBO)obj;

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

            if (bo.Area != null)
            {
                this.vista.Area = bo.Area.ToString();
            }

            this.vista.EstatusUnidad = bo.EstatusActual;
            this.vista.UC            = bo.UC;
            this.vista.UUA           = bo.UUA;
            this.vista.FC            = bo.FC;
            this.vista.FUA           = bo.FUA;

            if (bo.Sucursal != null)
            {
                this.vista.SucursalNombre = bo.Sucursal.Nombre;
            }

            this.vista.PermitirConfigurarMantenimientos((bo.EstatusActual != null && bo.EstatusActual != EEstatusUnidad.NoDisponible));
            this.vista.PermitirRegistrarMantenimientos((bo.EstatusActual != null && bo.EstatusActual != EEstatusUnidad.NoDisponible));
        }
        public void ConsultarEquipoBO()
        {
            try
            {
                UnidadBO unidadTemp = new UnidadBO();
                if (this.vista.Tramitable.TipoTramitable == unidadTemp.TipoTramitable)
                {
                    unidadTemp.NumeroSerie = this.vista.Tramitable.DescripcionTramitable;
                    unidadTemp.UnidadID    = this.vista.Tramitable.TramitableID;

                    List <UnidadBO> lstUnidad = unidadBR.ConsultarCompleto(dctx, unidadTemp, true);

                    if (lstUnidad.Count != 0)
                    {
                        if (lstUnidad.Count == 1)
                        {
                            UnidadBO unidad = lstUnidad[0];
                            if (unidad.UnidadID != null)
                            {
                                this.vista.NumeroSerie = unidad.NumeroSerie;

                                if (unidad.Modelo != null)
                                {
                                    this.vista.Modelo = unidad.Modelo.Nombre;
                                    if (unidad.Modelo.Marca != null)
                                    {
                                        this.vista.Marca = unidad.Modelo.Marca.Nombre;
                                    }
                                }
                            }
                            else
                            {
                                throw new Exception("La consulta devolvió una unidad nula");
                            }
                        }
                        else
                        {
                            throw new Exception("La consulta devolvió más una unidad");
                        }
                    }
                    else
                    {
                        throw new Exception("La consulta no devolvió ningún registro");
                    }
                }
                else
                {
                    throw new Exception("Se esperaba una unidad");
                }
            }
            catch (Exception ex)
            {
                this.MostrarMensaje("Error al consultar los datos de la unidad", ETipoMensajeIU.ERROR, nombreClase + ".ConsultarEquipoBO:" + ex.Message);
            }
        }
 public void AsignarNumVIN(ITramitable tramitable)
 {
     try
     {
         if (tramitable != null)
         {
             UnidadBO unidadTemp = new UnidadBO();
             if (unidadTemp.TipoTramitable == tramitable.TipoTramitable)
             {
                 unidadTemp.UnidadID    = tramitable.TramitableID;
                 unidadTemp.NumeroSerie = tramitable.DescripcionTramitable;
                 List <UnidadBO> lstUnidad = unidadBR.ConsultarCompleto(dctx, unidadTemp, true);
                 if (lstUnidad.Count != 0)
                 {
                     if (lstUnidad.Count == 1)
                     {
                         UnidadBO unidad = lstUnidad[0];
                         if (unidad.UnidadID != null)
                         {
                             if (unidad.Modelo != null)
                             {
                                 this.vista.Modelo = unidad.Modelo.Nombre;
                                 if (unidad.Modelo.Marca != null)
                                 {
                                     this.vista.Marca = unidad.Modelo.Marca.Nombre;
                                 }
                             }
                             vista.NumSerie = unidad.NumeroSerie;
                         }
                         else
                         {
                             this.MostrarMensaje("Error al intentar obtener datos de la unidad", ETipoMensajeIU.ERROR, nombreClase + ".AsignarNumVIN: la consulta regreso una unidad nula");
                         }
                     }
                     else
                     {
                         this.MostrarMensaje("Error al intentar obtener los datos de la unidad", ETipoMensajeIU.ERROR, nombreClase + ".AsignarNumVIN: no devolvió más de una unidad");
                     }
                 }
                 else
                 {
                     this.MostrarMensaje("Error al intentar obtener los datos de la unidad", ETipoMensajeIU.ERROR, nombreClase + ".AsignarNumVIN: no devolvió ningún registro");
                 }
             }
             else
             {
                 this.MostrarMensaje("Se esperaba una unidad", ETipoMensajeIU.ERROR, nombreClase + ".AsignarNumVIN: ");
             }
         }
     }
     catch (Exception ex)
     {
         this.MostrarMensaje("Error al intentar obtener los datos de la unidad", ETipoMensajeIU.ERROR, nombreClase + ".AsignarNumVIN:" + ex.Message);
     }
 }
Пример #7
0
        public UnidadBO Obtener_Tipo_Unidad(int id)
        {
            var       ex        = new UnidadBO();
            String    strBuscar = string.Format("Select Id, Nombre FROM [Tipo de Unidad] where Id ={0}", id);
            DataTable datos     = conex.Tabla_Consultada(strBuscar);
            DataRow   row       = datos.Rows[0];

            ex.Id     = Convert.ToInt32(row["Id"]);
            ex.Nombre = row["Nombre"].ToString();
            return(ex);
        }
 /// <summary>
 /// Prepara una nueva línea de contrato para capturar y agregar al contrato
 /// </summary>
 public void PrepararNuevaLinea()
 {
     try {
         if (presentadorDatosContrato.Vista.DiasRenta != null)
         {
             if (presentadorDatosContrato.Vista.UnidadID != null)
             {
                 if (!presentadorDatosContrato.ExisteUnidadContrato(new UnidadBO {
                     UnidadID = presentadorDatosContrato.Vista.UnidadID
                 }))
                 {
                     if (presentadorDatosContrato.Vista.CodigoMoneda != null)
                     {
                         UnidadBO unidad = presentadorDatosContrato.ObtenerUnidadAgregar();
                         unidad.Sucursal = new SucursalBO
                         {
                             UnidadOperativa = new UnidadOperativaBO {
                                 Id = vista.UnidadOperativaID
                             }
                         };
                         lineaContratoPRE.Vista.ModuloID        = this.presentadorDatosContrato.Vista.ModuloID;
                         lineaContratoPRE.Vista.UsuarioID       = this.vista.UsuarioID;
                         lineaContratoPRE.Vista.CuentaClienteID = this.presentadorDatosContrato.Vista.CuentaClienteID;
                         lineaContratoPRE.Inicializar(unidad, presentadorDatosContrato.Vista.DiasRenta, presentadorDatosContrato.Vista.CodigoMoneda);
                         vista.CambiarALinea();
                     }
                     else
                     {
                         vista.MostrarMensaje("No ha seleccionado la moneda.",
                                              ETipoMensajeIU.INFORMACION);
                     }
                 }
                 else
                 {
                     vista.MostrarMensaje("La unidad seleccionada ya existe en el contrato.",
                                          ETipoMensajeIU.INFORMACION);
                 }
             }
             else
             {
                 vista.MostrarMensaje("No ha seleccionado una unidad valida para agregar al contrato.",
                                      ETipoMensajeIU.ADVERTENCIA);
             }
         }
         else
         {
             vista.MostrarMensaje("Los días de renta deben ser mayor a 0.",
                                  ETipoMensajeIU.INFORMACION);
         }
     } catch (Exception ex) {
         throw new Exception(nombreClase + ".PrepararNuevaLinea: " + ex.Message);
     }
 }
Пример #9
0
        protected void grvActasNacimiento_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                UnidadBO unidad           = (UnidadBO)e.Row.DataItem;
                Label    labelFechaCompra = e.Row.FindControl("lblFechaCompra") as Label;
                if (labelFechaCompra != null)
                {
                    string fecha = string.Empty;
                    if (unidad.ActivoFijo != null)
                    {
                        if (unidad.ActivoFijo.FechaFacturaCompra != null)
                        {
                            fecha = String.Format("{0:dd/MM/yyyy}", unidad.ActivoFijo.FechaFacturaCompra);
                        }
                    }
                    labelFechaCompra.Text = fecha;
                }

                Label labelSucursalNombre = e.Row.FindControl("lblSucursal") as Label;
                if (labelSucursalNombre != null)
                {
                    string sucursalNombre = string.Empty;
                    if (unidad.Sucursal != null)
                    {
                        if (unidad.Sucursal.Nombre != null)
                        {
                            sucursalNombre = unidad.Sucursal.Nombre;
                        }
                    }
                    labelSucursalNombre.Text = sucursalNombre;
                }

                Label labelClienteNombre = e.Row.FindControl("lblCliente") as Label;
                if (labelClienteNombre != null)
                {
                    string clienteNombre = string.Empty;
                    if (unidad.Cliente != null)
                    {
                        if (unidad.Cliente.Nombre != null)
                        {
                            clienteNombre = unidad.Cliente.Nombre;
                        }
                    }
                    labelClienteNombre.Text = clienteNombre;
                }
            }
        }
Пример #10
0
        private void ConsultarTramitable()
        {
            try
            {
                SeguroBO        bo  = (SeguroBO)this.InterfazUsuarioADato();
                List <UnidadBO> lst = null;
                if (bo.Tramitable != null)
                {
                    if (bo.Tramitable.TipoTramitable.HasValue)
                    {
                        if (bo.Tramitable.TipoTramitable.Value == ETipoTramitable.Unidad)//Consultamos unidades
                        {
                            UnidadBR unidadBR = new UnidadBR();
                            UnidadBO unidad   = new UnidadBO();
                            unidad.UnidadID = bo.Tramitable.TramitableID;

                            lst = unidadBR.ConsultarCompleto(this.dctx, unidad, true);
                        }
                    }
                    else if (bo.Tramitable.TramitableID.HasValue)
                    {
                        UnidadBR unidadBR = new UnidadBR();
                        UnidadBO unidad   = new UnidadBO();
                        unidad.UnidadID = bo.Tramitable.TramitableID;

                        lst = unidadBR.ConsultarCompleto(this.dctx, unidad, true);
                    }
                }

                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.");
                }
                SeguroBO temp = new SeguroBO();
                temp.Tramitable = lst[0];
                this.DatoAInterfazUsuario(temp);
            }
            catch (Exception ex)
            {
                throw new Exception(this.nombreClase + ".ConsultarTramitable:" + ex.Message);
            }
        }
Пример #11
0
        /// <summary>
        /// Prepara una nueva linea de contrato para capturar y agregar al contrato
        /// </summary>
        public void PrepararNuevaLinea()
        {
            try
            {
                if (datosRentaPRE.Vista.PlazoMeses != null)
                {
                    if (datosRentaPRE.Vista.UnidadID != null)
                    {
                        if (!datosRentaPRE.ExisteUnidadContrato(new UnidadBO { UnidadID = datosRentaPRE.Vista.UnidadID }))
                        {
                            if (datosRentaPRE.Vista.PlazoMeses != null && datosRentaPRE.Vista.PlazoMeses > 0)
                            {
                                UnidadBO unidad = datosRentaPRE.ObtenerUnidadAgregar();
                                unidad.Sucursal = new SucursalBO
                                {
                                    UnidadOperativa = new UnidadOperativaBO { Id = vista.UnidadOperativa.Id }
                                };
                                lineaContratoPRE.Inicializar(unidad, datosRentaPRE.Vista.PlazoAnios);
                                vista.CambiarALinea();
                            }
                            else
                            {
                                vista.MostrarMensaje("No ha proporcionado un plazo en meses valido o mayor a 0", ETipoMensajeIU.ADVERTENCIA);
                            }
                        }
                        else
                            vista.MostrarMensaje("La unidad seleccionada ya existe en el contrato.",
                                                 ETipoMensajeIU.INFORMACION);
                    }
                    else
                        vista.MostrarMensaje("No ha seleccionado una unidad valida para agregar al contrato",
                                             ETipoMensajeIU.ADVERTENCIA);

                }
                else
                    vista.MostrarMensaje("No ha proporcionado un plazo en meses valido o mayor a 0",
                                         ETipoMensajeIU.INFORMACION);
            }
            catch (Exception ex)
            {
                throw new Exception(nombreClase + ".PrepararNuevaLinea: " + ex.Message);
            }
        }
Пример #12
0
 private void DatoAInterfazUsuario(SeguroBO bo)
 {
     this.vista.Activo         = bo.Activo;
     this.vista.Aseguradora    = bo.Aseguradora;
     this.vista.Contacto       = bo.Contacto;
     this.vista.NumeroPoliza   = bo.NumeroPoliza;
     this.vista.Observaciones  = bo.Observaciones;
     this.vista.PrimaAnual     = bo.PrimaAnual;
     this.vista.PrimaSemestral = bo.PrimaSemestral;
     if (bo.Tramitable != null)
     {
         if (bo.Tramitable.TipoTramitable.HasValue)
         {
             this.vista.TipoTramitable = bo.Tramitable.TipoTramitable.Value;
         }
         if (bo.Tramitable is UnidadBO)
         {
             if (((UnidadBO)bo.Tramitable) != null)
             {
                 UnidadBO uni = (UnidadBO)bo.Tramitable;
                 if (uni.Modelo != null)
                 {
                     if (!string.IsNullOrEmpty(uni.Modelo.Nombre) && !string.IsNullOrWhiteSpace(uni.Modelo.Nombre))
                     {
                         this.vista.Modelo = ((UnidadBO)bo.Tramitable).Modelo.Nombre;
                     }
                 }
             }
         }
         if (bo.Tramitable.TramitableID.HasValue)
         {
             this.vista.TramitableID = bo.Tramitable.TramitableID;
         }
         if (!string.IsNullOrEmpty(bo.Tramitable.DescripcionTramitable) && !string.IsNullOrWhiteSpace(bo.Tramitable.DescripcionTramitable))
         {
             this.vista.VIN = bo.Tramitable.DescripcionTramitable;
         }
     }
     this.vista.TramiteID       = bo.TramiteID;
     this.vista.VigenciaFinal   = bo.VigenciaFinal;
     this.vista.VigenciaInicial = bo.VigenciaInicial;
     if (bo.Deducibles != null)
     {
         if (bo.Deducibles.Count > 0)
         {
             this.vista1.Deducibles = bo.Deducibles;
             this.vista1.ActualizarLista();
         }
     }
     if (bo.Endosos != null)
     {
         if (bo.Endosos.Count > 0)
         {
             this.vista2.Endosos = bo.Endosos;
             this.vista2.ActualizarLista();
             this.presentador2.CalcularTotales();//RI0015
         }
     }
     if (bo.Siniestros != null)
     {
         if (bo.Siniestros.Count > 0)
         {
             this.vista3.Siniestros = bo.Siniestros;
             this.vista3.ActualizarLista();
         }
     }
 }
Пример #13
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;
            }
        }
Пример #14
0
        private LineaContratoPSLBO ObtenerLineaContrato(LineaContratoPSLBO lineaAnterior, UnidadBO unidadNueva, ContratoPSLBO bo)
        {
            LineaContratoPSLBO lineaBO = new LineaContratoPSLBO();

            lineaBO.Equipo = unidadNueva;

            lineaBO.TipoTarifa = lineaAnterior.TipoTarifa;

            lineaBO.Cobrable = new TarifaContratoPSLBO
            {
                PeriodoTarifa                = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).PeriodoTarifa,
                Tarifa                       = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).Tarifa,
                TarifaHrAdicional            = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).TarifaHrAdicional,
                TarifaTurno                  = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).TarifaTurno,
                TipoTarifaID                 = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).TipoTarifaID,
                Maniobra                     = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).Maniobra,
                TarifaPSLID                  = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).TarifaPSLID,
                DuracionDiasPeriodo          = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).DuracionDiasPeriodo,
                MaximoHrsTurno               = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).MaximoHrsTurno,
                TarifaDiaria                 = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).TarifaDiaria,
                TarifaRealAcumulada          = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).TarifaRealAcumulada,
                TarifaCobradaAcumulada       = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).TarifaCobradaAcumulada,
                TarifaCobradaEnPago          = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).TarifaCobradaEnPago,
                TarifaDevueltaNotaC          = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).TarifaDevueltaNotaC,
                TarifaDevueltaNotaCAcumulada = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).TarifaDevueltaNotaCAcumulada,
                Activo                       = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).Activo,
                PorcentajeDescuento          = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).PorcentajeDescuento,
                PorcentajeDescuentoMaximo    = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).PorcentajeDescuentoMaximo,
                EtiquetaDescuento            = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).EtiquetaDescuento,
                TarifaConDescuento           = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).TarifaConDescuento,
                PorcentajeSeguro             = ((TarifaContratoPSLBO)lineaAnterior.Cobrable).PorcentajeSeguro
            };
            lineaBO.Activo = true;

            //Si el tipo de contrato es RO, significa que ya paso al menos por aquí y no será necesario realizar las validaciones de nuevo
            if (bo.Tipo != ETipoContrato.RO)
            {
                switch (vista.UnidadOperativaID)
                {
                case (int)ETipoEmpresa.Construccion:
                    if ((EAreaConstruccion)((UnidadBO)lineaAnterior.Equipo).Area == EAreaConstruccion.RO)
                    {
                        bo.Tipo = ETipoContrato.RO;
                    }
                    break;

                case (int)ETipoEmpresa.Generacion:
                    if ((EAreaGeneracion)((UnidadBO)lineaAnterior.Equipo).Area == EAreaGeneracion.RO)
                    {
                        bo.Tipo = ETipoContrato.RO;
                    }
                    break;

                case (int)ETipoEmpresa.Equinova:
                    if ((EAreaEquinova)((UnidadBO)lineaAnterior.Equipo).Area == EAreaEquinova.RO)
                    {
                        bo.Tipo = ETipoContrato.RO;
                    }
                    break;

                default:
                    break;
                }
            }

            return(lineaBO);
        }
Пример #15
0
        /// <summary>
        /// Registra un intercambio de unidad
        /// </summary>
        private void Registrar()
        {
            #region Se inicia la Transaccion
            dctx.SetCurrentProvider("Outsourcing");
            Guid firma = Guid.NewGuid();
            try {
                this.dctx.OpenConnection(firma);
                this.dctx.BeginTransaction(firma);
            } catch (Exception) {
                if (this.dctx.ConnectionState == ConnectionState.Open)
                {
                    this.dctx.CloseConnection(firma);
                }
                throw new Exception("Se encontraron inconsistencias al insertar el Contrato.");
            }
            #endregion

            try {
                //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 consulta la información del contrato
                ContratoPSLBO bo = (ContratoPSLBO)this.InterfazUsuarioADato();

                UnidadBO unidadNueva = new UnidadBO()
                {
                    UnidadID = this.vista.IntercambioUnidadID
                };
                unidadNueva = controladorUnidades.ConsultarCompleto(this.dctx, unidadNueva, true).FirstOrDefault();

                ContratoPSLBO contratoPrevio = new ContratoPSLBO(bo);
                if (bo.ObtenerLineaContrato() != null && bo.ObtenerLineaContrato().Equipo != null && bo.ObtenerLineaContrato().Equipo is UnidadBO &&
                    ((UnidadBO)bo.ObtenerLineaContrato().Equipo).UnidadID != null)
                {
                    //Se obtiene el ID de la unidad que será intercambiada
                    UnidadBO unidadActual = new UnidadBO()
                    {
                        UnidadID = this.vista.UnidadID
                    };
                    LineaContratoPSLBO linea = bo.ObtenerLineaContrato(unidadActual);

                    UnidadBO unidadBO = (UnidadBO)linea.Equipo;
                    if (unidadBO.UnidadID == this.vista.UnidadID)
                    {
                        linea.Activo = false;

                        //Agregar nueva línea al contrato
                        bo.LineasContrato.Add(this.ObtenerLineaContrato(linea, unidadNueva, bo));
                    }
                }
                ContratoPSLBO contratoModificado = bo;

                //Generamos objeto tipo anexo
                AnexosContratoPSLBO anexo = new AnexosContratoPSLBO();
                anexo.FechaIntercambioUnidad  = this.vista.FechaIntercambio;
                anexo.MontoTotalArrendamiento = contratoModificado.MontoTotalArrendamiento;
                anexo.TipoAnexoContrato       = ETipoAnexoContrato.Intercambio;
                anexo.Vigente       = true;
                anexo.ContratoPSLID = contratoModificado.ContratoID;
                anexo.FC            = this.vista.FC;
                anexo.FUA           = this.vista.FUA;
                anexo.UC            = this.vista.UC;
                anexo.UUA           = this.vista.UUA;
                contratoModificado.AnexosContrato.Add(anexo);

                #region Archivos Adjuntos
                List <ArchivoBO> adjuntos = presentadorDocumentos.Vista.ObtenerArchivos() ?? new List <ArchivoBO>();
                foreach (ArchivoBO adjunto in adjuntos)
                {
                    if (contratoModificado.Tipo == ETipoContrato.RO)
                    {
                        adjunto.TipoAdjunto = ETipoAdjunto.ContratoRO;
                    }
                    if (contratoModificado.Tipo == ETipoContrato.ROC)
                    {
                        adjunto.TipoAdjunto = ETipoAdjunto.ContratoROC;
                    }
                    if (contratoModificado.Tipo == ETipoContrato.RE)
                    {
                        adjunto.TipoAdjunto = ETipoAdjunto.ContratoRE;
                    }
                    if (contratoModificado.Tipo == ETipoContrato.RD)
                    {
                        adjunto.TipoAdjunto = ETipoAdjunto.ContratoRD;
                    }
                    if (contratoModificado.Tipo == ETipoContrato.FSL)
                    {
                        adjunto.TipoAdjunto = ETipoAdjunto.ContratoFSL;
                    }
                    if (contratoModificado.Tipo == ETipoContrato.CM)
                    {
                        adjunto.TipoAdjunto = ETipoAdjunto.ContratoMantenimiento;
                    }
                    if (contratoModificado.Tipo == ETipoContrato.SD)
                    {
                        adjunto.TipoAdjunto = ETipoAdjunto.ContratoServicioDedicado;
                    }

                    adjunto.Auditoria = new AuditoriaBO
                    {
                        FC  = this.vista.FC,
                        UC  = this.vista.UC,
                        FUA = this.vista.FUA,
                        UUA = this.vista.UUA
                    };
                }
                contratoModificado.DocumentosAdjuntos = adjuntos;
                #endregion

                this.controlador.ActualizarCompleto(this.dctx, contratoModificado, contratoPrevio, seguridadBO);
                this.vista.UltimoObjeto = contratoModificado;

                #region Recuperar ID del la línea agregada
                LineaContratoPSLBO lineaNueva = contratoModificado.LineasContrato
                                                .ConvertAll(l => (LineaContratoPSLBO)l)
                                                .FirstOrDefault(lc => lc.Equipo.EquipoID == this.vista.IntercambioEquipoID);

                if (lineaNueva != null)
                {
                    this.lineaContratoID = lineaNueva.LineaContratoID;
                }
                #endregion /Recuperar ID

                dctx.CommitTransaction(firma);
            } catch (Exception ex) {
                dctx.RollbackTransaction(firma);
                throw new Exception(this.nombreClase + ".Registrar:" + ex.Message);
            } finally {
                if (dctx.ConnectionState == ConnectionState.Open)
                {
                    dctx.CloseConnection(firma);
                }
            }
        }
Пример #16
0
        public void ObtenerDatosUnidad()
        {
            if (this.vista.lstUnidades != null)
            {
                if (this.vista.lstUnidades.Count > 0)
                {
                    int?     equipoId = this.vista.EquipoID.Value != null ? this.vista.EquipoID.Value : 0;
                    UnidadBO unidad   = this.vista.lstUnidades.Where(r => r.EquipoID == this.vista.EquipoID).FirstOrDefault();

                    if (unidad == null)
                    {
                        throw new Exception("La unidad seleccionada no es valida. Favor de recargar el contrato.");
                    }

                    //revisamos que tenga checklist de recepción
                    ContratoPSLBO bo            = (ContratoPSLBO)this.vista.ObtenerPaqueteNavegacion("UltimoContratoPSLBO");
                    ContratoPSLBR contratoPSLBR = new ContratoPSLBR();

                    //Obtenemos el Horómetro
                    if (bo != null)
                    {
                        if (bo.LineasContrato != null)
                        {
                            LineaContratoPSLBO lineaContrato = (LineaContratoPSLBO)bo.LineasContrato.Where(r => r.Equipo.EquipoID == equipoId).FirstOrDefault();


                            //Verificamos que exista un checkList de recepción
                            if (lineaContrato.ListadosVerificacion.Count < 2)
                            {
                                bool existeEntrega = lineaContrato.ListadosVerificacion.Where(r => r.Tipo == ETipoListadoVerificacion.ENTREGA).Any();
                                if (existeEntrega)
                                {
                                    //Obtiene los últimos valores de Combustible y Horómetro
                                    List <Int32> linea = contratoPSLBR.ConsultarUltimosCombustibleHorometro(this.dctx, unidad.UnidadID, ETipoListadoVerificacion.ENTREGA);
                                    this.vista.PorcentajeUnidadCliente = linea.Count > 0 ? linea[0].ToString() : Convert.ToString(0);
                                    this.vista.HorometroUnidadCliente  = linea.Count > 0 ? linea[1].ToString() : Convert.ToString(0);
                                }
                            }
                            else
                            {
                                bool existeRecepcion = lineaContrato.ListadosVerificacion.Where(r => r.Tipo == ETipoListadoVerificacion.RECEPCION).Any();
                                if (existeRecepcion)
                                {
                                    if (lineaContrato != null)
                                    {
                                        //LineaContratoPSLBO lineaContratoBO = new LineaContratoPSLBO();
                                        AVerificacionLineaPSLBO listado = lineaContrato.ObtenerListadoVerificacionPorTipo <AVerificacionLineaPSLBO>(ETipoListadoVerificacion.RECEPCION);

                                        //Obtiene los últimos valores de Combustible y Horómetro
                                        List <Int32> linea = contratoPSLBR.ConsultarUltimosCombustibleHorometro(this.dctx, unidad.UnidadID, ETipoListadoVerificacion.RECEPCION);
                                        this.vista.PorcentajeUnidadCliente = linea.Count > 0 ? linea[0].ToString() : Convert.ToString(0);
                                        this.vista.HorometroUnidadCliente  = linea.Count > 0 ? linea[1].ToString() : Convert.ToString(0);
                                    }
                                }
                            }
                        }
                        else
                        {
                            throw new Exception(this.nombreClase + ".ObtenerDatosUnidad: no se pueden obtener líneas del contrato de esta unidad ");
                        }
                    }
                    else
                    {
                        throw new Exception(this.nombreClase + ".ObtenerDatosUnidad: no se pueden obtener datos del contrato ");
                    }

                    this.vista.ECodeCliente = unidad.NumeroEconomico;
                    //consultamos el modelo
                    this.vista.ModeloCliente = ConsultarModeloUnidad(unidad.IDLider).ConfiguracionModeloMotorizacion.Modelo.Nombre;
                    this.vista.EquipoID      = unidad.EquipoID;
                    this.vista.UnidadID      = unidad.UnidadID;
                    this.vista.SucursalID    = unidad.Sucursal.Id;
                }
            }
            else
            {
                throw new Exception(this.nombreClase + ".ObtenerDatosUnidad: no se pueden determinar la unidad del contrato ");
            }
        }
        private void ConsultarTramites()
        {
            try
            {
                UnidadBO unidadTemp = new UnidadBO
                {
                    UnidadID    = this.vista.Tramitable.TramitableID,
                    NumeroSerie = this.vista.Tramitable.DescripcionTramitable
                };
                List <UnidadBO> lstunidad = unidadBR.Consultar(dctx, unidadTemp);
                if (lstunidad.Count != 0)
                {
                    if (lstunidad.Count == 1)
                    {
                        UnidadBO unidad = lstunidad[0];
                        if (unidad.UnidadID != null)
                        {
                            if (unidad.Modelo != null)
                            {
                                this.vista.Modelo = unidad.Modelo.Nombre;
                                if (unidad.Modelo.Marca != null)
                                {
                                    this.vista.Marca = unidad.Modelo.Marca.Nombre;
                                }
                            }
                            this.vista.NumeroSerie = unidad.NumeroSerie;
                            #region Tramites
                            //Consulta de Trámites
                            List <TenenciaBO> lstTenencia = tenenciaBR.ConsultarCompleto(dctx, new TenenciaBO {
                                Activo = true, Tramitable = this.vista.Tramitable
                            });
                            if (lstTenencia.Count == 1)
                            {
                                this.vista.Tenencia = lstTenencia[0];
                            }
                            if (lstTenencia.Count > 1)
                            {
                                throw new Exception("Inconsistencia en el tramites de tenencias, la consulta devolvió mas de una tenencia activa");
                            }

                            List <VerificacionBO> lstVerificacionAmbiental = verificacionBR.ConsultarCompleto(dctx, new VerificacionBO {
                                Activo = true, Tipo = ETipoTramite.VERIFICACION_AMBIENTAL, Tramitable = this.vista.Tramitable
                            });
                            if (lstVerificacionAmbiental.Count == 1)
                            {
                                this.vista.VerificacionAmbiental = lstVerificacionAmbiental[0];
                            }
                            if (lstVerificacionAmbiental.Count > 1)
                            {
                                throw new Exception("Inconsistencia en el tramites de Verificacion Ambiental, la consulta devolvió mas de una Verificación Ambiental activa");
                            }

                            List <VerificacionBO> lstVerificacionMecanico = verificacionBR.ConsultarCompleto(dctx, new VerificacionBO {
                                Activo = true, Tipo = ETipoTramite.VERIFICACION_FISICO_MECANICA, Tramitable = this.vista.Tramitable
                            });
                            if (lstVerificacionMecanico.Count == 1)
                            {
                                this.vista.VerificacionMecanica = lstVerificacionMecanico[0];
                            }
                            if (lstVerificacionMecanico.Count > 1)
                            {
                                throw new Exception("Inconsistencia en el tramites de Verificación Físico - Mecánico, la consulta devolvió mas de una Verificación Fisico- Mecánica activa");
                            }

                            List <PlacaEstatalBO> lstPlacaEstatal = placaBR.Consultar(dctx, new PlacaEstatalBO {
                                Activo = true, Tramitable = this.vista.Tramitable, Tipo = ETipoTramite.PLACA_ESTATAL
                            });
                            if (lstPlacaEstatal.Count == 1)
                            {
                                this.vista.PlacaEstatal = lstPlacaEstatal[0];
                            }
                            if (lstPlacaEstatal.Count > 1)
                            {
                                throw new Exception("Inconsistencia en el tramites de Placa Estatal, la consulta devolvió mas de una Placa Estatal activa");
                            }
                            List <PlacaFederalBO> lstPlacaFederal = placaBR.Consultar(dctx, new PlacaFederalBO {
                                Tramitable = this.vista.Tramitable, Tipo = ETipoTramite.PLACA_FEDERAL
                            });
                            if (lstPlacaFederal != null && lstPlacaFederal.Count > 0)
                            {
                                var lstPlacasFederalesActivas = lstPlacaFederal.Where(p => p.Activo == true).ToList();
                                if (lstPlacasFederalesActivas.Count > 1)
                                {
                                    throw new Exception("Inconsistencia en el tramites de Placa Federal, la consulta devolvió mas de una Placa Federal activa");
                                }
                                if (lstPlacasFederalesActivas.Count == 1)
                                {
                                    this.vista.PlacaFederal = lstPlacasFederalesActivas[0];
                                }
                                else
                                {
                                    this.vista.PlacaFederal = lstPlacaFederal.FirstOrDefault(p => p.FechaRecepcion.Value == lstPlacaFederal.Max(p1 => p1.FechaRecepcion).Value);
                                }
                            }

                            List <GPSBO> lstGPS = gpsBR.Consultar(dctx, new GPSBO {
                                Tramitable = this.vista.Tramitable, Activo = true
                            });
                            if (lstGPS.Count == 1)
                            {
                                this.vista.GPS = lstGPS[0];
                            }
                            if (lstGPS.Count > 1)
                            {
                                throw new Exception("Inconsistencia en el tramites de GPS, la consulta devolvió mas de un GPS activo");
                            }
                            List <FiltroAKBO> lstFiltro = filtroBR.Consultar(dctx, new FiltroAKBO {
                                Tramitable = this.vista.Tramitable, Activo = true
                            });
                            if (lstFiltro.Count == 1)
                            {
                                this.vista.FiltroAK = lstFiltro[0];
                            }
                            if (lstFiltro.Count > 1)
                            {
                                throw new Exception("Inconsistencia en el tramites de Filtro AK, la consulta devolvió mas de un Filtro AK  activo");
                            }

                            List <SeguroBO> lstSeguros = seguroBR.ConsultarCompleto(dctx, new SeguroBO {
                                Tramitable = this.vista.Tramitable, Tipo = ETipoTramite.SEGURO, Activo = true
                            });
                            if (lstSeguros != null)
                            {
                                if (lstSeguros.Count == 1)
                                {
                                    this.vista.Poliza       = lstSeguros[0].NumeroPoliza;
                                    this.vista.Aseguradora  = lstSeguros[0].Aseguradora;
                                    this.vista.FechaInicial = lstSeguros[0].VigenciaInicial;
                                    this.vista.FechaFinal   = lstSeguros[0].VigenciaFinal;
                                    this.vista.Seguro       = lstSeguros[0];
                                }
                                if (lstSeguros.Count > 1)
                                {
                                    throw new Exception("Inconsistencia en el tramites de Seguro, la consulta devolvió mas de un Seguro  activo");
                                }
                            }
                            #endregion
                            this.DatoAInterfazUsuario();
                        }
                        else
                        {
                            this.MostrarMensaje("Error al intentar obtener los datos de la unidad", ETipoMensajeIU.ERROR, nombreClase + ".ConsultarTramites(): La unidad es nulo");
                        }
                    }
                    else
                    {
                        this.MostrarMensaje("Error al intentar obtener los datos de la unidad ", ETipoMensajeIU.ERROR, nombreClase + ".ConsultarTramites(): La consulta devolvió más de una unidad");
                    }
                }
                else
                {
                    this.MostrarMensaje("Error al intentar obtener los datos de la unidad ", ETipoMensajeIU.ERROR, nombreClase + "ConsultarTramites(): La consulta no devolvió ningún resultado");
                }
            }

            catch (Exception ex)
            {
                this.MostrarMensaje("Error al intentar consultar los trámites", ETipoMensajeIU.ERROR, nombreClase + ".ConsultarTramites: " + ex.Message);
            }
        }
Пример #18
0
        public int Agregar_Tipo_Unidad(UnidadBO ObjP)
        {
            string sql = "Insert into [Tipo de Unidad] (Nombre) values ('" + ObjP.Nombre + "')";

            return(conex.EjecutarComando(sql));
        }
Пример #19
0
 /// <summary>
 /// Indica si la unidad pertenece al Contrato en Captura
 /// </summary>
 /// <param name="unidad"></param>
 /// <returns></returns>
 public bool ExisteUnidadContrato(UnidadBO unidad)
 {
     return(vista.LineasContrato.Find(li => ((UnidadBO)li.Equipo).UnidadID == unidad.UnidadID) != null);
 }
Пример #20
0
        public int Actualizar_Tipo_Unidad(UnidadBO ObjP)
        {
            string sql = "Update [Tipo de Unidad] Set Nombre='" + ObjP.Nombre + "' where ID='" + ObjP.Id + "'";

            return(conex.EjecutarComando(sql));
        }
Пример #21
0
        public int Eliminar_Tipo_Unidad(UnidadBO ObjP)
        {
            string sql = "Delete from [Tipo de Unidad] where ID = '" + ObjP.Id + "'";

            return(conex.EjecutarComando(sql));
        }