public BaseResponse <PersonaNatutalRequest> getDatosBasicosCurrentUser(int clienteId) { BaseResponse <PersonaNatutalRequest> result = new BaseResponse <PersonaNatutalRequest>(); result.data = new PersonaNatutalRequest(); try { using (MesaDineroContext context = new MesaDineroContext()) { Tb_MD_Clientes cliente = null; cliente = context.Tb_MD_Clientes.FirstOrDefault(x => x.iIdCliente == clienteId); if (cliente == null) { throw new Exception("El usuario no esta asociado a ningun cliente"); } if (!cliente.codigoModificacionDatos.HasValue) { Tb_MD_Per_Natural persona = null; persona = context.Tb_MD_Per_Natural.FirstOrDefault(x => x.vNumDocumento.Equals(cliente.vNroDocumento)); if (persona != null) { #region Datos Verificados result.data.nroDocumento = persona.vNumDocumento; result.data.tipoDocumento = persona.vTipoDocumento; result.data.nombres = persona.vNombre; result.data.apePaterno = persona.vApellido; result.data.apeMaterno = persona.vApellidoMat; if (persona.vFechaNacimiento.HasValue) { result.data.fnDia = persona.vFechaNacimiento.Value.Day; result.data.fnMes = persona.vFechaNacimiento.Value.Month; result.data.fnAnio = persona.vFechaNacimiento.Value.Year; } result.data.email = persona.vMailContacto; result.data.preCelular = persona.vPreCelular; result.data.celular = persona.vTelefonoMovil; result.data.pais = persona.vIdPaisOrigen; result.data.departamento = persona.iCodDepartamento ?? 0; result.data.provincia = persona.iCodProvincia ?? 0; result.data.distrito = persona.iCodDistrito ?? 0; result.data.direccion = persona.vDireccion; result.data.origenFondos = persona.iOrigenFondos ?? 0; result.data.sictuacionLaboral = !string.IsNullOrEmpty(persona.vFlgSituacionLaboral) ? persona.vFlgSituacionLaboral : "I"; result.data.expuesto = !string.IsNullOrEmpty(persona.vFlgExpuestoPoliticamente) ? persona.vFlgExpuestoPoliticamente : "N"; if (persona.vFlgExpuestoPoliticamente == "S") { Tb_MD_Expuesto_Politicamente expuesto = null; expuesto = context.Tb_MD_Expuesto_Politicamente.FirstOrDefault(x => x.vNumDocumento.Equals(persona.vNumDocumento) && x.dFechaFinActividad == null); if (expuesto != null) { result.data.entidadNombreExpuesto = expuesto.vNombreEntidad; result.data.cargoExpuesto = expuesto.vCargo; } } #endregion } else { result.data = null; } } else { Tb_MD_Pre_Per_Natural persona = null; persona = context.Tb_MD_Pre_Per_Natural.FirstOrDefault(x => x.Id_Pre_Cliente == cliente.codigoModificacionDatos); if (persona != null) { result.data.nroDocumento = persona.vNumDocumento; result.data.tipoDocumento = persona.vTipoDocumento; result.data.nombres = persona.vNombre; result.data.apePaterno = persona.vApellido; result.data.apeMaterno = persona.vApellidoMat; if (persona.vFechaNacimiento.HasValue) { result.data.fnDia = persona.vFechaNacimiento.Value.Day; result.data.fnMes = persona.vFechaNacimiento.Value.Month; result.data.fnAnio = persona.vFechaNacimiento.Value.Year; } result.data.email = persona.vMailContacto; result.data.preCelular = persona.vPreCelular; result.data.celular = persona.vTelefonoMovil; result.data.pais = persona.vIdPaisOrigen; result.data.departamento = persona.iCodDepartamento ?? 0; result.data.provincia = persona.iCodProvincia ?? 0; result.data.distrito = persona.iCodDistrito ?? 0; result.data.direccion = persona.vDireccion; result.data.origenFondos = persona.iOrigenFondos ?? 0; result.data.sictuacionLaboral = !string.IsNullOrEmpty(persona.vFlgSituacionLaboral) ? persona.vFlgSituacionLaboral : "I"; result.data.expuesto = !string.IsNullOrEmpty(persona.vFlgExpuestoPoliticamente) ? persona.vFlgExpuestoPoliticamente : "N"; } else { result.data = null; } } } result.success = true; } catch (Exception ex) { result.success = false; // result.ex = ex; result.error = ex.InnerException != null ? ex.InnerException.Message : ex.Message; } return(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); }
public BaseResponse <string> actualizarEstadoVerificado(List <SubastaRequest> model, string nombreusuario) { BaseResponse <string> result = new BaseResponse <string>(); using (MesaDineroContext context = new MesaDineroContext()) { using (var transaccion = context.Database.BeginTransaction()) { try { if (model.Count == 0) { throw new Exception("Seleccione una Transaccion"); } //string [] codigoTransaccion=model.idTransaccion.Split(','); for (int i = 0; i < model.Count; i++) { Tb_MD_Subasta entidad = context.Tb_MD_Subasta.Find(Convert.ToInt16(model[i].idTransaccion)); Tb_MD_ClientesDatosBancos banco = context.Tb_MD_ClientesDatosBancos.Find(entidad.cuentaBancoDestino); Tb_MD_ClientesDatosBancos bancoOrigen = context.Tb_MD_ClientesDatosBancos.Find(entidad.cuentaBancoOrigen); //Tb_MD_Pre_Clientes cliente = context.Tb_MD_Pre_Clientes.Find(entidad.IdCliente); if (entidad == null) { throw new Exception("Codigo no exite"); } entidad.vNumInsPago = model[i].idPago; entidad.vEstadoSubasta = model[i].estado; context.SaveChanges(); /*Insertar a la tabla pagos*/ if (model[i].tipoValidacion != null && model[i].tipoValidacion != "") { int idSubasta = entidad.nNumeroSubasta; DateTime fechaInformePago = DateTime.Now; if (model[i].tipoValidacion.Trim() == "VO") { /*ACTUALIZAR AHORA*/ Tb_MD_Notificacion limpNot = new Tb_MD_Notificacion(); string nrsubasta = entidad.nNumeroSubasta.ToString(); limpNot = context.Tb_MD_Notificacion.Where(x => x.vNumeroSubasta == nrsubasta && x.vEstadoSubasta == EstadoSubasta.PagadaXCliente).FirstOrDefault(); string estadoOperador = ""; if (model[i].estado.Trim() == "G") { estadoOperador = "A"; if (limpNot != null) { limpNot.Titulo = "Operación Verificada"; } } else { estadoOperador = "O"; if (limpNot != null) { limpNot.Titulo = "Operación Observada"; } } /*ACTUALIZAR AHORA*/ Tb_MD_Subasta_Pago subasta_pago_val = context.Tb_MD_Subasta_Pago.Find(idSubasta); if (subasta_pago_val == null) { Tb_MD_Subasta_Pago subasta_pago = new Tb_MD_Subasta_Pago(); subasta_pago.nNumeroSubasta = idSubasta; subasta_pago.vCodBancoCliente = bancoOrigen.vBanco; subasta_pago.vNumeroCuenta = bancoOrigen.vNroCuenta; subasta_pago.dFechaInformePago = DateTime.Now; subasta_pago.vNumOperacionPago = entidad.NroOperacionPago; subasta_pago.vTipoMonedaTransferida = entidad.vMonedaEnviaCliente; subasta_pago.nMontoTransferido = entidad.nMontoEnviaCliente; //subasta_pago.vTipoPersona = cliente.vTipoCliente.ToString(); //subasta_pago.vCodBancoFideicomiso = ""; //subasta_pago.vNumeroCuentaFideicomiso = ""; //subasta_pago.vNroDocumento = cliente.vNroDocumento; subasta_pago.iEstadoRegistro = EstadoRegistroTabla.Activo; context.Tb_MD_Subasta_Pago.Add(subasta_pago); } Tb_MD_Subasta_Pago subasta_pago_find = context.Tb_MD_Subasta_Pago.Find(idSubasta); if (subasta_pago_find != null) { subasta_pago_find.dFechaValidacionOperaciones = fechaInformePago; subasta_pago_find.vNumDocValidaDepositoOperaciones = nombreusuario; subasta_pago_find.vEstadoValOperador = estadoOperador; context.SaveChanges(); } } //if (model[i].tipoValidacion.Trim() == "VF") //{ // string estadoOperador = ""; // if (model[i].estado.Trim() == "G") // { // estadoOperador = "A"; // } // else // { // estadoOperador = "O"; // } // Tb_MD_Subasta_Pago subasta_pago_find = context.Tb_MD_Subasta_Pago.Find(idSubasta); // if (subasta_pago_find != null) // { // subasta_pago_find.dFechaValidacionFideicomiso = fechaInformePago; // subasta_pago_find.vNumDocValidaDepositoFideicomiso = nombreusuario; // subasta_pago_find.vEstadoValFideicomiso = estadoOperador; // context.SaveChanges(); // } //} if (model[i].tipoValidacion.Trim() == "EC") { Tb_MD_Subasta_Pago subasta_pago_find = context.Tb_MD_Subasta_Pago.Find(idSubasta); if (subasta_pago_find != null) { subasta_pago_find.dFechaEnvioCorfid = DateTime.Now; context.SaveChanges(); } } if (model[i].tipoValidacion.Trim() == "AP") { Tb_MD_Subasta_Pago subasta_pago_find = context.Tb_MD_Subasta_Pago.Find(idSubasta); if (subasta_pago_find != null) { subasta_pago_find.dFechaInformeContravalor = DateTime.Now; subasta_pago_find.vNumOpeBancoACliente = model[i].idPago; subasta_pago_find.vObservacion = model[i].observacion; subasta_pago_find.vCodBancoDestinoCliente = banco.vBanco; subasta_pago_find.nMontoTransferidoACliente = entidad.nMontiRecibeCliente; subasta_pago_find.vTipoMonedaDestinoCliente = entidad.vMonedaRecibeCliente; subasta_pago_find.vNumeroCuentaDestinoCliente = banco.vNroCuenta; context.SaveChanges(); /*Enviar Correo*/ Tb_MD_Clientes cliente = context.Tb_MD_Clientes.Where(x => x.iIdCliente == entidad.IdCliente).FirstOrDefault(); if (cliente != null) { string nombre = cliente.vNombre + " " + cliente.vApellido; string correo = cliente.vEmail; string monto = String.Format("{0:###,###,###,##0.00##}", entidad.nMontiRecibeCliente); string moneda = entidad.vMonedaRecibeCliente.ToString().ToUpper(); CorreoHelper.SendCorreoPagoCliente(correo, nombre, monto, moneda, entidad.SecredId.ToString()); //if (respuesta == true) { //} Tb_MD_Notificacion limpNot = new Tb_MD_Notificacion(); string nrsubasta = entidad.nNumeroSubasta.ToString(); limpNot = context.Tb_MD_Notificacion.Where(x => x.vNumeroSubasta == nrsubasta && x.vEstadoSubasta == EstadoSubasta.PagadaXCliente).FirstOrDefault(); if (limpNot != null) { limpNot.iEstadoRegistro = EstadoRegistroTabla.NoActivo; } Tb_MD_Notificacion notificacion = new Tb_MD_Notificacion(); notificacion.IdUsuario = ""; notificacion.IdCliente = cliente.iIdCliente; notificacion.Titulo = "Envio de Pago"; notificacion.Mensaje = "Tu número de transaccion es: " + String.Format("{0:000000000}", entidad.nNumeroSubasta) + ". Se le deposito el tipo de cambio solicitado."; notificacion.Tipo = 0; notificacion.vNumeroSubasta = entidad.nNumeroSubasta.ToString(); notificacion.vEstadoSubasta = EstadoSubasta.PagadaALCliente; notificacion.Url = "/Subasta/recibes/" + entidad.SecredId; notificacion.Fecha = DateTime.Now.AddDays(1); notificacion.iEstadoRegistro = EstadoRegistroTabla.Activo; context.Tb_MD_Notificacion.Add(notificacion); context.SaveChanges(); } else { throw new Exception("No se encontro Datos del Cliente"); } } } } } //Tb_MD_Subasta_Pago transaccion.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; transaccion.Rollback(); #endregion } catch (Exception ex) { result.success = false; result.error = ex.InnerException != null ? ex.InnerException.Message : ex.Message; } } } return(result); }