Пример #1
0
        public static IrbisVersion ParseServerResponse
        (
            [NotNull] ServerResponse response
        )
        {
            Sure.NotNull(response, nameof(response));

            List <string> lines  = response.RemainingAnsiStrings();
            IrbisVersion  result = ParseServerResponse(lines);

            return(result);
        }
Пример #2
0
        static int Main(string[] args)
        {
            if (args.Length < 2)
            {
                Console.WriteLine("AnyCmd <connection-string> " +
                                  "<command-code> [command-args]");

                return(1);
            }

            try
            {
                string connectionString = args[0];

                using (IrbisConnection connection
                           = new IrbisConnection(connectionString))
                {
                    string   commandCode = args[1];
                    object[] commandArguments
                        = args.GetSpan(2, args.Length - 2)
                          .Cast <object>()
                          .ToArray();

                    ServerResponse response
                        = connection.ExecuteArbitraryCommand
                          (
                              commandCode,
                              commandArguments
                          );

                    File.WriteAllBytes
                    (
                        "anycmd.txt",
                        response.RawAnswer
                    );

                    List <string> lines = response.RemainingAnsiStrings();
                    foreach (string line in lines)
                    {
                        Console.WriteLine(line);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
                return(1);
            }

            return(0);
        }
Пример #3
0
        /// <inheritdoc cref="AbstractCommand.Execute"/>
        public override ServerResponse Execute
        (
            ClientQuery query
        )
        {
            Sure.NotNull(query, nameof(query));

            ServerResponse result = base.Execute(query);

            List <string> files = result.RemainingAnsiStrings();

            Files = files.SelectMany
                    (
                line => IrbisText.IrbisToWindows(line).SplitLines()
                    )
                    .ToArray();

            return(result);
        }