コード例 #1
0
        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);
            }
        }
コード例 #2
0
 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);
     }
 }
コード例 #3
0
        /// <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.");
        }
コード例 #4
0
        /// <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.");
        }
コード例 #5
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);
            }
        }
コード例 #6
0
        /// <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);
        }
コード例 #7
0
        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);
        }
コード例 #8
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);
                }
            }
        }