private void ConfirmarComoNoProcesado(RuvConsultaNoValorados nv, DatosDetallados hecho) { if (hecho != null) { noprocesados.RemoveAll(q => q.Id_Persona == nv.Id_Persona); } }
private bool ValidarHechoCompleto(RuvConsultaNoValorados nv, DatosDetallados hecho) { // se deben cumplir los dos if (!ValidarHechoDesplazamentForzado(hecho) || !ValidarEstadoIncluido(hecho)) { return(false); } if (hecho.FUENTE == "RUV") { if (!ValidarHechoPorNumeroDeclaracion(hecho, nv) || !ValidarHechoPorFechaValoracion(hecho, nv)) { return(false); } } else if (hecho.FUENTE == "SIPOD") { if (!ValidarHechoPorNumeroDeclaracion(hecho, nv) || !ValidarHechoPorFechaDeclaracion(hecho, nv)) { return(false); } } else { return(false); } return(true); }
private void GuardarSiSeEncontroHecho(RuvConsultaNoValorados nv, List <DatosBasicos> basicos, List <DatosDetallados> hechos, DatosDetallados hecho) { bool insertado = false; try { if (hecho != null) { Declaracion_UnidadesInsertar registro = new Declaracion_UnidadesInsertar() { Fuente = "WS Vivanto {0}".Fmt(hecho.FUENTE), Id_EstadoUnidad = parProcesamiento.Obtener_Id_EstadoUnidad(hecho.ESTADO), Id_Unidad = parProcesamiento.Id_Unidad, Fecha_Inclusion = hecho.F_VALORACION.Value, Id_Declaracion = nv.Id_Declaracion, }; ird.Declaracion_UnidadesInsertar(registro); insertado = true; } } catch (Exception ex) { AgregarNoProcesados(nv); IgnorarOLanzarExcepcion(ex); } finally { Log.RegistrarProcesado(vivanto.DirInfoLog, nv, basicos, hechos, hecho, insertado, parProcesamiento); } }
private void ProcesarDatosBasicos(RuvConsultaNoValorados nv, List <DatosBasicos> datosbasicos) { var hl = new List <DatosDetallados> (); DatosDetallados hecho = null; foreach (var dato in datosbasicos) { if (!(dato.FUENTE == "RUV" || dato.FUENTE == "SIPOD")) { continue; } List <DatosDetallados> hechos; if (!ConsultarHechosEnVivanto(dato, out hechos)) { AgregarNoProcesados(nv); continue; } hl.AddRange(hechos); if (ProcesarHechos(nv, hechos, out hecho)) { // uno de los hechos cumple los requisitos // no es necesario revisar mas los datos basicos de la declaracion break; } } GuardarSiSeEncontroHecho(nv, datosbasicos, hl, hecho); ConfirmarComoNoProcesado(nv, hecho); }
private bool ProcesarHechos(RuvConsultaNoValorados nv, List <DatosDetallados> hechos, out DatosDetallados hecho) { hecho = null; foreach (var h in hechos) { if (ValidarHechoCompleto(nv, h)) { hecho = h; break; // hecho cumple requisitos no se revisan los otros } } return(hecho != null); }
private List <DatosBasicos> ConsultarEnVivanto(RuvConsultaNoValorados nv) { List <DatosBasicos> db = new List <DatosBasicos>(); try { db = vivanto.ConsultarDatosBasicos(nv.Identificacion); } catch (Exception ex) { AgregarNoProcesados(nv); IgnorarOLanzarExcepcion(ex); } return(db); }
public static bool NumeroDeclaracion(RuvConsultaNoValorados nv, DatosDetallados hecho) { var irdFUD = Regex.Replace(nv.Numero_Declaracion ?? "", "[^0-9]", ""); var fud = Regex.Replace(hecho.NUM_FUD_NUM_CASO ?? "", "[^0-9]", ""); long ird = 0; long.TryParse(irdFUD, out ird); long vivanto = 0; long.TryParse(fud, out vivanto); Console.WriteLine("irdFud {0}; fud {1}; ird {2} vivanto {3}; evaluacion {4}", irdFUD, fud, ird, vivanto, ird != 0 && vivanto != 0 && ird == vivanto); return(ird != 0 && vivanto != 0 && ird == vivanto); }
static bool BuscarHecho(RuvConsultaNoValorados nv, List <DatosDetallados> hechos, ParametrosProcesamiento parProcesamiento, out DatosDetallados hecho) { hecho = null; foreach (var h in hechos) { if (!FnVal.ValidarHechoDesplazamentForzado(h, parProcesamiento)) { continue; } if (FnVal.NumeroDeclaracion(nv, h) || FnVal.ValidarHechoPorFechaDeclaracion(h, nv) || FnVal.ValidarHechoPorFechaValoracion(h, nv)) { hecho = h; break; } } return(hecho != null); }
private void AgregarNoProcesados(RuvConsultaNoValorados nv) { noprocesados.AddIfNotExists(nv); }
private bool ValidarHechoPorNumeroDeclaracion(DatosDetallados hecho, RuvConsultaNoValorados nv) { return(FnVal.NumeroDeclaracion(nv, hecho)); }
private bool ValidarHechoPorFechaValoracion(DatosDetallados hecho, RuvConsultaNoValorados nv) { return(FnVal.ValidarHechoPorFechaValoracion(hecho, nv)); }
public static void RegistrarProcesado(DirectoryInfo dir, RuvConsultaNoValorados nv, List <DatosBasicos> basicos, List <DatosDetallados> hechos, DatosDetallados hecho, bool insertado, ParametrosProcesamiento parProcesamiento) { // valorados // actualizado, id_declaracion, regional, TI, documento, declaracion, fecha_declaracion, fecha_radicacion, fecha_desplazamiento, fecha_atencion, // RUV_ESTADO, RUV_FECHA_VALORACION, RUV_FECHA_DECLARACION, RUV_FECHA_SINIESTRO, OK_FechaDeclaracion, OK_numero_declaracion // no valorados //id_declaracion, regional, TI, documento, declaracion, fecha_declaracion, fecha_radicacion, fecha_desplazamiento, fecha_atencion string fn; string encabezado; var linea = "{0};{1};{2};{3};{4};{5};{6};{7};{8}".Fmt(nv.Id_Declaracion, parProcesamiento.ObtenerRegional(nv.Id_Regional), nv.Id_Tipo_Identificacion, nv.Identificacion, nv.Numero_Declaracion, nv.Fecha_Declaracion.CsvFecha(), nv.Fecha_Radicacion.CsvFecha(), nv.Fecha_Desplazamiento.CsvFecha(), nv.Fecha_Valoracion.CsvFecha()); if (hecho == null) { fn = "No_Valorados.txt"; encabezado = NO_VALORADOS_ENCABEZADO; linea = "{0};{1}".Fmt(linea, (basicos != null && basicos.Count > 0) ? "SI" : "NO"); DatosDetallados h; if (BuscarHecho(nv, hechos, parProcesamiento, out h)) { linea = "{0};{1};{2};{3};{4};{5};{6};{7}".Fmt( linea, h.ESTADO, h.F_VALORACION.CsvFecha(), h.F_DECLARACION.CsvFecha(), h.FECHA_SINIESTRO.CsvFecha(), h.NUM_FUD_NUM_CASO, h.F_DECLARACION.Date == nv.Fecha_Declaracion.Date ? "SI" : "NO", FnVal.NumeroDeclaracion(nv, h)?"SI" : "NO" ); } } else { fn = "Valorados.txt"; encabezado = VALORADOS_ENCABEZADO; linea = "{0};{1};{2};{3};{4};{5};{6};{7};{8}".Fmt(insertado ? "SI" : "NO", linea, hecho.ESTADO, hecho.F_VALORACION.CsvFecha(), hecho.F_DECLARACION.CsvFecha(), hecho.FECHA_SINIESTRO.CsvFecha(), hecho.NUM_FUD_NUM_CASO, hecho.F_DECLARACION.Date == nv.Fecha_Declaracion.Date ? "SI" : "NO", FnVal.NumeroDeclaracion(nv, hecho)?"SI" : "NO" ); } try { AsegurarQueExisteEncabezado(dir, fn, encabezado); File.AppendAllText(NombreArhivo(dir, fn), linea + Environment.NewLine); } catch (Exception) { } }
public static bool ValidarHechoPorFechaValoracion(DatosDetallados hecho, RuvConsultaNoValorados nv) { return((hecho.F_VALORACION.HasValue && nv.Fecha_Valoracion.HasValue)? hecho.F_VALORACION.Value.Date > nv.Fecha_Valoracion.Value.Date: false); }
public static bool ValidarHechoPorFechaDeclaracion(DatosDetallados hecho, RuvConsultaNoValorados nv) { return(nv.Fecha_Declaracion.Date == hecho.F_DECLARACION.Date); }