public async void CalificacionCartera() { OpaServicioFachada Fa = new OpaServicioFachada(); this.StatusTask = Status.Running; short ValorEnum = 0; string nombre = "CalificacionCartera"; try { Fa.GuardarEstadoDelServicio(ValorEnum, nombre, "Sarc"); // Guardo el log funcional de ejecucion de este proceso red = new DatosRedFacade().ObtenerDatosDeRed(); new OpaAuditoriaFachada().GuardarLogFuncionalWFAsync("Servicio windows para carga de informacion <CalificacionCartera>", "Not Gui required", "<root><NoData>Not data is required to execution</NoData></root>", new DatosUsuarioAuditoria { NombreUsuario = "User is not required", CodigoUsuario = "", DireccionIp = red.Ip, }); List <SarcCreditosLiquidados_Result> CreditosLiquidados = new Opa.Transaccional.Negocio.Fachada.OpaTransaccionalFachada().BuscarCreditosLiquidados(); OpaSarcFachada Fc = new OpaSarcFachada(); List <SeguimientoCalificacionCartera> ListaSegumiento = new List <SeguimientoCalificacionCartera>(); SeguimientoCalificacionCartera DatosSEguimientoAsociado = new SeguimientoCalificacionCartera(); string calificacion = string.Empty; if (CreditosLiquidados.Count() > 0) { int NroComite = 0; ConsecutivosComiteCartera entidadconsecutivo = Fc.buscarconsecutivoComite(); if (entidadconsecutivo != null) { NroComite = Convert.ToInt32(entidadconsecutivo.NroComite) + 1; ConsecutivosComiteCartera entidadconsecutivoactualizar = new ConsecutivosComiteCartera { IdConsecutivosComiteCartera = entidadconsecutivo.IdConsecutivosComiteCartera, NroComite = NroComite }; Fc.actualizarconsecutivoComite(entidadconsecutivoactualizar); } else { NroComite += 1; Fc.guardarconsecutivoComite(); } foreach (SarcCreditosLiquidados_Result item in CreditosLiquidados) { List <ResultadosScore> Scores = Fc.ListaTop2ResultadoScoreAsociado(item.IdentificacionPersona); if (Scores.Count == 2) { DatosSEguimientoAsociado = new Opa.Sarc.Negocio.FlujoTrabajo.GenerarSeguimientoWF().DevolverCalificacionPropuesta(Scores[1], Scores[0], item.IdentificacionPersona.ToString(), NroComite); } else { DatosSEguimientoAsociado = new Opa.Sarc.Negocio.FlujoTrabajo.GenerarSeguimientoWF().DevolverCalificacionPropuesta(null, Scores[0], item.IdentificacionPersona.ToString(), NroComite); } ListaSegumiento.Add(DatosSEguimientoAsociado); } XElement ModeloCalificacionXml = new XElement("root"); foreach (SeguimientoCalificacionCartera Fila in ListaSegumiento) { ModeloCalificacionXml.Add( new XElement("SeguimientoCartera", new XElement("IdSeguimientoCalificacionCartera", Fila.IdSeguimientoCalificacionCartera), new XElement("FechaSeguimiento", Fila.FechaSeguimiento), new XElement("IdentificacionPersona", Fila.IdentificacionPersona), new XElement("NroComite", Fila.NroComite), new XElement("CalificacionScoringInicial", Fila.CalificacionScoringInicial), new XElement("CalificacionScoringFinal", Fila.CalificacionScoringFinal), new XElement("CuberturaGarantia", Fila.CuberturaGarantia), new XElement("SolvenciaInicial", Fila.SolvenciaInicial), new XElement("SolvenciaFinal", Fila.SolvenciaFinal), new XElement("PorcentajeSolvencia", Fila.PorcentajeSolvencia), new XElement("CapacidadPagoInicial", Fila.CapacidadPagoInicial), new XElement("CapacidadPagoFinal", Fila.CapacidadPagoFinal), new XElement("PorcentajeCapacidadPago", Fila.PorcentajeCapacidadPago), new XElement("NumeroReestructuraciones", Fila.NumeroReestructuraciones), new XElement("NumeroNovaciones", Fila.NumeroNovaciones), new XElement("SaldoTotalDeuda", Fila.SaldoTotalDeuda), new XElement("CalificacionActual", Fila.CalificacionActual), //new XElement("ProvisionActual", Fila.ProvisionActual), new XElement("CalificacionPropuesta", Fila.CalificacionPropuesta), //new XElement("ProvisionPropuesta", Fila.ProvisionPropuesta), new XElement("CalificacionDefinitiva", Fila.CalificacionDefinitiva), //new XElement("ProvisionDefinitiva", Fila.ProvisionDefinitiva), new XElement("FechaCalificacionDefinitiva", Fila.FechaCalificacionDefinitiva), new XElement("Observaciones", Fila.Observaciones) )); } ; string xmlEnviar = ModeloCalificacionXml.ToString(); Fc.InsertarRegistrosSeguimientoCalificacionCartera(xmlEnviar); } } catch (Exception ex) { DatosUsuarioAuditoria d = new DatosUsuarioAuditoria() { NombreUsuario = "User is not required", CodigoUsuario = "", DireccionIp = red.Ip, }; // Loggin error Guid idlog = OpaExceptionHandling.Handle(ex, d); this.StatusTask = Status.Error; ValorEnum = (short)StatusTask; Fa.GuardarEstadoDelServicio(ValorEnum, nombre, "Sarc"); return; } this.StatusTask = Status.Ok; ValorEnum = (short)StatusTask; Fa.GuardarEstadoDelServicio(ValorEnum, nombre, "Sarc"); }