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; }
private void ConfirmarComoNoProcesado(RuvConsultaNoValorados nv, DatosDetallados hecho) { if (hecho != null) { noprocesados.RemoveAll (q => q.Id_Persona == nv.Id_Persona); } }
private bool ValidarHechoPorNumeroDeclaracion(DatosDetallados hecho, RuvConsultaNoValorados nv) { return FnVal.NumeroDeclaracion(nv, hecho); }
private bool ValidarHechoPorFechaValoracion(DatosDetallados hecho, RuvConsultaNoValorados nv) { return FnVal.ValidarHechoPorFechaValoracion (hecho, nv); }
private bool ValidarHechoDesplazamentForzado(DatosDetallados hecho) { return FnVal.ValidarHechoDesplazamentForzado (hecho, parProcesamiento); }
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 (!ValidarHechoPorFechaDeclaracion(hecho, nv)) return false; } else return false; return true; }
private bool ValidarEstadoIncluido(DatosDetallados hecho) { return parProcesamiento.Obtener_Id_EstadoUnidad(hecho.ESTADO)!=0; }
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 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); } }
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) { } }
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; }
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; }
public static bool ValidarHechoDesplazamentForzado(DatosDetallados hecho, ParametrosProcesamiento parProcesamiento) { return (!string.IsNullOrEmpty(hecho.HECHO) && hecho.HECHO.ToUpper() == parProcesamiento.Hecho); }