示例#1
0
        /// <summary>
        /// Descripcion: Realiza la validacion del usuario/paciente contra el webservice de la reniec.
        /// con informacion del menu.
        /// Author: Terceros.
        /// Fecha Creación: 01/01/2017
        /// Modificacion: : Se agrearon Comentarios.
        /// </summary>
        /// <param name="usuario"></param>
        /// <param name="dni"></param>
        /// <returns></returns>
        public Usuario ValidarDatosUsuario(Usuario usuario, string dni)
        {
            var     pacienteDal = new PacienteDal();
            Boolean reniec      = pacienteDal.EstadoReniec();

            if (reniec)
            {
                IReniecConsumer reniecConsumer = new ReniecConsumer();
                var             persona        = reniecConsumer.getReniec(dni);
                this.ErrorMessage = reniecConsumer.ErrorMessage;

                /*Si Persona es distina de Null quiere decir que se encontro el Paciente*/
                if (persona != null)
                {
                    usuario.apellidoPaterno = persona.ApellidoPaterno;
                    usuario.apellidoMaterno = persona.ApellidoMaterno;
                    usuario.nombres         = persona.Nombres;
                    usuario.estatus         = 1;
                }

                if (string.IsNullOrEmpty(ErrorMessage) && persona == null)
                {
                    ErrorMessage = "No se encontraron coincidencias.";
                }
            }
            else
            {
                usuario.nombres = "Servicio de Reniec Inactivo";
            }
            return(usuario);
        }
示例#2
0
        /// <summary>
        /// Descripción: Obtiene informacion del paciente por medio del web service de la reniec
        /// Author: Terceros.
        /// Fecha Creacion: 01/01/2017
        /// Fecha Modificación: 02/02/2017.
        /// </summary>
        /// <param name="paciente"></param>
        /// <returns></returns>
        public Paciente getReniec(Paciente paciente)
        {
            IReniecConsumer reniecConsumer = new ReniecConsumer();
            Persona         persona        = reniecConsumer.getReniec(paciente.NroDocumento);

            /*Si Persona es distina de Null quiere decir que se encontro el Paciente*/
            if (persona != null)
            {
                paciente.ApellidoPaterno = persona.ApellidoPaterno;
                paciente.ApellidoMaterno = persona.ApellidoMaterno;
                paciente.Nombres         = persona.Nombres;
                paciente.DireccionReniec = persona.Direccion.DireccionReniec;
                paciente.UbigeoReniec    = new Ubigeo();
                //paciente.UbigeoReniec.Id = persona.Direccion.CodigoUbigeo;

                UbigeoPacienteBl ubigeoBl = new UbigeoPacienteBl();
                paciente.UbigeoReniec = ubigeoBl.GetUbigeoById(persona.Direccion.CodigoUbigeo, persona.Direccion.NombreDistrito, paciente.IdUsuarioRegistro);

                paciente.Genero          = persona.Genero == Model.Enums.Genero.Masculino ? 1 : 2;
                paciente.FechaNacimiento = persona.FechaNacimiento;
                return(paciente);
            }

            return(null);
        }
示例#3
0
        /// <summary>
        /// Descripción: Validar los datos del paciente con Reniec
        /// Author: Terceros.
        /// Fecha Creacion: 01/01/2017
        /// Fecha Modificación: 02/02/2017.
        /// </summary>
        /// <param name="paciente"></param>
        /// <returns></returns>
        public Paciente ValidarDatosPaciente(Paciente paciente)
        {
            IReniecConsumer reniecConsumer = new ReniecConsumer();
            Persona         persona        = reniecConsumer.getReniec(paciente.NroDocumento);



            /*Si Persona es distina de Null quiere decir que se encontro el Paciente*/
            if (persona != null)
            {
                paciente.ApellidoPaterno = persona.ApellidoPaterno;
                paciente.ApellidoMaterno = persona.ApellidoMaterno;
                paciente.Nombres         = persona.Nombres;
                paciente.DireccionReniec = persona.Direccion.DireccionReniec;
                UbigeoPacienteBl ubigeoBl = new UbigeoPacienteBl();
                //paciente.UbigeoReniec = ubigeoBl.GetUbigeoById(persona.Direccion.CodigoUbigeo);
                paciente.Genero          = persona.Genero == Model.Enums.Genero.Masculino ? 1 : 2;
                paciente.FechaNacimiento = persona.FechaNacimiento;


                /* codigoDepartamentoReniec = paciente.DatoComplementario.IdUbigeo.Substring(0, 2);
                 * codigoProvinciaReniec = paciente.DatoComplementario.IdUbigeo.Substring(2, 2);
                 * codigoDistritoReniec = paciente.DatoComplementario.IdUbigeo.Substring(4, 2);*/
                using (PacienteDal pacienteDal = new PacienteDal())
                {
                    pacienteDal.UpdateDatosReniec(paciente);
                }
                return(paciente);
            }

            return(null);
        }
示例#4
0
        /// <summary>
        /// Descripción: Lista todos los pacientes por tipo de documento y nro de documento, RETORNANDO TODA LA INFORMACION DEL PACIENTE.
        /// Realiza una consulta al web service del a reniec para la validacion de datos.
        /// Author: Terceros.
        /// Fecha Creacion: 01/01/2017
        /// Fecha Modificación: 02/02/2017.
        /// Modificación: Se agregaron comentarios.
        /// </summary>
        /// <param name="pagina"></param>
        /// <param name="numRegPorPagima"></param>
        /// <param name="tipoDocumento"></param>
        /// <param name="nroDocumento"></param>
        /// <param name="flag"></param>
        /// <returns></returns>
        public List <Paciente> getPacientes(int pagina, int numRegPorPagima, int tipoDocumento, String nroDocumento, ref int flag)
        {
            using (var pacienteDal = new PacienteDal())
            {
                //Se busca el paciente en RENIEC
                Persona         persona        = null;
                IReniecConsumer reniecConsumer = new ReniecConsumer();
                if (tipoDocumento == 1)
                {
                    persona = reniecConsumer.getReniec(nroDocumento);
                }

                //Se busca el Paciente en BD
                var pacienteList = pacienteDal.GetPacientes(pagina, numRegPorPagima, tipoDocumento, nroDocumento, "", "");
                flag = 0;
                var existeDiferencia = false;
                if (pacienteList.Count == 1 && persona != null)
                {
                    var paciente = pacienteList[0];

                    //Se verifica Apellido Paterno
                    if (!persona.ApellidoPaterno.Trim().ToUpper().Equals(paciente.ApellidoPaterno.Trim().ToUpper()))
                    {
                        existeDiferencia = true;
                    }
                    //Se verifica Apellido Materno
                    else if (!persona.ApellidoMaterno.Trim().ToUpper().Equals(paciente.ApellidoMaterno.Trim().ToUpper()))
                    {
                        existeDiferencia = true;
                    }
                    //Se verifica Apellido Nombres
                    else if (!persona.Nombres.Trim().ToUpper().Equals(paciente.Nombres.Trim().ToUpper()))
                    {
                        existeDiferencia = true;
                    }
                    //Se verifica Fecha Nacimiento
                    else if (DateTime.Compare(persona.FechaNacimiento, paciente.FechaNacimiento.Value) != 0)
                    {
                        existeDiferencia = true;
                    }
                    //Se verifica Direccion
                    else if (!persona.Direccion.DireccionReniec.Trim().ToUpper().Equals(paciente.DireccionReniec.Trim().ToUpper()))
                    {
                        existeDiferencia = true;
                    }
                    //Se verifica Ubigeo
                    else if (!persona.Direccion.CodigoUbigeo.Trim().ToUpper().Equals(paciente.UbigeoReniec.Id.ToUpper()))
                    {
                        existeDiferencia = true;
                    }
                    //Se verifica Genero
                    else
                    {
                        var generoPersona = persona.Genero == Model.Enums.Genero.Masculino ? 1 : 2;
                        if (generoPersona != paciente.Genero)
                        {
                            existeDiferencia = true;
                        }
                    }

                    //2 es un estado que indica que existe diferencia
                    if (existeDiferencia)
                    {
                        paciente.Estado = 2;
                    }
                }
                else if (pacienteList.Count == 0)
                {
                    //Si no se encontro paciente y se encontro en RENIEC

                    if (persona != null)
                    {
                        flag = 1;
                        var paciente = new Paciente
                        {
                            Nombres         = persona.Nombres,
                            NroDocumento    = nroDocumento,
                            ApellidoPaterno = persona.ApellidoPaterno,
                            ApellidoMaterno = persona.ApellidoMaterno,
                            FechaNacimiento = persona.FechaNacimiento,
                            DireccionReniec = persona.Direccion.DireccionReniec,
                            UbigeoReniec    = new Ubigeo {
                                Id = persona.Direccion.CodigoUbigeo.Trim()
                            },
                            Genero = persona.Genero == Model.Enums.Genero.Masculino ? 1 : 2
                        };
                        pacienteList.Add(paciente);
                    }
                    else
                    {
                        //Si no se encontro paciente y no encontro en RENIEC
                        flag = 2;
                    }
                }

                return(pacienteList);
            }
        }