Пример #1
0
        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);
        }
Пример #2
0
        public IHttpActionResult upadteDatosBasicosCurrentUser(PersonaNatutalRequest model)
        {
            BaseResponse <string> result      = new BaseResponse <string>();
            ClienteDataAccess     _dataAccess = new ClienteDataAccess();

            result = _dataAccess.updateDatosBasicosCurrentUser(model, IdCurrenCliente);

            return(Ok(result));
        }
Пример #3
0
        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);
        }