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