public static async Task <PersonaNatutalRequest> GetDatosPersonaNatural(string dni) { QuertiumPersona qPersona = new QuertiumPersona(); PersonaNatutalRequest persona = new PersonaNatutalRequest(); try { string token = GetToken(); using (var client = new HttpClient()) { client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token); var result = await client.GetAsync("http://quertium.com/api//v1/Reniec/dni/" + dni); result.EnsureSuccessStatusCode(); var jsonString = await result.Content.ReadAsStringAsync(); qPersona = Newtonsoft.Json.JsonConvert.DeserializeObject <QuertiumPersona>(jsonString); } if (qPersona != null) { persona.tipoDocumento = "DNI"; persona.nombres = string.Format("{0} {1}", qPersona.PrimerNombre, qPersona.SegundoNombre); persona.apePaterno = qPersona.ApellidoPaterno; persona.apeMaterno = qPersona.ApellidoMaterno; } } catch (Exception ex) { throw new Exception(ex.Message); } return(persona); }
public IHttpActionResult upadteDatosBasicosCurrentUser(PersonaNatutalRequest model) { BaseResponse <string> result = new BaseResponse <string>(); ClienteDataAccess _dataAccess = new ClienteDataAccess(); result = _dataAccess.updateDatosBasicosCurrentUser(model, IdCurrenCliente); return(Ok(result)); }
public BaseResponse <string> updateDatosBasicosCurrentUser(PersonaNatutalRequest model, int clienteId) { BaseResponse <string> result = new BaseResponse <string>(); using (MesaDineroContext context = new MesaDineroContext()) { using (var transaction = context.Database.BeginTransaction()) { try { DateTime ahora = DateTime.Now; Tb_MD_Clientes cliente = null; cliente = context.Tb_MD_Clientes.FirstOrDefault(x => x.iIdCliente == clienteId); Tb_MD_Pre_Clientes preCliente = null; if (cliente.codigoModificacionDatos == null) { preCliente = new Tb_MD_Pre_Clientes(); } else { preCliente = context.Tb_MD_Pre_Clientes.FirstOrDefault(x => x.idPreCliente == cliente.codigoModificacionDatos); } preCliente.vNombre = cliente.vNombre; preCliente.vApellido = cliente.vApellido; preCliente.iCodDepartamento = model.departamento; preCliente.iCodDistrito = model.distrito; preCliente.NombreCliente = cliente.NombreCliente; preCliente.vTipoCliente = (int)cliente.vTipoCliente; preCliente.vTipoDocumento = cliente.vTipoDocumento; preCliente.iEstadoNavegacion = -1; preCliente.envioValidacion = true; preCliente.EstadoValidacion = "P"; preCliente.EstadoValidacion_Fideicomiso = "P"; preCliente.Seguimiento = SeguimientoRegistro.RegistroProcesoValidacion; preCliente.dFechaEnvioValidacion = ahora; if (cliente.codigoModificacionDatos == null) { preCliente.vNroDocumento = cliente.vNroDocumento; preCliente.SecretId = Guid.NewGuid(); preCliente.vEstadoRegistro = -1; preCliente.envioMSM = true; preCliente.dFechaCreacion = ahora; preCliente.vTipoRegistro = TipoRegistroPreCliente.ModificacionDatosBasicos; context.Tb_MD_Pre_Clientes.Add(preCliente); context.SaveChanges(); } Tb_MD_Per_Natural persona = null; persona = context.Tb_MD_Per_Natural.FirstOrDefault(x => x.vNumDocumento.Equals(cliente.vNroDocumento)); Tb_MD_Pre_Per_Natural prePersona = null; prePersona = context.Tb_MD_Pre_Per_Natural.FirstOrDefault(x => x.Id_Pre_Cliente == preCliente.idPreCliente); bool nuevaPrePersona = false; if (prePersona == null) { prePersona = new Tb_MD_Pre_Per_Natural(); nuevaPrePersona = true; prePersona.dFechaCreacion = ahora; prePersona.Id_Pre_Cliente = preCliente.idPreCliente; prePersona.vEstadoRegistro = EstadoRegistroTabla.Activo; } prePersona.vNumDocumento = persona.vNumDocumento; prePersona.vTipoDocumento = persona.vTipoDocumento; prePersona.vNombre = persona.vNombre; prePersona.vApellido = persona.vApellido; prePersona.vApellidoMat = persona.vApellidoMat; prePersona.vMailContacto = persona.vMailContacto; prePersona.vPreCelular = persona.vPreCelular; prePersona.vTelefonoMovil = persona.vTelefonoMovil; prePersona.vFechaNacimiento = new DateTime(model.fnAnio, model.fnMes, model.fnDia); #region Direccion prePersona.vIdPaisOrigen = model.pais; prePersona.iCodDepartamento = model.departamento; prePersona.iCodProvincia = model.provincia; prePersona.iCodDistrito = model.distrito; prePersona.vDireccion = model.direccion; #endregion prePersona.iOrigenFondos = model.origenFondos; prePersona.vFlgSituacionLaboral = model.sictuacionLaboral; prePersona.vFlgExpuestoPoliticamente = model.expuesto; if (model.expuesto == "N") { prePersona.CargoExpuesto = ""; prePersona.NombreEntidadExpuesto = ""; } else { prePersona.CargoExpuesto = model.cargoExpuesto; prePersona.NombreEntidadExpuesto = model.entidadNombreExpuesto; } if (nuevaPrePersona) { context.Tb_MD_Pre_Per_Natural.Add(prePersona); } cliente.codigoModificacionDatos = preCliente.idPreCliente; context.SaveChanges(); transaction.Commit(); result.success = true; } catch (System.Data.Entity.Validation.DbEntityValidationException ex) { #region Error EntityFramework var errorMessages = ex.EntityValidationErrors .SelectMany(x => x.ValidationErrors) .Select(x => x.ErrorMessage); var fullErrorMessage = string.Join("; ", errorMessages); result.success = false; result.error = fullErrorMessage; transaction.Rollback(); #endregion } catch (Exception ex) { result.success = false; //result.ex = ex; transaction.Rollback(); result.error = ex.InnerException != null ? ex.InnerException.Message : ex.Message; } } } return(result); }