Example #1
0
        public int Run(RootArguments args)
        {
            if (args.PrintVersion)
            {
                PrintVersion();
                return(0);
            }

            if (args.PrintHelp)
            {
                PrintHelp();
                return(0);
            }

            return(1);
        }
Example #2
0
        /// <summary>
        /// Handles the <see cref="RootCommand"/>.
        /// </summary>
        /// <param name="args">The arguments.</param>
        /// <param name="console">The console.</param>
        /// <returns>The operation result code.</returns>
        internal static int Handle(RootArguments args, IConsole console)
        {
            try
            {
                IEnumerable <IHash> hashAlgos = InitHashAlgos();

                IEnumerable <HashResult> hashes = ComputeHashes(hashAlgos, args.Input, args.Algorithms);

                if (args.Json)
                {
                    PrintResultsAsJson(args.Input, hashes, console);

                    return(0);
                }

                if (args.Xml)
                {
                    PrintResultsAsXml(args.Input, hashes, console);

                    return(0);
                }

                PrintResults(hashes, console);

                if (!string.IsNullOrEmpty(args.Compare))
                {
                    PrintComparison(hashes, args.Compare, console);
                }

                return(0);
            }
            catch (ArgumentException e)
            {
                console.WriteError(e.Message);

                return(1);
            }
        }