示例#1
0
        private static void ProcessGetXmlCommand(GetXmlVerb options)
        {
#if DEBUG
            Console.Out.WriteLine("options.FilterCondition = {0}", options.FilterCondition);
            Console.Out.WriteLine("options.OrderingCondition = {0}", options.OrderingCondition);
#endif
            IDCCClientWorker clientWorker = IoC.Resolve <IDCCXmlClientWorker>();

            ProcessOutgoingRequest(options, clientWorker);
        }
示例#2
0
        private static void ProcessOutgoingRequest(GetVerb options, IDCCClientWorker clientWorker)
        {
            try
            {
                clientWorker.Initialize();

                clientWorker.MakeRequest(
                    options.DataType,
                    options.DataFormat.ToString(),
                    options.FilterCondition,
                    options.OrderingCondition,
                    options.Timeout);

                bool valid = true;

                if (!string.IsNullOrWhiteSpace(options.SchemaPath))
                {
                    valid = clientWorker.ValidateResponseAgainstSchema(options.SchemaPath);

                    string dataType = options.DataFormat.ToString();

                    if (!valid)
                    {
                        Console.Out.WriteLine($"Received {dataType} is NOT valid!");
                        return;
                    }
                    else
                    {
                        string nL = Environment.NewLine;
                        Console.Out.WriteLine($"Received {dataType} is VALID!{nL}");
                    }
                }

                string response = clientWorker.GetResponse();
                Console.Out.WriteLine(response);
            }
            catch (Exception)
            {
                Console.Out.WriteLine("An error occurred while retrieving data...");
                Console.Out.WriteLine("Application terminated.");
            }
            finally
            {
                // If do not terminate App manually, then end user would have to do it by pressing ^C (CTRL+C).
                Environment.Exit(0);
            }
        }