/// <summary>
        /// Despliega la linea en la interfaz de usuario
        /// </summary>
        /// <param name="lineaContrato"></param>
        /// <param name="plazoAnio"></param>
        /// <param name="IncluyeSeguro"></param>
        public void DatosAInterfazUsuario(LineaContratoFSLBO lineaContrato, int?plazoAnio, ETipoInclusion?IncluyeSeguro)
        {
            DatosAInterfazUsuario((UnidadBO)lineaContrato.Equipo);
            vista.PlazoAnio        = plazoAnio;
            vista.CargoFijoMes     = lineaContrato.CargoFijoMensual;
            vista.ComisionApertura = lineaContrato.ComisionApertura;
            vista.DepositoGarantia = lineaContrato.DepositoGarantia;
            vista.OpcionCompra     = lineaContrato.ConOpcionCompra == true;
            vista.KmEstimadoAnual  = lineaContrato.KmEstimadoAnual;
            vista.EstablecerMonedaCompra(lineaContrato.DivisaCompra.MonedaDestino);
            vista.ImporteCompra               = lineaContrato.ImporteCompra;
            vista.ProductoServicioId          = lineaContrato.ProductoServicio.Id;
            vista.ClaveProductoServicio       = lineaContrato.ProductoServicio.NombreCorto;
            vista.DescripcionProductoServicio = lineaContrato.ProductoServicio.Nombre;

            if (lineaContrato.Equipo != null && lineaContrato.Equipo.Sucursal != null &&
                lineaContrato.Equipo.Sucursal.UnidadOperativa != null)
            {
                vista.UnidadOperativaID = lineaContrato.Equipo.Sucursal.UnidadOperativa.Id;
            }
            if (lineaContrato.Cobrable != null)
            {
                var cargosAdicionales = ((CargosAdicionalesFSLBO)lineaContrato.Cobrable);
                vista.EstablecerTipoCotizacion(((CargosAdicionalesFSLBO)lineaContrato.Cobrable).TipoCotizacion);
                vista.EstablecerKmsHrs(cargosAdicionales.Tarifas != null && cargosAdicionales.Tarifas.Any() ? cargosAdicionales.Tarifas.First().CobraKm.Value ? 0 : 1 : (-1));
                vista.EstablecerTarifas(cargosAdicionales.Tarifas, cargosAdicionales.Tarifas != null && cargosAdicionales.Tarifas.Count > 0 ? cargosAdicionales.Tarifas.First().CobraKm : null);
                vista.EstablecerCargosAdicionalesEquiposAliados(((CargosAdicionalesFSLBO)lineaContrato.Cobrable).CargoAdicionalEquiposAliados ?? new List <CargoAdicionalEquipoAliadoBO>());
            }

            if (IncluyeSeguro == ETipoInclusion.Incluido)
            {
                vista.NumeroPoliza = CalcularNumeroPoliza();
            }
        }
Пример #2
0
 /// <summary>
 /// Prepara la Linea de contrato para visualizacion
 /// </summary>
 /// <param name="linea">Linea de Contrato que contiene los datos a mostrar</param>
 public void PrepararLinea(LineaContratoFSLBO linea)
 {
     try
     {
         if (linea != null)
         {
             if (datosRentaPRE.Vista.PlazoMeses != null && datosRentaPRE.Vista.PlazoMeses > 0)
             {
                 lineaContratoPRE.Vista.Inicializar();
                 lineaContratoPRE.EstablecerUltimoObjeto(linea);
                 lineaContratoPRE.DatosAInterfazUsuario(linea, datosRentaPRE.Vista.PlazoAnios,
                                                        datosRentaPRE.Vista.IncluyeSeguroSeleccionado);
                 vista.CambiarALinea();
             }
             else
             {
                 vista.MostrarMensaje("No ha proporcionado un plazo en meses valido o mayor a 0",
                                      ETipoMensajeIU.ADVERTENCIA);
             }
         }
         else
         {
             vista.MostrarMensaje("No ha proporcionado un plazo en meses valido o mayor a 0",
                                  ETipoMensajeIU.ADVERTENCIA);
         }
     }
     catch (Exception ex)
     {
         throw new Exception(nombreClase + ".PrepararLinea:" + ex.Message);
     }
 }
Пример #3
0
        protected void grdLineasContrato_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            try
            {
                string eCommandNameUpper = e.CommandName.ToUpper();
                if (eCommandNameUpper == "PAGE" || eCommandNameUpper == "SORT")
                {
                    return;
                }
                if (e.CommandArgument == null)
                {
                    return;                          //RIG0001
                }
                int index = 0;

                if (!Int32.TryParse(e.CommandArgument.ToString(), out index))//TODO:Documentar ri, esto es para evitar pase a tratar de convertir implicitamente y en directo el argumento a entero
                {
                    return;
                }

                LineaContratoFSLBO linea = LineasContrato[index];

                switch (eCommandNameUpper)
                {
                case "CMDELIMINAR":
                {
                    Presentador.RemoverLineaContrato(linea);
                    if (RemoverLineaContrato != null)
                    {
                        RemoverLineaContrato.Invoke(sender, EventArgs.Empty);
                    }
                }
                break;

                case "CMDDETALLES":
                {
                    if (VerDetalleLineaContrato != null)
                    {
                        var c = new CommandEventArgs("LineaContrato", linea);

                        VerDetalleLineaContrato.Invoke(sender, c);
                    }
                }
                break;
                }
            }
            catch (Exception ex)
            {
                MostrarMensaje("Inconsistencias al eliminar la unidad del contrato.", ETipoMensajeIU.ERROR, NombreClase + ".grdLineasContrato_RowCommand: " + ex.Message);
            }
        }
        /// <summary>
        /// Obtiene la Linea de Contrato a partir de los datos de la Vista
        /// </summary>
        /// <returns></returns>
        public LineaContratoFSLBO InterfazUsuarioADatos()
        {
            var nuevaLinea = new LineaContratoFSLBO
            {
                Equipo = new UnidadBO
                {
                    UnidadID        = vista.UnidadID,
                    EquipoID        = vista.EquipoID,
                    NumeroSerie     = !String.IsNullOrEmpty(vista.VIN)? vista.VIN : null,
                    NumeroEconomico = !String.IsNullOrEmpty(vista.NumeroEconocimico) ? vista.NumeroEconocimico: null,
                    Modelo          = new ModeloBO {
                        Nombre = vista.Modelo
                    },
                    Sucursal = new SucursalBO
                    {
                        UnidadOperativa = new UnidadOperativaBO
                        {
                            Id = vista.UnidadOperativaID,
                        }
                    }
                },
                CargoFijoMensual = vista.CargoFijoMes,
                ComisionApertura = vista.ComisionApertura,
                ConOpcionCompra  = vista.OpcionCompra,
                DepositoGarantia = vista.DepositoGarantia,
                DivisaCompra     = new DivisaBO {
                    MonedaDestino = vista.MonedaSeleccionada
                },
                ImporteCompra    = vista.ImporteCompra,
                KmEstimadoAnual  = vista.KmEstimadoAnual,
                ProductoServicio = new ProductoServicioBO()
                {
                    Id          = vista.ProductoServicioId,
                    NombreCorto = vista.ClaveProductoServicio,
                    Nombre      = vista.DescripcionProductoServicio
                },
                Cobrable = new CargosAdicionalesFSLBO
                {
                    TipoCotizacion = vista.TipoCotizacionSeleccionada,
                    CargoAdicionalEquiposAliados = vista.CargosAdicionalesEquiposAliados,
                    Tarifas = vista.TarifasAdicionales
                },
                Activo = true
            };

            return(nuevaLinea);
        }
Пример #5
0
        /// <summary>
        /// Agrega una linea de Contrato
        /// </summary>
        /// <param name="linea">Linea de Contrato a Agregar</param>
        public void AgregarLineaContrato(LineaContratoFSLBO linea)
        {
            try
            {
                if (linea != null)
                {
                    var unidad = linea.Equipo as UnidadBO;
                    if (unidad != null && unidad.UnidadID != null)
                    {
                        // Verificar Unidad en Lineas de Contrato
                        LineaContratoFSLBO lineaRepetida =
                            vista.LineasContrato.Find(li => ((UnidadBO)li.Equipo).UnidadID == unidad.UnidadID);
                        if (lineaRepetida != null)
                        {
                            linea.LineaContratoID = lineaRepetida.LineaContratoID;
                            vista.LineasContrato.Remove(lineaRepetida);
                        }

                        var lineasContrato = new List <LineaContratoFSLBO>(vista.LineasContrato)
                        {
                            linea
                        };

                        vista.LineasContrato = lineasContrato;
                    }
                    else
                    {
                        throw new Exception("Se requiere una Unidad valida para agregarla al detalle del contrato.");
                    }
                }
                else
                {
                    throw new Exception("No se ha proporcionado una linea de contrato");
                }
            }
            catch (Exception ex)
            {
                vista.MostrarMensaje("Inconsistencias al Agregar una Unidad al contrato.", ETipoMensajeIU.ERROR, NombreClase + ".AgregarLineaContrato: " + ex.Message);
            }
        }
 /// <summary>
 /// Prepara la Linea de contrato para visualizacion
 /// </summary>
 /// <param name="linea">Linea de Contrato que contiene los datos a mostrar</param>
 public void PrepararLinea(LineaContratoFSLBO linea)
 {
     if (linea != null)
     {
         if (vista.UltimoObjeto.Plazo != null && vista.UltimoObjeto.Plazo > 0)
         {
             lineaContratoPRE.EstablecerUltimoObjeto(linea);
             lineaContratoPRE.DatosAInterfazUsuario(linea, vista.UltimoObjeto.CalcularPlazoEnAños(), vista.UltimoObjeto.IncluyeSeguro);
             vista.CambiarALinea();
         }
         else
         {
             vista.MostrarMensaje("No ha proporcionado un plazo en meses valido o mayor a 0",
                                  ETipoMensajeIU.ADVERTENCIA);
         }
     }
     else
     {
         vista.MostrarMensaje("No ha proporcionado un plazo en meses valido o mayor a 0",
                              ETipoMensajeIU.ADVERTENCIA);
     }
 }
 /// <summary>
 /// Establece el Objecto de Linea de Contrato antes de editar
 /// </summary>
 /// <param name="lineaContrato"></param>
 public void EstablecerUltimoObjeto(LineaContratoFSLBO lineaContrato)
 {
     vista.UltimoObjeto = lineaContrato;
 }