public Boolean APROBAR(decimal _COD_SOPORTE, Boolean _APROBADO, String _USUARIO, int COD_RETIRO) { try { string INFO = ("Iniciando Método APROBAR por _COD_SOPORTE : " + _COD_SOPORTE); log.Info("CODIGO : LGSO2," + INFO); Thread HILO = new Thread(() => TRAZA.DEPURAR_TRAZA("LGRE2", log.Logger.Name, "APROBAR", INFO)); HILO.Start(); _REPOSITORIO.APROBAR_SOPORTE_POR_CODIGO(_COD_SOPORTE, _APROBADO, _USUARIO); _REPOSITORIO.GUARDAR(); //pregunte si siene soportes TIPO_SOPORTE LOGICA_TIPO_SOPORTE = new TIPO_SOPORTE();//PREGUNTAR SI ES REQUERIDO IEnumerable <MODELO_DATOS.TIPO_SOPORTES> TIPOS_SOPORTES; TIPOS_SOPORTES = null; IRETIROS_REP _REPOSITORIO_RETIRO = new RETIROS_REP(new CONTEXTO()); if (_REPOSITORIO_RETIRO.CONSULTAR_SOPORTES(COD_RETIRO).Where(SOPORTE => SOPORTE.APROBADO == false).ToList().Count > 0) { RETIROS RETIRO = _REPOSITORIO_RETIRO.CONSULTAR_RETIRO_POR_CODIGO(COD_RETIRO);//.ESTADOS.NOMBRE; string ESTADO_RETIRO = RETIRO.ESTADOS.NOMBRE; decimal _COD_CAUSA_RETIRO = RETIRO.COD_ESTADO_RETIRO; bool REQUERIDO = _REPOSITORIO.CONSULTA_SOPORTE_POR_CODIGO(COD_RETIRO).REQUERIDO; if (ESTADO_RETIRO == "Documentos Aprobados") { var d = _REPOSITORIO_RETIRO.CONSULTAR_SOPORTES(COD_RETIRO).Where(SOPORTE => SOPORTE.APROBADO == false).ToArray(); TIPOS_SOPORTES = LOGICA_TIPO_SOPORTE.CONSULTAR(_COD_CAUSA_RETIRO).ToList(); /*validar cuando son requeridos */ if (TIPOS_SOPORTES.Where(T => T.COD_TIPO_SOPORTE == d[0].COD_TIPO_SOPORTE && T.REQUERIDO == true).ToList().Count > 0) { _REPOSITORIO_RETIRO.APROBAR_RETIRO_POR_CODIGO(COD_RETIRO, _APROBADO, _USUARIO, ESTADO_RETIRO); _REPOSITORIO_RETIRO.GUARDAR(); } } } return(true); } catch (Exception ex) { log.ErrorFormat("CODIGO : LGSO2, Método APROBAR por _COD_SOPORTE : {0}, {1} ", _COD_SOPORTE, ex.StackTrace); ex.HelpLink = (ex.HelpLink == "" || ex.HelpLink == null ? "LGSO2" : ex.HelpLink); Thread HILO = new Thread(() => ERROR.ERROR_TRAZA(ex.HelpLink, log.Logger.Name, ex.TargetSite.Name, ex.StackTrace)); HILO.Start(); throw ex; } }
public Boolean APROBAR(decimal _COD_RETIRO, String _USUARIO) { try { string INFO = ("Iniciando Método APROBAR, por _COD_RETIRO : " + _COD_RETIRO); log.Info("CODIGO : LGRE6," + INFO); Thread HILO = new Thread(() => TRAZA.DEPURAR_TRAZA("LGRE6", log.Logger.Name, "APROBAR", INFO)); HILO.Start(); bool _APROBADO = false; // decimal _COD_ESTADO = 0; TIPO_SOPORTE LOGICA_TIPO_SOPORTE = new TIPO_SOPORTE();//PREGUNTAR SI ES REQUERIDO IEnumerable <MODELO_DATOS.TIPO_SOPORTES> TIPOS_SOPORTES; TIPOS_SOPORTES = null; string ESTADO_RETIRO = (_REPOSITORIO.CONSULTAR_RETIRO_POR_CODIGO(_COD_RETIRO).ESTADOS.NOMBRE); if (_REPOSITORIO.CONSULTAR_SOPORTES(_COD_RETIRO).Where(SOPORTE => SOPORTE.APROBADO == false).ToList().Count > 0) { log.Info("CODIGO : LGRE6, Finalizado con éxito Método APROBAR, por _COD_RETIRO : " + _COD_RETIRO); if (ESTADO_RETIRO == "Documentos Aprobados") { /*codigo cuando el soporte no es requerido aprobar*/ decimal _COD_CAUSA_RETIRO = CONSULTAR(Convert.ToInt32(_COD_RETIRO)).COD_CAUSA_RETIRO; var TIENE_SOPORTE_REQUERIDO = _REPOSITORIO.CONSULTAR_SOPORTES(_COD_RETIRO).Where(SOPORT => SOPORT.APROBADO == false).ToArray(); TIPOS_SOPORTES = LOGICA_TIPO_SOPORTE.CONSULTAR(_COD_CAUSA_RETIRO).ToList(); /*si faltan soportes requeridos */ if (TIPOS_SOPORTES.Where(T => T.COD_TIPO_SOPORTE == TIENE_SOPORTE_REQUERIDO[0].COD_TIPO_SOPORTE && T.REQUERIDO == true).ToList().Count > 0) { _REPOSITORIO.APROBAR_RETIRO_POR_CODIGO(_COD_RETIRO, _APROBADO, _USUARIO, ESTADO_RETIRO); _REPOSITORIO.GUARDAR(); } //return false; } return(false); } else { if (ESTADO_RETIRO == "Documentos Aprobados") { ESTADO_RETIRO = "Registrado"; } _REPOSITORIO.APROBAR_RETIRO_POR_CODIGO(_COD_RETIRO, _APROBADO, _USUARIO, ESTADO_RETIRO); _REPOSITORIO.GUARDAR(); log.Info("CODIGO : LGRE6, Finalizado con éxito Método APROBAR, por _COD_RETIRO : " + _COD_RETIRO); return(true); } } catch (Exception ex) { log.ErrorFormat("CODIGO : LGRE6, Método APROBAR con el COD_RETIRO : {0}, {1} ", _COD_RETIRO, ex.StackTrace); ex.HelpLink = (ex.HelpLink == "" || ex.HelpLink == null ? "LGRE6" : ex.HelpLink); Thread HILO = new Thread(() => ERROR.ERROR_TRAZA(ex.HelpLink, log.Logger.Name, ex.TargetSite.Name, ex.StackTrace)); HILO.Start(); throw ex; } }