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); } }
/// <summary> /// Obtiene la Unidad con sus datos completos /// </summary> /// <param name="unidad"></param> /// <returns></returns> private UnidadBO ObtenerUnidad(UnidadBO unidad) { if (unidad != null && (unidad.UnidadID != null || unidad.EquipoID != null)) { var unidadBR = new UnidadBR(); List <UnidadBO> listado = unidadBR.ConsultarCompleto(dataContext, unidad, true); UnidadBO resultado = listado.Find( unid => unidad.UnidadID == unid.UnidadID && unid.EquipoID == unidad.EquipoID); return(resultado); } throw new Exception("Se requiere proporcionar una Unidad para desplegar su información."); }
/// <summary> /// Obtiene la Unidad con sus datos completos /// </summary> /// <param name="unidad"></param> /// <returns></returns> private UnidadBO ObtenerUnidad(UnidadBO unidad) { if (unidad != null && (unidad.UnidadID != null)) { var unidadBR = new UnidadBR(); return(unidadBR .ConsultarCompleto(dataContext, new UnidadBO() { UnidadID = unidad.UnidadID }, true) .FirstOrDefault()); } throw new Exception("Se requiere proporcionar una Unidad para desplegar su información."); }
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); } }
/// <summary> /// Obtiene la unidad que deseas editar /// </summary> /// <param name="unidadAnterior">Unidad que se desea editar</param> /// <returns>Unidad Completa para su edicion</returns> private UnidadBO ObtenerUnidad(UnidadBO unidadAnterior) { var obj = unidadAnterior; UnidadBR unidadBR = new UnidadBR(); //Consultamos el objeto var unidades = unidadBR.ConsultarCompleto(dctx, obj, true); //Limpiamso la instancia del objeto obj = null; //Validamos que realmente hay una unidad para su edición if (!ReferenceEquals(unidades, null)) { if (unidades.Count > 0) { obj = unidades[0]; } } //Retornamos el objeto return(obj); }
private UnidadBO ObtenerUnidad(UnidadBO boAnterior) { UnidadBO unidadBO = boAnterior; UnidadBR unidadBR = new UnidadBR(); //Se consulta la unidad en base al ultimo objeto List <UnidadBO> unidades = unidadBR.ConsultarCompleto(dctx, unidadBO, true); //Limpiamos la instancia del objeto unidadBO = null; //Validamos que realmente hay una unidad para su edición if (!ReferenceEquals(unidades, null)) { if (unidades.Count > 0) { unidadBO = unidades[0]; } } //Retornamos el objeto return(unidadBO); }
/// <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); } } }