public object validacionPartesEF([FromBody] dynamic objetoRecibido) // objetoRecibido = {cod_entidad:cod_entidad} { inicializaDatos(objetoRecibido.cod_entidad.ToString()); this.cambio_2 = this.aperturaDatos.mCompra; this.cambio_4 = this.aperturaDatos.mUFV; this.cambio_5 = this.aperturaDatos.mEuroBS; this.margenEF = this.aperturaDatos.margen_partes_ef; this.factorTC = this.aperturaDatos.factor_tc; this.archivosEntidadCadena = ArchivosController.encadenaArchivosDeEntidadMes(this.codigoEntidad, this.mesControl); /////////////////////////////// Validacion de Partes de Producción y Siniestros con Estados Financieros /////////////////////////////////////////// int estadoValidezEF = this.validaPartesEF(); dynamic segEntidad = SgmntController.seguimientoAperturaActivaEntidad(this.codigoEntidad); if (estadoValidezEF < Convert.ToInt16(segEntidad.estado)) // si el estado de error de la validacion es peor que el de seguimiento actual, entonces se guarda el peor en el estado del seguimiento: estados 1 E grave, 2 error , 3 advertencia 4 valido { SgmntController.modificaEstado(segEntidad.id_seguimiento_envio, estadoValidezEF); } foreach (Error error in this.errores) { if (!error.valido) { error.id_seguimiento_envio = segEntidad.id_seguimiento_envio;; ErroresController.insertarError(error); } } con.Close(); this.resultado.status = "success"; this.resultado.validoEF = estadoValidezEF > 2; this.resultado.validacionEF = listaValEF; //cada item contiene { validacion:'titulo', data:{datos de la validacion}, valido: true or false, error:{error con descripcion}, tipo_parte: 'produccion o siniestro' } return(this.resultado); }
/// Verifica si los archivos enviados son los que se deberian enviar segun el mes y el tipo de entidad private bool validarArchivosEnviadosNombres(List <ArchivoCargado> archivosEnv) { bool correcto = true; // se obtiene la lita de archivos que corresponden a la compañia segun el mes List <Archivo> archivosValidos = ArchivosController.getArchivosDeEntidadMes(this.codigoEntidad, this.mesControl); if (archivosValidos.Count != archivosEnv.Count) { correcto = false; // EE-02 "La cantidad de archivos enviados no corresponde this.errores.Add(err("002", "", "deberían ser " + archivosValidos.Count + " archivos y se cargaron: " + archivosEnv.Count + " .", 0, 0)); } foreach (Archivo arch in archivosValidos) { string nombreArchivo = this.nombreArchivo(codigoEntidad, mesControl, anoControl, arch.codigo); ArchivoCargado carg = (from i in archivosEnv where i.nombre.ToUpper() == nombreArchivo.ToUpper() select i).FirstOrDefault(); if (carg == null) { correcto = false; // EE-03 "Falta el archivo " this.errores.Add(err("003", nombreArchivo, nombreArchivo, 0, 0)); } else { carg.codigo = arch.codigo; carg.validacionTexto = arch.validacion; } } return(correcto); }
public object validacionSIF([FromBody] dynamic objetoRecibido)// objetoRecibido = {cod_entidad:cod_entidad} { inicializaDatos(objetoRecibido.cod_entidad.ToString()); this.archivosEntidadCadena = ArchivosController.encadenaArchivosDeEntidadMes(this.codigoEntidad, this.mesControl); // realiza la validacion_________________________________________________>>>>>> dynamic valContenido = this.realizarValidacionContenido(); int estadoValidezC = valContenido.estadoValidez; // obtiene el estado de validez que tiene seguimiento_envio ya guardado en la validacion de formato dynamic segEntidad = SgmntController.seguimientoAperturaActivaEntidad(this.codigoEntidad); int estadoValidez = Convert.ToInt16(segEntidad.estado); ////------------------------------------- se añade val EF dentro del proceso por un error al llamar en paralelo ---------------------------------------- this.cambio_2 = this.aperturaDatos.mCompra; this.cambio_4 = this.aperturaDatos.mUFV; this.cambio_5 = this.aperturaDatos.mEuroBS; this.margenEF = this.aperturaDatos.margen_partes_ef; this.factorTC = this.aperturaDatos.factor_tc; this.archivosEntidadCadena = ArchivosController.encadenaArchivosDeEntidadMes(this.codigoEntidad, this.mesControl); ////////_____________________________>>>> Validacion de Partes de Producción y Siniestros con Estados Financieros /////////////////////////////////////////// int estadoValidezEF = this.validaPartesEF(); estadoValidez = Math.Min(estadoValidez, Math.Min(estadoValidezC, estadoValidezEF)); SgmntController.modificaEstado(segEntidad.id_seguimiento_envio, estadoValidez); foreach (Error error in this.errores) { if (!error.valido) { error.id_seguimiento_envio = segEntidad.id_seguimiento_envio; ErroresController.insertarError(error); } } List <dynamic> constantes = ConstantesController.obtieneConstantesDeDimension("estado_seguimiento"); dynamic estadoSeg = constantes.Where(x => x.codigo == estadoValidez.ToString()).FirstOrDefault(); this.con.Close(); this.resultado.status = "success"; this.resultado.estadoValidez = estadoValidez; this.resultado.estadoValidez_desc = estadoSeg.valor + " - " + estadoSeg.descripcion; this.resultado.estadoValidezC = estadoValidezC; this.resultado.validoC = estadoValidezC > 2; this.resultado.datosC = this.listaValCont; this.resultado.estadoValidezEF = estadoValidezEF; this.resultado.validoEF = estadoValidezEF > 2; this.resultado.datosEF = listaValEF; return(this.resultado); }
public static string encadenaArchivosDeEntidadMes(string cod_entidad, int mes) { List <Archivo> archivosList = ArchivosController.getArchivosDeEntidadMes(cod_entidad, mes); string cadenaArchivos = ""; foreach (Archivo arch in archivosList) { cadenaArchivos += arch.codigo; } return(cadenaArchivos); }
public object validacionConsultaPartesEF(string web_reporte, int idSeguimientoEnvio) //objetoRecibido = {id_seguimiento_envio } { try { // my code string token = HttpHelpers.GetTokenFromHeader(HttpContext); if (token == "") { return(Unauthorized()); } Base helper = new Base(AppSettings, token, HttpContext.Connection.RemoteIpAddress.ToString()); List <Error> erroresLista = ErroresController.getErroresDeSeguimiento(idSeguimientoEnvio); dynamic seguimientoEntidadDatos = SgmntController.getSeguimientoEntidadDatos(idSeguimientoEnvio); this.codigoEntidad = seguimientoEntidadDatos.cod_entidad.ToString(); this.erroresDiccionario = ConstantesController.obtieneConstantesDeDimension("error"); this.aperturaDatos = AperturaController.getAperturaDeSeguimiento(idSeguimientoEnvio); this.fechaCorte = this.aperturaDatos.fecha_corte; this.anoControl = this.fechaCorte.Year; this.mesControl = this.fechaCorte.Month; this.diaControl = this.fechaCorte.Day; this.cambio_2 = this.aperturaDatos.mCompra; this.cambio_4 = this.aperturaDatos.mUFV; this.cambio_5 = this.aperturaDatos.mEuroBS; this.margenEF = this.aperturaDatos.margen_partes_ef; this.factorTC = this.aperturaDatos.factor_tc; this.archivosEntidadCadena = ArchivosController.encadenaArchivosDeEntidadMes(this.codigoEntidad, this.mesControl); ////////////////////// FORMATO //////////////////////////////////////////////// IEnumerable <Error> erroresF = erroresLista.Where(x => x.cod_error.Substring(0, 1) == "0").OrderBy(x => x.cod_error); bool validoF = true; int estadoValidez = 4; foreach (Error errorF in erroresF) { errorF.desc_error = descError(errorF.cod_error); errorF.estadoValidez = estadoValidezDeError(errorF); if (errorF.estadoValidez < estadoValidez) { estadoValidez = errorF.estadoValidez; } } if (estadoValidez > 1) // si no hay EE { // //////////////////////////////Validacion contenidos SIf y varios dynamic valContenido = this.realizarValidacionContenido(); int estadoValidezC = valContenido.estadoValidez; this.resultado.estadoValidezC = estadoValidezC; this.resultado.validoC = estadoValidezC > 2; if (web_reporte == "web") //si es WEB se carga en una lista { this.resultado.datosC = this.listaValCont; this.resultado.validacionC = null; } else if (web_reporte == "reporte") // sie es en para reporte se separa en objetos que tinen la misma estuctura { this.resultado.validacionC = valContenido; this.resultado.datosC = null; } /////////////////////////////// Validacion de Partes de Producción y Siniestros con Estados Financieros /////////////////////////////////////////// int estadoValidezEF = this.validaPartesEF(); this.resultado.estadoValidezEF = estadoValidezEF; this.resultado.validoEF = estadoValidezEF > 2; this.resultado.datosEF = listaValEF; // del resultado gral estadoValidez = Math.Min(estadoValidez, Math.Min(estadoValidezC, estadoValidezEF)); } else { validoF = false; } this.resultado.aperturaDatos = this.aperturaDatos; this.resultado.seguimientoEntidadDatos = seguimientoEntidadDatos; List <dynamic> constantes = ConstantesController.obtieneConstantesDeDimension("estado_seguimiento"); dynamic estadoSeg = constantes.Where(x => x.codigo == estadoValidez.ToString()).FirstOrDefault(); this.con.Close(); this.resultado.status = "success"; this.resultado.estadoValidez = estadoValidez; this.resultado.estadoValidez_desc = estadoSeg.valor + " - " + estadoSeg.descripcion; this.resultado.validoF = validoF; this.resultado.erroresF = erroresF; return(this.resultado); } catch (Exception ex) { return(new { status = "error", mensaje = ex.Message }); } }
public object validacionSIF([FromBody] dynamic objetoRecibido)// objetoRecibido = {cod_entidad:cod_entidad} { try { // my code string token = HttpHelpers.GetTokenFromHeader(HttpContext); if (token == "") { return(Unauthorized()); } Base helper = new Base(AppSettings, token, HttpContext.Connection.RemoteIpAddress.ToString()); if (helper.Role == "carga_informacion") { objetoRecibido.cod_entidad = helper.CiaId; } inicializaDatos(objetoRecibido.cod_entidad.ToString()); this.archivosEntidadCadena = ArchivosController.encadenaArchivosDeEntidadMes(this.codigoEntidad, this.mesControl); // realiza la validacion_________________________________________________>>>>>> dynamic valContenido = this.realizarValidacionContenido(); int estadoValidezC = valContenido.estadoValidez; // obtiene el estado de validez que tiene seguimiento_envio ya guardado en la validacion de formato dynamic segEntidad = SgmntController.seguimientoAperturaActivaEntidad(this.codigoEntidad); int estadoValidez = Convert.ToInt16(segEntidad.estado); ////------------------------------------- se añade val EF dentro del proceso por un error al llamar en paralelo ---------------------------------------- this.cambio_2 = this.aperturaDatos.mCompra; this.cambio_4 = this.aperturaDatos.mUFV; this.cambio_5 = this.aperturaDatos.mEuroBS; this.margenEF = this.aperturaDatos.margen_partes_ef; this.factorTC = this.aperturaDatos.factor_tc; this.archivosEntidadCadena = ArchivosController.encadenaArchivosDeEntidadMes(this.codigoEntidad, this.mesControl); ////////_____________________________>>>> Validacion de Partes de Producción y Siniestros con Estados Financieros /////////////////////////////////////////// int estadoValidezEF = this.validaPartesEF(); estadoValidez = Math.Min(estadoValidez, Math.Min(estadoValidezC, estadoValidezEF)); SgmntController.modificaEstado(segEntidad.id_seguimiento_envio, estadoValidez); foreach (Error error in this.errores) { if (!error.valido) { error.id_seguimiento_envio = segEntidad.id_seguimiento_envio; ErroresController.insertarError(error); } } List <dynamic> constantes = ConstantesController.obtieneConstantesDeDimension("estado_seguimiento"); dynamic estadoSeg = constantes.Where(x => x.codigo == estadoValidez.ToString()).FirstOrDefault(); this.con.Close(); this.resultado.status = "success"; this.resultado.estadoValidez = estadoValidez; this.resultado.estadoValidez_desc = estadoSeg.valor + " - " + estadoSeg.descripcion; this.resultado.estadoValidezC = estadoValidezC; this.resultado.validoC = estadoValidezC > 2; this.resultado.datosC = this.listaValCont; this.resultado.estadoValidezEF = estadoValidezEF; this.resultado.validoEF = estadoValidezEF > 2; this.resultado.datosEF = listaValEF; return(this.resultado); } catch (Exception ex) { return(new { status = "error", mensaje = ex.Message }); } }