Ejemplo n.º 1
0
        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;
            }
        }
Ejemplo n.º 2
0
        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;
            }
        }