/// <summary> /// Despliega los datos a la Vista /// </summary> /// <param name="obj"></param> private void DatoAInterfazUsuario(object obj) { ContratoManttoBO bo = (ContratoManttoBO)obj; this.vista.ContratoID = bo.ContratoID; this.vista.NumeroContrato = bo.NumeroContrato; }
public void IrADetalle(int?contratoID) { try { if (contratoID == null) { throw new Exception("No se encontró el registro seleccionado."); } ContratoManttoBO bo = new ContratoManttoBO { ContratoID = contratoID }; this.vista.LimpiarSesion(); Dictionary <string, object> paquete = new Dictionary <string, object>(); paquete.Add("ObjetoFiltro", this.InterfazUsuarioADato()); paquete.Add("Bandera", true); this.vista.EstablecerPaqueteNavegacion("FiltrosContratoMantto", paquete); this.vista.EstablecerPaqueteNavegacion("ContratoManttoBO", bo); this.vista.RedirigirADetalle(); } catch (Exception ex) { throw new Exception(this.nombreClase + ".IrADetalle: " + ex.Message); } }
private object InterfazUsuarioADato() { ContratoManttoBO bo = new ContratoManttoBO(); if (this.vista.UltimoObjeto != null) { bo = new ContratoManttoBO((ContratoManttoBO)this.vista.UltimoObjeto); } bo.CierreContrato = new CierreContratoManttoBO(); bo.CierreContrato.Usuario = new UsuarioBO(); bo.ContratoID = this.vista.ContratoID; bo.UUA = this.vista.UUA; bo.FUA = this.vista.FUA; bo.Tipo = (ETipoContrato)this.vista.TipoContratoID.Value; if (this.vista.EstatusID != null) { bo.Estatus = (EEstatusContrato)Enum.Parse(typeof(EEstatusContrato), this.vista.EstatusID.ToString()); } else { bo.Estatus = null; } bo.CierreContrato.Fecha = this.vista.FechaCancelacion; bo.CierreContrato.Observaciones = this.vista.ObservacionesCancelacion; bo.CierreContrato.Usuario.Id = this.vista.UsuarioID; ((CierreContratoManttoBO)bo.CierreContrato).Motivo = this.vista.MotivoCancelacion; return(bo); }
private void EstablecerDatosNavegacion(object paqueteNavegacion) { try { if (paqueteNavegacion == null) { throw new Exception("Se esperaba un objeto en la navegación. No se puede identificar qué Contrato se desea consultar."); } if (!(paqueteNavegacion is ContratoManttoBO)) { throw new Exception("Se esperaba un Contrato."); } ContratoManttoBO bo = new ContratoManttoBO { ContratoID = ((ContratoManttoBO)paqueteNavegacion).ContratoID }; this.DatoAInterfazUsuario(bo); } catch (Exception ex) { this.DatoAInterfazUsuario(new ContratoManttoBO()); throw new Exception(this.nombreClase + ".EstablecerDatosNavegacion: " + ex.Message); } }
private void ConsultarCompleto() { try { //Se consulta la información del contrato ContratoManttoBO bo = (ContratoManttoBO)this.InterfazUsuarioADato(); List <ContratoManttoBO> lst = this.controlador.ConsultarCompleto(this.dctx, bo, 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."); } if (lst[0] != null && lst[0].DocumentosAdjuntos != null && lst[0].DocumentosAdjuntos.Count > 0) { lst[0].DocumentosAdjuntos = lst[0].DocumentosAdjuntos.Where(archivo => archivo.Activo == true).ToList(); } this.DatoAInterfazUsuario(lst[0]); this.presentadorHerramientas.DatosAInterfazUsuario(lst[0]); this.vista.UltimoObjeto = lst[0]; } catch (Exception ex) { this.DatoAInterfazUsuario(new ContratoManttoBO()); throw new Exception(this.nombreClase + ".ConsultarCompleto:" + ex.Message); } }
/// <summary> /// Despliega los datos del contrato en la interfaz de usuario /// </summary> /// <param name="contrato">Contrato RD que contiene los datos a desplegar</param> public void DatosAInterfazUsuario(ContratoManttoBO contrato) { contrato = contrato ?? new ContratoManttoBO(); vista.NumeroContrato = contrato.NumeroContrato != null && !string.IsNullOrEmpty(contrato.NumeroContrato) ? contrato.NumeroContrato : null; vista.EstatusContrato = contrato.Estatus; vista.Configurar(contrato.Estatus); }
public void Regresar() { ContratoManttoBO bo = (ContratoManttoBO)this.vista.UltimoObjeto; this.LimpiarSesion(); this.vista.LimpiarPaqueteNavegacion("ContratoManttoBO"); this.vista.EstablecerPaqueteNavegacion("ContratoManttoBO", bo); this.vista.RedirigirADetalles(); }
/// <summary> /// Elimina el contrato desplegado con estatus de borrador /// </summary> public void EliminarContrato() { try { #region InterfazUsuarioADato Personalizado ContratoManttoBO bo = (ContratoManttoBO)this.vista.UltimoObjeto; if (bo.Estatus != EEstatusContrato.Borrador) { vista.MostrarMensaje("El contrato debe tener estatus Borrador para ser eliminado.", ETipoMensajeIU.INFORMACION); return; } //finalización del contrato FinalizacionContratoProxyBO finalizacionContrato = new FinalizacionContratoProxyBO(); finalizacionContrato.Fecha = vista.FUA; finalizacionContrato.Usuario = new UsuarioBO { Id = vista.UUA }; finalizacionContrato.Observaciones = vista.Observaciones; ContratoManttoBO previous = new ContratoManttoBO(bo); bo.CierreContrato = finalizacionContrato; bo.FUA = vista.FUA; bo.UUA = vista.UUA; #endregion //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); this.controlador.BorrarCompleto(dctx, bo, previous, seguridadBO); this.LimpiarSesion(); this.vista.LimpiarPaqueteNavegacion("ContratoManttoBO"); this.vista.RedirigirAConsulta(); } catch (Exception ex) { throw new Exception(this.nombreClase + ".EliminarContrato: " + ex.Message); } }
public void CancelarContrato() { string s; if ((s = this.ValidarCampos()) != null) { this.vista.MostrarMensaje(s, ETipoMensajeIU.ADVERTENCIA, null); return; } try { //Se obtiene la información a partir de la Interfaz de Usuario ContratoManttoBO bo = (ContratoManttoBO)this.InterfazUsuarioADato(); //Se crea el objeto de seguridad UsuarioBO usuario = new UsuarioBO() { Id = this.vista.UsuarioID }; AdscripcionBO adscripcion = new AdscripcionBO() { UnidadOperativa = new UnidadOperativaBO() { Id = this.vista.UnidadOperativaID } }; SeguridadBO seguridadBO = new SeguridadBO(Guid.Empty, usuario, adscripcion); //Se actualiza en la base de datos this.controlador.Cancelar(this.dctx, bo, (ContratoManttoBO)this.vista.UltimoObjeto, seguridadBO); //Se despliega la información en la Interfaz de Usuario this.DatoAInterfazUsuario(bo); this.vista.UltimoObjeto = bo; this.LimpiarSesion(); this.vista.LimpiarPaqueteNavegacion("ContratoManttoBO"); this.vista.EstablecerPaqueteNavegacion("ContratoManttoBO", new ContratoManttoBO() { ContratoID = this.vista.ContratoID }); this.vista.RedirigirADetalles(); } catch (Exception ex) { throw new Exception(nombreClase + ".CancelarContrato:" + ex.Message); } }
public void CerrarContrato() { try { ContratoManttoBO bo = (ContratoManttoBO)this.InterfazUsuarioADato(); this.LimpiarSesion(); this.vista.EstablecerPaqueteNavegacion("ContratoManttoBO", bo); this.vista.RedirigirACierre(); } catch (Exception ex) { throw new Exception(nombreClase + ".EditarContrato: " + ex.Message); } }
/// <summary> /// Envia el contrato a Agregar Documentos /// </summary> public void AgregarDocumentos() { try { ContratoManttoBO bo = (ContratoManttoBO)this.InterfazUsuarioADato(); this.LimpiarSesion(); this.vista.EstablecerPaqueteNavegacion("ContratoManttoBO", bo); this.vista.RedirigirAAgregarDocumentos(); } catch (Exception ex) { throw new Exception(nombreClase + ".AgregarDocumentos: " + ex.Message); } }
private object InterfazUsuarioADato() { ContratoManttoBO bo = new ContratoManttoBO(); bo.Cliente = new CuentaClienteIdealeaseBO(); bo.Cliente = new CuentaClienteIdealeaseBO(); bo.Cliente.UnidadOperativa = new UnidadOperativaBO(); bo.Divisa = new DivisaBO(); bo.Divisa.MonedaDestino = new MonedaBO(); bo.Sucursal = new SucursalBO(); bo.Sucursal.UnidadOperativa = new UnidadOperativaBO(); bo.LineasContrato = new List <ILineaContrato>(); bo.ContratoID = this.vista.ContratoID; if (this.vista.TipoContratoID != null) { bo.Tipo = (ETipoContrato)Enum.Parse(typeof(ETipoContrato), this.vista.TipoContratoID.ToString()); } return(bo); }
/// <summary> /// Metodo que genera el pago adicional /// </summary> public void GenerarPagoAdicional() { try { string validacion = this.ValidarPagoAdicional(); if (!String.IsNullOrEmpty(validacion)) { this.vista.MostrarMensaje("No se puede generar el pago Adicional: " + validacion, ETipoMensajeIU.INFORMACION); return; } ContratoBO contratoBo = null; IGeneradorPagosBR generadorPagos = null; SeguridadBO seguridadBo = this.CrearObjetoSeguridad(); List <ContratoBO> contratos = new List <ContratoBO>(); switch (vista.TipoContrato) { case ETipoContrato.RD: contratoBo = new ContratoRDBO { ContratoID = this.vista.ContratoID }; var contratosRd = new ContratoRDBR().ConsultarCompleto(this.dctx, (ContratoRDBO)contratoBo, false); contratos.AddRange(contratosRd); generadorPagos = new GeneradorPagoRDBR(); break; case ETipoContrato.FSL: contratoBo = new ContratoFSLBO { ContratoID = this.vista.ContratoID }; var contratosFsl = new ContratoFSLBR().ConsultarCompleto(this.dctx, (ContratoFSLBO)contratoBo); contratos.AddRange(contratosFsl); generadorPagos = new GeneradorPagosFSLBR(); break; case ETipoContrato.CM: case ETipoContrato.SD: contratoBo = new ContratoManttoBO { ContratoID = this.vista.ContratoID }; var contratosMantto = new ContratoManttoBR().ConsultarCompleto(this.dctx, (ContratoManttoBO)contratoBo, true, false); contratos.AddRange(contratosMantto); generadorPagos = new GeneradorPagosManttoBR(); break; } if (generadorPagos == null) { throw new Exception("No se pudo determinar el Tipo del Pago a Generar."); } generadorPagos.GenerarPagoAdicional(this.dctx, contratos.First(), (ultimoPagoContrato.NumeroPago.Value + 1), seguridadBo, false, true); PagoUnidadContratoBO pagoBo = new PagoUnidadContratoBOF { ReferenciaContrato = new ReferenciaContratoBO() { ReferenciaContratoID = this.vista.ContratoID } }; PagoUnidadContratoBR pagoBr = new PagoUnidadContratoBR(); var pagos = pagoBr.Consultar(this.dctx, (PagoUnidadContratoBO)pagoBo); this.Inicializar(); this.vista.MostrarMensaje("El pago " + pagos.Last().NumeroPago.ToString() + " con Fecha " + pagos.Last().FechaVencimiento.Value.ToShortDateString() + " se ha Creado con Éxito.", ETipoMensajeIU.EXITO); } catch (Exception ex) { this.vista.MostrarMensaje("Error al generar el pago Adicional", ETipoMensajeIU.ERROR, NombreClase + ".GenerarPagoAdicional: " + ex.GetBaseException().Message); } }
private void DatoAInterfazUsuario(object obj) { ContratoManttoBO bo = (ContratoManttoBO)obj; if (bo == null) { bo = new ContratoManttoBO(); } if (bo.Cliente == null) { bo.Cliente = new CuentaClienteIdealeaseBO(); } if (bo.Divisa == null) { bo.Divisa = new DivisaBO(); } if (bo.Divisa.MonedaDestino == null) { bo.Divisa.MonedaDestino = new MonedaBO(); } if (bo.Sucursal == null) { bo.Sucursal = new SucursalBO(); } if (bo.Sucursal.UnidadOperativa == null) { bo.Sucursal.UnidadOperativa = new UnidadOperativaBO(); } this.vista.ContratoID = bo.ContratoID; this.vista.NumeroContrato = bo.NumeroContrato; this.vista.CodigoMoneda = bo.Divisa.MonedaDestino.Codigo; this.vista.FechaContrato = bo.FechaContrato; this.vista.RepresentanteEmpresa = bo.Representante; if (bo.Tipo != null) { this.vista.TipoContratoID = (int)bo.Tipo; } else { this.vista.TipoContratoID = null; } this.vista.SucursalID = bo.Sucursal.Id; this.vista.SucursalNombre = bo.Sucursal.Nombre; //Cuenta de Cliente Idealease this.vista.CuentaClienteID = bo.Cliente.Id; this.vista.CuentaClienteNombre = bo.Cliente.Nombre; if (bo.Cliente.TipoCuenta != null) { this.vista.CuentaClienteTipoID = (int)bo.Cliente.TipoCuenta; } else { this.vista.CuentaClienteTipoID = null; } this.presentadorContrato.SeleccionarCuentaCliente(bo.Cliente); //Dirección del cliente if (bo.Cliente.Direcciones != null && bo.Cliente.Direcciones.Count > 0) { this.vista.DireccionClienteID = bo.Cliente.Direcciones[0].Id; this.vista.ClienteDireccionCompleta = bo.Cliente.Direcciones[0].Direccion; this.vista.ClienteDireccionCalle = bo.Cliente.Direcciones[0].Calle; this.vista.ClienteDireccionColonia = bo.Cliente.Direcciones[0].Colonia; this.vista.ClienteDireccionCodigoPostal = bo.Cliente.Direcciones[0].CodigoPostal; this.vista.ClienteDireccionCiudad = bo.Cliente.Direcciones[0].Ubicacion.Ciudad.Codigo; this.vista.ClienteDireccionEstado = bo.Cliente.Direcciones[0].Ubicacion.Estado.Codigo; this.vista.ClienteDireccionMunicipio = bo.Cliente.Direcciones[0].Ubicacion.Municipio.Codigo; this.vista.ClienteDireccionPais = bo.Cliente.Direcciones[0].Ubicacion.Pais.Codigo; } else { this.vista.DireccionClienteID = null; this.vista.ClienteDireccionCompleta = null; this.vista.ClienteDireccionCalle = null; this.vista.ClienteDireccionColonia = null; this.vista.ClienteDireccionCodigoPostal = null; this.vista.ClienteDireccionCiudad = null; this.vista.ClienteDireccionEstado = null; this.vista.ClienteDireccionMunicipio = null; this.vista.ClienteDireccionPais = null; } if (bo.RepresentantesLegales != null) { this.vista.RepresentantesLegales = bo.RepresentantesLegales.ConvertAll(s => (RepresentanteLegalBO)s); } else { this.vista.RepresentantesLegales = null; } if (bo.ObligadosSolidarios != null) { this.vista.ObligadosSolidarios = bo.ObligadosSolidarios.ConvertAll(s => (ObligadoSolidarioBO)s); } else { this.vista.ObligadosSolidarios = null; } this.vista.Avales = bo.Avales; this.vista.SoloRepresentantes = bo.SoloRepresentantes; this.vista.ObligadosComoAvales = bo.ObligadosComoAvales; this.presentadorContrato.ConfigurarOpcionesPersonas(); this.vista.Plazo = bo.Plazo; this.vista.FechaInicioContrato = bo.FechaInicioContrato; this.vista.FechaTerminacionContrato = bo.CalcularFechaTerminacionContrato(); if (bo.LineasContrato != null) { this.vista.LineasContrato = bo.LineasContrato.ConvertAll(s => (LineaContratoManttoBO)s); } else { this.vista.LineasContrato = null; } this.vista.UbicacionTaller = bo.UbicacionTaller; this.vista.DireccionAlmacenaje = bo.DireccionAlmacenaje; this.vista.DepositoGarantia = bo.DepositoGarantia; this.vista.ComisionApertura = bo.ComisionApertura; if (bo.IncluyeLavado != null) { this.vista.IncluyeLavadoID = (int)bo.IncluyeLavado; } else { this.vista.IncluyeLavadoID = null; } if (bo.IncluyeLlantas != null) { this.vista.IncluyeLlantasID = (int)bo.IncluyeLlantas; } else { this.vista.IncluyeLlantasID = null; } if (bo.IncluyePinturaRotulacion != null) { this.vista.IncluyePinturaRotulacionID = (int)bo.IncluyePinturaRotulacion; } else { this.vista.IncluyePinturaRotulacionID = null; } if (bo.IncluyeSeguro != null) { this.vista.IncluyeSeguroID = (int)bo.IncluyeSeguro; } else { this.vista.IncluyeSeguroID = null; } this.vista.Observaciones = bo.Observaciones; this.vista.DatosAdicionales = bo.DatosAdicionalesAnexo; this.vista.UC = bo.UC; this.vista.UUA = bo.UUA; this.vista.FC = bo.FC; this.vista.FUA = bo.FUA; if (bo.Estatus != null) { this.vista.EstatusID = (int)bo.Estatus; } else { this.vista.EstatusID = null; } this.presentadorDocumentos.CargarListaArchivos(bo.DocumentosAdjuntos, this.presentadorDocumentos.Vista.TiposArchivo); }
/// <summary> /// Obtiene el Contrato que sera Editado /// </summary> private void ConsultarCompleto() { ContratoBO contrato = new ContratoProxyBO() { ContratoID = this.vista.ContratoId }; ContratoBO contratoCompleto = null; switch (this.vista.TipoContrato) { case ETipoContrato.RD: ContratoRDBR controladorRD = new ContratoRDBR(); var contratoRd = new ContratoRDBO((ContratoBO)contrato); var contratosRd = controladorRD.ConsultarCompleto(this.dataContext, contratoRd); contratoCompleto = contratosRd.FirstOrDefault(); this.controlador = new ContratoRDBR(); this.vista.ObjetoAnterior = contratoCompleto != null?controladorRD.ConsultarCompleto(this.dataContext, contratoRd).FirstOrDefault() : null; break; case ETipoContrato.FSL: ContratoFSLBR controladorFsl = new ContratoFSLBR(); var contratoFsl = new ContratoFSLBO() { ContratoID = this.vista.ContratoId }; var contratosFsl = controladorFsl.ConsultarCompleto(this.dataContext, contratoFsl); contratoCompleto = contratosFsl.FirstOrDefault(); this.controlador = new ContratoFSLBR(); this.vista.ObjetoAnterior = contratoCompleto != null?controladorFsl.ConsultarCompleto(this.dataContext, contratoFsl).FirstOrDefault() : null; break; case ETipoContrato.CM: case ETipoContrato.SD: ContratoManttoBR controladorMantto = new ContratoManttoBR(); var contratoMantto = new ContratoManttoBO((ContratoBO)contrato); var contratosMantto = controladorMantto.ConsultarCompleto(this.dataContext, contratoMantto, false); contratoCompleto = contratosMantto.FirstOrDefault(); this.controlador = new ContratoManttoBR(); this.vista.ObjetoAnterior = contratoCompleto != null?controladorMantto.ConsultarCompleto(this.dataContext, contratoMantto, false).FirstOrDefault() : null; break; default: contratoCompleto = null; break; } if (contratoCompleto != null) { this.vista.ContratoId = contratoCompleto.ContratoID; this.vista.NumeroContrato = contratoCompleto.NumeroContrato; this.vista.SucursalIdAntigua = contratoCompleto.Sucursal.Id; this.vista.SucursalNombreAntigua = contratoCompleto.Sucursal.Nombre; this.vista.TipoContrato = contratoCompleto.Tipo; this.vista.ContratoConsultado = contratoCompleto; } else { throw new Exception(nombreClase + ".ConsultarCompleto: No se encontro el Contrato solicitado"); } }
/// <summary> /// Registra un Contrato RD /// </summary> private void Registrar() { #region Se inicia la Transaccion dctx.SetCurrentProvider("Outsourcing"); Guid firma = Guid.NewGuid(); try { dctx.OpenConnection(firma); dctx.BeginTransaction(firma); } catch (Exception) { if (dctx.ConnectionState == ConnectionState.Open) { dctx.CloseConnection(firma); } throw new Exception("Se encontraron inconsistencias al insertar el Contrato."); } #endregion try { //Se obtiene la información a partir de la Interfaz de Usuario ContratoManttoBO bo = (ContratoManttoBO)this.InterfazUsuarioADato(); //Se crea el objeto de seguridad UsuarioBO usuario = new UsuarioBO() { Id = this.vista.UsuarioID }; AdscripcionBO adscripcion = new AdscripcionBO() { UnidadOperativa = new UnidadOperativaBO() { Id = this.vista.UnidadOperativaID } }; SeguridadBO seguridadBO = new SeguridadBO(Guid.Empty, usuario, adscripcion); //Se inserta en la base de datos this.controlador.InsertarCompleto(this.dctx, bo, seguridadBO); //Se consulta lo insertado para recuperar los ID DataSet ds = this.controlador.ConsultarSet(this.dctx, bo); if (ds.Tables[0].Rows.Count <= 0) { throw new Exception("Al consultar lo insertado no se encontraron coincidencias."); } if (ds.Tables[0].Rows.Count > 1) { throw new Exception("Al consultar lo insertado se encontró más de una coincidencia."); } bo.ContratoID = this.controlador.DataRowToContratoManttoBO(ds.Tables[0].Rows[0]).ContratoID; #region SC0001 BEP1401 - Registra los pagos del Contrato if (bo.Estatus == EEstatusContrato.EnCurso) { GeneradorPagosManttoBR generadorPagos = new GeneradorPagosManttoBR(); generadorPagos.GenerarPagos(dctx, bo, seguridadBO, true); } #endregion //Se despliega la información en la Interfaz de Usuario this.DatoAInterfazUsuario(bo); 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); } } }
/// <summary> /// Obtiene la información porporcionada por el ususario en la base de datos y la transforma en un contrato /// </summary> /// <returns>Contrato genenerado por los datos</returns> private object InterfazUsuarioADato() { #region Creacion BO's var bo = new ContratoManttoBO(); bo.Avales = new List <AvalBO>(); bo.CierreContrato = new CierreContratoManttoBO(); bo.Cliente = new CuentaClienteIdealeaseBO { Cliente = new ClienteBO(), UnidadOperativa = new UnidadOperativaBO() }; bo.Divisa = new DivisaBO { MonedaDestino = new MonedaBO() }; bo.Sucursal = new SucursalBO { UnidadOperativa = new UnidadOperativaBO() }; bo.LineasContrato = new List <ILineaContrato>(); #endregion #region Información General if (this.vista.ContratoID.HasValue) { bo.ContratoID = this.vista.ContratoID.Value; } if (this.vista.TipoContrato.HasValue) { bo.Tipo = (ETipoContrato)this.vista.TipoContrato.Value; } if (!string.IsNullOrEmpty(this.vista.NumeroContrato) && !string.IsNullOrWhiteSpace(this.vista.NumeroContrato)) { bo.NumeroContrato = this.vista.NumeroContrato.Trim().ToUpper(); } if (this.vista.EstatusContrato.HasValue) { bo.Estatus = (EEstatusContrato)this.vista.EstatusContrato.Value; } if (this.vista.FechaContrato.HasValue) { bo.FechaContrato = this.vista.FechaContrato.Value; } if (this.vista.SucursalID.HasValue) { bo.Sucursal.Id = this.vista.SucursalID.Value; } if (!String.IsNullOrEmpty(this.vista.SucursalNombre)) { bo.Sucursal.Nombre = this.vista.SucursalNombre; } if (this.vista.UnidadOperativaID.HasValue) { bo.Sucursal.UnidadOperativa.Id = this.vista.UnidadOperativaID.Value; } if (!String.IsNullOrEmpty(this.vista.UnidadOperativaNombre)) { bo.Sucursal.UnidadOperativa.Nombre = this.vista.UnidadOperativaNombre; } if (!string.IsNullOrEmpty(this.vista.RepresentanteEmpresa) && !string.IsNullOrWhiteSpace(this.vista.RepresentanteEmpresa)) { bo.Representante = this.vista.RepresentanteEmpresa.Trim().ToUpper(); } if (!string.IsNullOrEmpty(this.vista.DivisaID) && !string.IsNullOrWhiteSpace(this.vista.DivisaID)) { bo.Divisa.MonedaDestino.Codigo = this.vista.DivisaID; } #endregion #region Informacion Cliente if (this.vista.CuentaClienteID.HasValue) { bo.Cliente.Id = this.vista.CuentaClienteID.Value; } if (!string.IsNullOrEmpty(this.vista.CuentaClienteNombre) && !string.IsNullOrWhiteSpace(this.vista.CuentaClienteNombre)) { bo.Cliente.Nombre = this.vista.CuentaClienteNombre; } if (this.vista.SoloRepresentantes.HasValue) { bo.SoloRepresentantes = this.vista.SoloRepresentantes.Value; } if (this.vista.RepresentatesLegales != null && this.vista.RepresentatesLegales.Count > 0) { bo.RepresentantesLegales = this.vista.RepresentatesLegales.ConvertAll(x => (PersonaBO)x); } if (this.vista.ObligadosSolidarios != null && this.vista.ObligadosSolidarios.Count > 0) { bo.ObligadosSolidarios = this.vista.ObligadosSolidarios.ConvertAll(x => (PersonaBO)x); } if (this.vista.ObligadosComoAvales.HasValue) { bo.ObligadosComoAvales = this.vista.ObligadosComoAvales.Value; } if (this.vista.Avales != null && this.vista.Avales.Count > 0) { bo.Avales = this.vista.Avales.ConvertAll(x => (AvalBO)x); } if (bo.ObligadosComoAvales != null && bo.ObligadosComoAvales == true) { if (this.vista.ObligadosSolidarios != null) { bo.Avales = this.vista.ObligadosSolidarios.ConvertAll(x => this.ObligadoAAval((ObligadoSolidarioBO)x)); } } if (this.vista.UnidadOperativaID.HasValue) { bo.Cliente.UnidadOperativa.Id = this.vista.UnidadOperativaID.Value; } #region Dirección del cliente var direccion = new DireccionClienteBO(); direccion.Ubicacion = new UbicacionBO { Ciudad = new CiudadBO(), Estado = new EstadoBO(), Municipio = new MunicipioBO(), Pais = new PaisBO() }; if (this.vista.DireccionClienteID.HasValue) { direccion.Id = this.vista.DireccionClienteID.Value; } if (!string.IsNullOrEmpty(this.vista.ClienteDireccionCalle) && !string.IsNullOrWhiteSpace(this.vista.ClienteDireccionCalle)) { direccion.Calle = this.vista.ClienteDireccionCalle.Trim().ToUpper(); } if (!string.IsNullOrEmpty(this.vista.ClienteDireccionCiudad) && !string.IsNullOrWhiteSpace(this.vista.ClienteDireccionCiudad)) { direccion.Ubicacion.Ciudad.Codigo = this.vista.ClienteDireccionCiudad.Trim().ToUpper(); } if (!string.IsNullOrEmpty(this.vista.ClienteDireccionCodigoPostal) && !string.IsNullOrWhiteSpace(this.vista.ClienteDireccionCodigoPostal)) { direccion.CodigoPostal = this.vista.ClienteDireccionCodigoPostal.Trim().ToUpper(); } if (!string.IsNullOrEmpty(this.vista.ClienteDireccionColonia) && !string.IsNullOrWhiteSpace(this.vista.ClienteDireccionColonia)) { direccion.Colonia = this.vista.ClienteDireccionColonia.Trim().ToUpper(); } if (!string.IsNullOrEmpty(this.vista.ClienteDireccionEstado) && !string.IsNullOrWhiteSpace(this.vista.ClienteDireccionEstado)) { direccion.Ubicacion.Estado.Codigo = this.vista.ClienteDireccionEstado.Trim().ToUpper(); } if (!string.IsNullOrEmpty(this.vista.ClienteDireccionMunicipio) && !string.IsNullOrWhiteSpace(this.vista.ClienteDireccionMunicipio)) { direccion.Ubicacion.Municipio.Codigo = this.vista.ClienteDireccionMunicipio; } if (!string.IsNullOrEmpty(this.vista.ClienteDireccionPais) && !string.IsNullOrWhiteSpace(this.vista.ClienteDireccionPais)) { direccion.Ubicacion.Pais.Codigo = this.vista.ClienteDireccionPais; } bo.Cliente.RemoverDirecciones(); bo.Cliente.Agregar(direccion); #endregion #endregion #region Condiciones de Renta if (this.vista.Plazo.HasValue) { bo.Plazo = this.vista.Plazo.Value; } if (this.vista.FechaInicioContrato.HasValue) { bo.FechaInicioContrato = this.vista.FechaInicioContrato.Value; } if (this.vista.DepositoGarantia.HasValue) { bo.DepositoGarantia = this.vista.DepositoGarantia.Value; } if (this.vista.ComisionApertura.HasValue) { bo.ComisionApertura = this.vista.ComisionApertura.Value; } if (this.vista.IncluyeLavado.HasValue) { bo.IncluyeLavado = (ETipoInclusion)this.vista.IncluyeLavado.Value; } if (this.vista.IncluyeLlantas.HasValue) { bo.IncluyeLlantas = (ETipoInclusion)this.vista.IncluyeLlantas.Value; } if (this.vista.IncluyePinturaRotulación.HasValue) { bo.IncluyePinturaRotulacion = (ETipoInclusion)this.vista.IncluyePinturaRotulación.Value; } if (this.vista.IncluyeSeguro.HasValue) { bo.IncluyeSeguro = (ETipoInclusion)this.vista.IncluyeSeguro; } #endregion #region Otros if (!string.IsNullOrEmpty(this.vista.UbicacionTaller) && !string.IsNullOrWhiteSpace(this.vista.UbicacionTaller)) { bo.UbicacionTaller = this.vista.UbicacionTaller.Trim().ToUpper(); } if (!string.IsNullOrEmpty(this.vista.DireccionAlmacenaje) && !string.IsNullOrWhiteSpace(this.vista.DireccionAlmacenaje)) { bo.DireccionAlmacenaje = this.vista.DireccionAlmacenaje.Trim().ToUpper(); } if (!string.IsNullOrEmpty(this.vista.Observaciones) && !string.IsNullOrWhiteSpace(this.vista.Observaciones)) { bo.Observaciones = this.vista.Observaciones.Trim().ToUpper(); } #endregion #region Datos Adicionales if (this.vista.DatosAdicionales != null && this.vista.DatosAdicionales.Count > 0) { bo.DatosAdicionalesAnexo = this.vista.DatosAdicionales.ConvertAll(x => (DatoAdicionalAnexoBO)x); } #endregion #region Unidades if (this.vista.LineasContrato != null && this.vista.LineasContrato.Count > 0) { bo.LineasContrato = this.vista.LineasContrato.ConvertAll(x => (ILineaContrato)x); } #endregion #region Documentos adjuntos List <ArchivoBO> adjuntos = presentadorDocumentos.Vista.ObtenerArchivos() ?? new List <ArchivoBO>(); foreach (ArchivoBO adjunto in adjuntos) { if (bo.Tipo != null && bo.Tipo == ETipoContrato.CM) { adjunto.TipoAdjunto = ETipoAdjunto.ContratoMantenimiento; } if (bo.Tipo != null && bo.Tipo == ETipoContrato.SD) { adjunto.TipoAdjunto = ETipoAdjunto.ContratoServicioDedicado; } adjunto.Auditoria = new AuditoriaBO { FC = this.vista.FC, UC = this.vista.UC, FUA = DateTime.Now, UUA = this.vista.UsuarioID.Value }; } bo.DocumentosAdjuntos = adjuntos; #endregion bo.UC = this.vista.UC; bo.FC = this.vista.FC; bo.UUA = this.vista.UsuarioID.Value; bo.FUA = DateTime.Now; return(bo); }
/// <summary> /// Despliega en pantalla la información del contrato recuperado /// </summary> /// <param name="obj">Objeto que </param> private void DatoAInterfazUsuario(object obj) { var bo = (ContratoManttoBO)obj; #region Contrato nuevo if (ReferenceEquals(obj, null)) { bo = new ContratoManttoBO { Avales = new List <AvalBO>(), Cliente = new CuentaClienteIdealeaseBO { Cliente = new ClienteBO() }, DatosAdicionalesAnexo = new List <DatoAdicionalAnexoBO>(), Divisa = new DivisaBO { MonedaDestino = new MonedaBO() }, DocumentosAdjuntos = new List <ArchivoBO>(), RepresentantesLegales = new List <PersonaBO>(), LineasContrato = new List <ILineaContrato>(), ObligadosSolidarios = new List <PersonaBO>(), Sucursal = new SucursalBO { UnidadOperativa = new UnidadOperativaBO() } } } ; #endregion #region Instancias de propiedades if (object.ReferenceEquals(bo.Avales, null)) { bo.Avales = new List <AvalBO>(); } if (object.ReferenceEquals(bo.Cliente, null)) { bo.Cliente = new CuentaClienteIdealeaseBO { Cliente = new ClienteBO() } } ; if (object.ReferenceEquals(bo.DatosAdicionalesAnexo, null)) { bo.DatosAdicionalesAnexo = new List <DatoAdicionalAnexoBO>(); } if (object.ReferenceEquals(bo.Divisa, null)) { bo.Divisa = new DivisaBO { MonedaDestino = new MonedaBO() } } ; if (object.ReferenceEquals(bo.DocumentosAdjuntos, null)) { bo.DocumentosAdjuntos = new List <ArchivoBO>(); } if (object.ReferenceEquals(bo.LineasContrato, null)) { bo.LineasContrato = new List <ILineaContrato>(); } if (object.ReferenceEquals(bo.RepresentantesLegales, null)) { bo.RepresentantesLegales = new List <PersonaBO>(); } if (object.ReferenceEquals(bo.ObligadosSolidarios, null)) { bo.ObligadosSolidarios = new List <PersonaBO>(); } if (object.ReferenceEquals(bo.Sucursal, null)) { bo.Sucursal = new SucursalBO { UnidadOperativa = new UnidadOperativaBO() } } ; #endregion #region Datos Generales this.vista.TipoContrato = bo.Tipo.HasValue ? (int?)((int)bo.Tipo.Value) : null; this.vista.ContratoID = bo.ContratoID.HasValue ? bo.ContratoID : null; this.vista.NumeroContrato = !string.IsNullOrEmpty(bo.NumeroContrato) && !string.IsNullOrWhiteSpace(bo.NumeroContrato) ? bo.NumeroContrato.Trim().ToUpper() : string.Empty; this.vista.EstatusContrato = bo.Estatus.HasValue ? (int?)((int)bo.Estatus.Value) : null; this.vista.FechaContrato = bo.FechaContrato.HasValue ? bo.FechaContrato : null; this.vista.SucursalID = bo.Sucursal.Id.HasValue ? bo.Sucursal.Id : null; this.vista.SucursalNombre = !string.IsNullOrEmpty(bo.Sucursal.Nombre) && !string.IsNullOrWhiteSpace(bo.Sucursal.Nombre) ? bo.Sucursal.Nombre.Trim().ToUpper() : string.Empty; this.vista.RepresentanteEmpresa = !string.IsNullOrEmpty(bo.Representante) && !string.IsNullOrWhiteSpace(bo.Representante) ? bo.Representante.Trim().ToUpper() : string.Empty; this.vista.DivisaID = !string.IsNullOrEmpty(bo.Divisa.MonedaDestino.Codigo) && !string.IsNullOrWhiteSpace(bo.Divisa.MonedaDestino.Codigo) ? bo.Divisa.MonedaDestino.Codigo.ToUpper().Trim() : string.Empty; this.vista.EstatusContrato = bo.Estatus.HasValue ? (int?)((int)bo.Estatus.Value) : null; #endregion #region Datos Cliente this.vista.ClienteID = bo.Cliente.Cliente != null && bo.Cliente.Cliente.Id.HasValue ? bo.Cliente.Cliente.Id : null; this.vista.CuentaClienteID = bo.Cliente.Id.HasValue ? bo.Cliente.Id : null; this.vista.CuentaClienteTipoID = bo.Cliente.TipoCuenta.HasValue ? (int?)((int)bo.Cliente.TipoCuenta) : null; this.vista.CuentaClienteNombre = !string.IsNullOrEmpty(bo.Cliente.Nombre) && !string.IsNullOrWhiteSpace(bo.Cliente.Nombre) ? bo.Cliente.Nombre.Trim().ToUpper() : string.Empty; this.vista.CuentaClienteFisica = bo.Cliente.EsFisico.HasValue ? bo.Cliente.EsFisico : null; //Se ejecuta explicitamente la selección de la cuenta del cliente this.presentadorDatos.SeleccionarCuentaCliente(bo.Cliente); #region Direccion var direccion = new DireccionClienteBO { Ubicacion = new UbicacionBO { Ciudad = new CiudadBO(), Estado = new EstadoBO(), Municipio = new MunicipioBO(), Pais = new PaisBO() } }; if (bo.Cliente.Direcciones != null && bo.Cliente.Direcciones.Count > 0) { direccion = bo.Cliente.Direcciones[0]; if (direccion.Ubicacion == null) { direccion.Ubicacion = new UbicacionBO { Ciudad = new CiudadBO(), Estado = new EstadoBO(), Municipio = new MunicipioBO(), Pais = new PaisBO() } } ; if (direccion.Ubicacion.Ciudad == null) { direccion.Ubicacion.Ciudad = new CiudadBO(); } if (direccion.Ubicacion.Estado == null) { direccion.Ubicacion.Estado = new EstadoBO(); } if (direccion.Ubicacion.Municipio == null) { direccion.Ubicacion.Municipio = new MunicipioBO(); } if (direccion.Ubicacion.Pais == null) { direccion.Ubicacion.Pais = new PaisBO(); } } this.vista.DireccionClienteID = direccion.Id.HasValue ? (int?)((int)direccion.Id) : null; this.vista.ClienteDireccionCompleta = !string.IsNullOrEmpty(direccion.Direccion) && !string.IsNullOrWhiteSpace(direccion.Direccion) ? direccion.Direccion.Trim().ToUpper() : string.Empty; this.vista.ClienteDireccionCalle = !string.IsNullOrEmpty(direccion.Calle) && !string.IsNullOrWhiteSpace(direccion.Calle) ? direccion.Calle.Trim().ToUpper() : string.Empty; this.vista.ClienteDireccionColonia = !string.IsNullOrEmpty(direccion.Colonia) && !string.IsNullOrWhiteSpace(direccion.Colonia) ? direccion.Colonia.Trim().ToUpper() : string.Empty; this.vista.ClienteDireccionCiudad = !string.IsNullOrEmpty(direccion.Ubicacion.Ciudad.Codigo) && !string.IsNullOrWhiteSpace(direccion.Ubicacion.Ciudad.Codigo) ? direccion.Ubicacion.Ciudad.Codigo : string.Empty; this.vista.ClienteDireccionEstado = !string.IsNullOrEmpty(direccion.Ubicacion.Estado.Codigo) && !string.IsNullOrWhiteSpace(direccion.Ubicacion.Estado.Codigo) ? direccion.Ubicacion.Estado.Codigo : string.Empty; this.vista.ClienteDireccionMunicipio = !string.IsNullOrEmpty(direccion.Ubicacion.Municipio.Codigo) && !string.IsNullOrWhiteSpace(direccion.Ubicacion.Municipio.Codigo) ? direccion.Ubicacion.Municipio.Codigo : string.Empty; this.vista.ClienteDireccionPais = !string.IsNullOrEmpty(direccion.Ubicacion.Pais.Codigo) && !string.IsNullOrWhiteSpace(direccion.Ubicacion.Pais.Codigo) ? direccion.Ubicacion.Pais.Codigo : string.Empty; this.vista.ClienteDireccionCodigoPostal = !string.IsNullOrEmpty(direccion.CodigoPostal) && !string.IsNullOrWhiteSpace(direccion.CodigoPostal) ? direccion.CodigoPostal : string.Empty; #endregion //Se asignan los representantes legales seleccionados this.vista.RepresentatesLegales = bo.RepresentantesLegales.ConvertAll(x => (object)x); this.vista.SoloRepresentantes = bo.SoloRepresentantes.HasValue ? bo.SoloRepresentantes : null; //se asignan los obligados solidarios seleccionados this.vista.ObligadosSolidarios = bo.ObligadosSolidarios.ConvertAll(x => (object)x); this.vista.ObligadosComoAvales = bo.ObligadosComoAvales.HasValue ? bo.ObligadosComoAvales : null; //Se asignan los avlaes seleccionados this.vista.Avales = bo.Avales.ConvertAll(x => (object)x); #endregion #region Condiciones de renta this.vista.Plazo = bo.Plazo.HasValue ? bo.Plazo : null; this.vista.FechaInicioContrato = bo.FechaInicioContrato.HasValue ? bo.FechaInicioContrato : null; this.vista.FechaTerminacionContrato = bo.CalcularFechaTerminacionContrato(); this.vista.DepositoGarantia = bo.DepositoGarantia.HasValue ? bo.DepositoGarantia : null; this.vista.ComisionApertura = bo.ComisionApertura.HasValue ? bo.ComisionApertura : null; this.vista.IncluyeLavado = bo.IncluyeLavado.HasValue ? (int?)((int)bo.IncluyeLavado.Value) : null; this.vista.IncluyeLlantas = bo.IncluyeLlantas.HasValue ? (int?)((int)bo.IncluyeLlantas.Value) : null; this.vista.IncluyePinturaRotulación = bo.IncluyePinturaRotulacion.HasValue ? (int?)((int)bo.IncluyePinturaRotulacion.Value) : null; this.vista.IncluyeSeguro = bo.IncluyeSeguro.HasValue ? (int?)((int)bo.IncluyeSeguro.Value) : null; #endregion #region Otros this.vista.DireccionAlmacenaje = !string.IsNullOrEmpty(bo.DireccionAlmacenaje) && !string.IsNullOrWhiteSpace(bo.DireccionAlmacenaje) ? bo.DireccionAlmacenaje.Trim().ToUpper() : string.Empty; this.vista.UbicacionTaller = !string.IsNullOrEmpty(bo.UbicacionTaller) && !string.IsNullOrWhiteSpace(bo.UbicacionTaller) ? bo.UbicacionTaller.Trim().ToUpper() : string.Empty; this.vista.Observaciones = !string.IsNullOrEmpty(bo.Observaciones) && !string.IsNullOrWhiteSpace(bo.Observaciones) ? bo.Observaciones.Trim().ToUpper() : string.Empty; #endregion #region Unidades this.vista.LineasContrato = bo.LineasContrato.ConvertAll(x => (object)x); #endregion #region Datos adicionales this.vista.DatosAdicionales = bo.DatosAdicionalesAnexo.ConvertAll(x => (object)x); #endregion //Documentos asociados al contrato if (this.presentadorDocumentos.Vista.TiposArchivo == null) { this.presentadorDocumentos.Vista.TiposArchivo = new List <TipoArchivoBO>(); } this.presentadorDocumentos.CargarListaArchivos(bo.DocumentosAdjuntos, this.presentadorDocumentos.Vista.TiposArchivo); //Valores para la barra de herramientas this.presentadorHerramientas.DatosAInterfazUsuario(bo); }
/// <summary> /// Obtiene los datos de la Vista /// </summary> /// <returns></returns> private object InterfazUsuarioADato() { ContratoManttoBO bo = new ContratoManttoBO(); bo.Cliente = new CuentaClienteIdealeaseBO(); bo.Cliente.UnidadOperativa = new UnidadOperativaBO(); bo.Divisa = new DivisaBO(); bo.Divisa.MonedaDestino = new MonedaBO(); bo.Sucursal = new SucursalBO(); bo.Sucursal.UnidadOperativa = new UnidadOperativaBO(); bo.LineasContrato = new List <ILineaContrato>(); //Información General if (vista.TipoContratoID != null) { bo.Tipo = (ETipoContrato)Enum.Parse(typeof(ETipoContrato), vista.TipoContratoID.ToString()); } if (vista.SucursalID != null) { bo.Sucursal.Id = vista.SucursalID; } if (vista.SucursalNombre != null) { bo.Sucursal.Nombre = vista.SucursalNombre; } if (vista.UnidadOperativaID != null) { bo.Sucursal.UnidadOperativa.Id = vista.UnidadOperativaID; bo.Cliente.UnidadOperativa.Id = vista.UnidadOperativaID; } if (!String.IsNullOrEmpty(vista.UnidadOperativaNombre)) { bo.Sucursal.UnidadOperativa.Nombre = vista.UnidadOperativaNombre; } bo.Representante = vista.RepresentanteEmpresa; if (vista.CodigoMoneda != null) { bo.Divisa.MonedaDestino.Codigo = vista.CodigoMoneda; } if (vista.FechaContrato != null) { bo.FechaContrato = vista.FechaContrato; } //Datos del Cliente if (vista.CuentaClienteID != null) { bo.Cliente.Id = vista.CuentaClienteID; } if (!string.IsNullOrEmpty(vista.CuentaClienteNombre) && !string.IsNullOrWhiteSpace(vista.CuentaClienteNombre)) { bo.Cliente.Nombre = vista.CuentaClienteNombre; } if (vista.RepresentantesLegales != null) { bo.RepresentantesLegales = vista.RepresentantesLegales.ConvertAll(s => (PersonaBO)s); } if (vista.ObligadosSolidarios != null) { bo.ObligadosSolidarios = vista.ObligadosSolidarios.ConvertAll(s => (PersonaBO)s); } bo.SoloRepresentantes = vista.SoloRepresentantes; bo.ObligadosComoAvales = vista.ObligadosComoAvales; if (vista.Avales != null) { bo.Avales = vista.Avales; } if (bo.ObligadosComoAvales != null && bo.ObligadosComoAvales == true) { if (vista.ObligadosSolidarios != null) { bo.Avales = vista.ObligadosSolidarios.ConvertAll(s => ObligadoAAval(s)); } } #region Dirección del Cliente DireccionClienteBO direccion = new DireccionClienteBO { Id = vista.DireccionClienteID, Ubicacion = new UbicacionBO { Pais = new PaisBO { Codigo = vista.ClienteDireccionPais }, Municipio = new MunicipioBO { Codigo = vista.ClienteDireccionMunicipio }, Estado = new EstadoBO { Codigo = vista.ClienteDireccionEstado }, Ciudad = new CiudadBO { Codigo = vista.ClienteDireccionCiudad } }, CodigoPostal = vista.ClienteDireccionCodigoPostal, Calle = vista.ClienteDireccionCalle, Colonia = vista.ClienteDireccionColonia }; bo.Cliente.RemoverDirecciones(); bo.Cliente.Agregar(direccion); #endregion bo.Plazo = vista.Plazo; bo.FechaInicioContrato = vista.FechaInicioContrato; if (vista.LineasContrato != null) { bo.LineasContrato = vista.LineasContrato.ConvertAll(s => (ILineaContrato)s); #region RI0006 foreach (var linea in bo.LineasContrato) { linea.LineaContratoID = null; } #endregion } bo.UbicacionTaller = vista.UbicacionTaller; bo.DepositoGarantia = vista.DepositoGarantia; bo.ComisionApertura = vista.ComisionApertura; if (vista.IncluyeSeguroID != null) { bo.IncluyeSeguro = (ETipoInclusion)Enum.Parse(typeof(ETipoInclusion), vista.IncluyeSeguroID.ToString()); } if (vista.IncluyeLavadoID != null) { bo.IncluyeLavado = (ETipoInclusion)Enum.Parse(typeof(ETipoInclusion), vista.IncluyeLavadoID.ToString()); } if (vista.IncluyePinturaRotulacionID != null) { bo.IncluyePinturaRotulacion = (ETipoInclusion)Enum.Parse(typeof(ETipoInclusion), vista.IncluyePinturaRotulacionID.ToString()); } if (vista.IncluyeLlantasID != null) { bo.IncluyeLlantas = (ETipoInclusion)Enum.Parse(typeof(ETipoInclusion), vista.IncluyeLlantasID.ToString()); } bo.DireccionAlmacenaje = vista.DireccionAlmacenaje; if (vista.DatosAdicionales != null) { bo.DatosAdicionalesAnexo = vista.DatosAdicionales; } #region Archivos Adjuntos List <ArchivoBO> adjuntos = presentadorDocumentos.Vista.ObtenerArchivos() ?? new List <ArchivoBO>(); foreach (ArchivoBO adjunto in adjuntos) { if (bo.Tipo != null && bo.Tipo == ETipoContrato.CM) { adjunto.TipoAdjunto = ETipoAdjunto.ContratoMantenimiento; } if (bo.Tipo != null && bo.Tipo == ETipoContrato.SD) { adjunto.TipoAdjunto = ETipoAdjunto.ContratoServicioDedicado; } adjunto.Auditoria = new AuditoriaBO { FC = vista.FC, UC = vista.UC, FUA = vista.FUA, UUA = vista.UUA }; } bo.DocumentosAdjuntos = adjuntos; #endregion if (vista.Observaciones != null) { bo.Observaciones = vista.Observaciones; } if (vista.EstatusID != null) { bo.Estatus = (EEstatusContrato)Enum.Parse(typeof(EEstatusContrato), vista.EstatusID.ToString()); } if (vista.FC != null) { bo.FC = vista.FC; } if (vista.UC != null) { bo.UC = vista.UC; } if (vista.FUA != null) { bo.FUA = vista.FUA; } if (vista.UUA != null) { bo.UUA = vista.UUA; } return(bo); }
/// <summary> /// Consulta la información completa del contrato para su despliegue en la vista /// </summary> private void ConsultarCompleto() { try { var bo = (ContratoManttoBO)this.InterfazUsuarioADato(); var temp = new ContratoManttoBO(); if (bo.ContratoID.HasValue) { temp.ContratoID = bo.ContratoID.Value; } else { temp = bo; } List <ContratoManttoBO> lst = new ContratoManttoBR().Consultar(this.dctx, temp); 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."); } var contrato = new ContratoManttoBO(); if (lst != null && lst.Count > 0) { contrato = lst[0]; } var tipoContrato = ETipoAdjunto.ContratoMantenimiento; if (contrato != null) { if (contrato.Tipo.HasValue) { switch (contrato.Tipo.Value) { case ETipoContrato.CM: tipoContrato = ETipoAdjunto.ContratoMantenimiento; break; case ETipoContrato.SD: tipoContrato = ETipoAdjunto.ContratoServicioDedicado; break; } } } lst[0].DocumentosAdjuntos = new ArchivoBR().Consultar(this.dctx, new ArchivoBO() { Activo = true, TipoAdjunto = tipoContrato }, contrato.ContratoID.Value); this.DatoAInterfazUsuario(lst[0]); this.vista.UltimoObjeto = lst[0]; } catch (Exception ex) { this.DatoAInterfazUsuario(new ContratoManttoBO()); throw new Exception(this.nombreClase + ".ConsultarCompleto:" + ex.Message); } }
/// <summary> /// Obtiene la inforamción del contrato proporcionada por el usaurio para su actualización /// </summary> /// <returns>Contrato que será actualizado</returns> private object InterfazUsuarioADato() { var bo = new ContratoManttoBO(); if (this.vista.UltimoObjeto is ContratoManttoBO) { bo = new ContratoManttoBO((ContratoManttoBO)this.vista.UltimoObjeto); } bo.ContratoID = this.vista.ContratoID; if (this.vista.EstatusID != null) { bo.Estatus = (EEstatusContrato)Enum.Parse(typeof(EEstatusContrato), this.vista.EstatusID.ToString()); } else { bo.Estatus = null; } bo.FUA = this.vista.FUA; bo.UUA = this.vista.UUA; List <ArchivoBO> adjuntos = this.presentadorDocumentos.Vista.ObtenerArchivos(); if (adjuntos != null) { foreach (ArchivoBO adjuntoContratoBo in adjuntos) { if (bo != null) { if (bo.Tipo.HasValue) { switch (bo.Tipo.Value) { case ETipoContrato.CM: adjuntoContratoBo.TipoAdjunto = ETipoAdjunto.ContratoMantenimiento; break; case ETipoContrato.SD: adjuntoContratoBo.TipoAdjunto = ETipoAdjunto.ContratoServicioDedicado; break; } } } } } bo.DocumentosAdjuntos = adjuntos; // Se agrega la Auditoria de cada uno de los documentos adjuntos if (bo.DocumentosAdjuntos != null) { foreach (ArchivoBO adjunto in bo.DocumentosAdjuntos) { if (adjunto.Id == null) { adjunto.Auditoria = new AuditoriaBO { FC = bo.FUA, UC = bo.UUA, FUA = bo.FUA, UUA = bo.UUA }; } else { adjunto.Auditoria.FUA = bo.FUA; adjunto.Auditoria.UUA = bo.UUA; } } } return(bo); }
/// <summary> /// Determina si es posible generar el pago adicional del contrato /// </summary> /// <returns>Devuelve la inconsitencia encontrada para genera el pago adicional</returns> private string ValidarPagoAdicional() { if (this.vista.TipoContrato == null) { return("No se ha seleccionado del Departamento del Contrato"); } if (this.vista.SucursalID == null) { return("No se ha seleccionado la Sucursal del Contrato"); } if (String.IsNullOrEmpty(this.vista.FolioContrato)) { return("No se ha introducido el Folio del Contrato"); } ContratoBO contratoBo = null; List <ContratoBO> contratos = new List <ContratoBO>(); switch (vista.TipoContrato) { case ETipoContrato.RD: contratoBo = new ContratoRDBO { NumeroContrato = vista.FolioContrato, Sucursal = new SucursalBO { Id = vista.SucursalID }, Estatus = EEstatusContrato.EnCurso }; var contratosRD = new ContratoRDBR().Consultar(this.dctx, (ContratoRDBO)contratoBo); contratos.AddRange(contratosRD); break; case ETipoContrato.FSL: contratoBo = new ContratoFSLBO { NumeroContrato = vista.FolioContrato, Sucursal = new SucursalBO { Id = vista.SucursalID }, Estatus = EEstatusContrato.EnCurso }; var contratosFsl = new ContratoFSLBR().Consultar(this.dctx, (ContratoFSLBO)contratoBo); contratos.AddRange(contratosFsl); break; case ETipoContrato.CM: case ETipoContrato.SD: contratoBo = new ContratoManttoBO { NumeroContrato = vista.FolioContrato, Tipo = vista.TipoContrato, Sucursal = new SucursalBO { Id = vista.SucursalID }, Estatus = EEstatusContrato.EnCurso }; var contratosMantto = new ContratoManttoBR().Consultar(this.dctx, (ContratoManttoBO)contratoBo); contratos.AddRange(contratosMantto); break; } if (!contratos.Any()) { return("No se encontró el Contrato solicitado"); } switch (vista.TipoContrato) { case ETipoContrato.RD: var contratoRD = contratos.FirstOrDefault() as ContratoRDBO; if (!String.IsNullOrEmpty(TiempoMaximoRecepcionRD)) { if (DateTime.Now < contratoRD.FechaPromesaDevolucion.Value.AddHours(int.Parse(TiempoMaximoRecepcionRD))) { return("Deben pasar al menos " + TiempoMaximoRecepcionRD + " hrs para poder generar un pago adicional después de la Fecha de Promesa de Devolución."); } } break; } this.vista.ContratoID = contratos.FirstOrDefault().ContratoID; PagoUnidadContratoBO pagoBo = new PagoUnidadContratoBOF { ReferenciaContrato = new ReferenciaContratoBO() { ReferenciaContratoID = this.vista.ContratoID } }; PagoUnidadContratoBR pagoBr = new PagoUnidadContratoBR(); var pagos = pagoBr.Consultar(this.dctx, (PagoUnidadContratoBO)pagoBo); if (!pagos.Any()) { return("No se han generado Pagos para el Contrato"); } var ultimoPago = pagos.Last(x => x.Activo.Value); if (ultimoPago.EnviadoFacturacion != null && !ultimoPago.EnviadoFacturacion.Value) { return("No se ha Facturado el Último Pago Activo del Contrato"); } this.ultimoPagoContrato = ultimoPago; return(null); }
public void ConsultarContrato() { try { if (this.vista.TipoContratoID == null) { throw new Exception("No se identificó el tipo de contrato que desea ver"); } ETipoContrato tipo = (ETipoContrato)Enum.Parse(typeof(ETipoContrato), this.vista.TipoContratoID.ToString()); switch (tipo) { case ETipoContrato.CM: #region Ir a CM ContratoManttoBO boCM = new ContratoManttoBO() { ContratoID = this.vista.ContratoID }; this.LimpiarSesion(); this.vista.EstablecerPaqueteNavegacion("ContratoManttoBO", boCM); this.vista.RedirigirADetalleContratoCM(); #endregion break; case ETipoContrato.FSL: #region Ir a FSL ContratoFSLBO boFSL = new ContratoFSLBO() { ContratoID = this.vista.ContratoID }; this.LimpiarSesion(); this.vista.EstablecerPaqueteNavegacion("ContratoFSLBO", boFSL); this.vista.RedirigirADetalleContratoFSL(); #endregion break; case ETipoContrato.RD: #region Ir a RD ContratoRDBO boRD = new ContratoRDBO() { ContratoID = this.vista.ContratoID }; this.LimpiarSesion(); this.vista.EstablecerPaqueteNavegacion("ContratoRDBO", boRD); this.vista.RedirigirADetalleContratoRD(); #endregion break; case ETipoContrato.SD: #region Ir a SD ContratoManttoBO boSD = new ContratoManttoBO() { ContratoID = this.vista.ContratoID }; this.LimpiarSesion(); this.vista.EstablecerPaqueteNavegacion("ContratoManttoBO", boSD); this.vista.RedirigirADetalleContratoSD(); #endregion break; default: throw new Exception("No se identificó el tipo de contrato que desea ver"); } } catch (Exception ex) { throw new Exception(this.nombreClase + ".ConsultarContrato: " + ex.Message); } }