コード例 #1
0
ファイル: ProcesarAcciones.cs プロジェクト: jpordonez/test
        public static int Run(OptionCommand options)
        {
            switch (options.Action)
            {
            case Constantes.Instalar:

                InstallProces.Procesar();

                return(Constantes.PROCESO_EXITO);


            case Constantes.LimpiarCacheSistema:

                SystemProcess.Procesar();

                return(Constantes.PROCESO_EXITO);

            case Constantes.PromocionesEstados:

                //PromocionesEstados.Procesar();

                return(Constantes.PROCESO_EXITO);

            default:
                Console.Error.WriteLine("Acción desconocida: {0}", options.Action);
                return(Constantes.PROCESO_ERROR);
            }
        }
コード例 #2
0
        static void Main(string[] args)
        {
            try
            {
                var options = new OptionCommand();
                if (CommandLine.Parser.Default.ParseArguments(args, options))
                {
                    //1. IoC
                    IoC();

                    //2. Autentificacion
                    Autenticar(options);

                    //options.Action
                    var result = ProcesarAcciones.Run(options);

                    Environment.Exit(result);
                }
                else
                {
                    Console.WriteLine("No se proceso, existe un inconveniente");
                    Environment.Exit(Constantes.PROCESO_ERROR);
                }
            }
            catch (Exception ex)
            {
                var manejadorExcepciones = ServiceLocator.Current.GetInstance <IHandlerExcepciones>();
                manejadorExcepciones.HandleException(ex);

                Console.WriteLine(ex.Message);
            }
        }
コード例 #3
0
        private static void Autenticar(OptionCommand options)
        {
            var _application       = ServiceLocator.Current.GetInstance <IApplication>();
            var _repositoryUsuario = ServiceLocator.Current.GetInstance <IRepository <Usuario> >();
            var usuarioQuery       = _repositoryUsuario.GetQuery <Usuario>();
            var usuario            = usuarioQuery.FirstOrDefault(u => u.Cuenta == options.Usuario);

            if (usuario == null)
            {
                throw new GenericException("No existe el usuario: " + options.Usuario, "No existe el usuario: " + options.Usuario);
            }
            _application.SetCurrentUser(usuario);
            var rolAdmin = usuario.Roles.FirstOrDefault(r => r.Codigo == options.Rol);

            if (rolAdmin == null)
            {
                var mensaje = string.Format("El usuario: {0} no posee rol {1}, no se puede ejecutar el proceso", options.Usuario, options.Rol);
                throw new GenericException(mensaje, mensaje);
            }
            _application.SetCurrentRol(rolAdmin);
        }