/// <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(); } }
/// <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); } }
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); }
/// <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; }