Example #1
0
        private static async void Run(UzClient uzClient, TelegramBot telebot)
        {
            telebot.Start();

            await uzClient.LoadScans(_settings.Temp);

            uzClient.StartScan();
        }
Example #2
0
        public async Task <BookPlacesResponse> BookPlacesAsync(UzContext uzContext, TicketCheckResult checkResult, Request request)
        {
            var uzClient = new UzClient();

            Tuple <Train, Wagon> cheapestTrainAndWagon = GetCheapestTrainAndWagon(checkResult);
            Train train = cheapestTrainAndWagon.Item1;
            Wagon wagon = cheapestTrainAndWagon.Item2;

            BookPlacesResponse bookingResult =
                await uzClient.BookPlaceAsync(uzContext, train.StationFrom.Id, train.StationTo.Id,
                                              train.StationFrom.DateTime,
                                              train.TrainNumber, wagon.Number, wagon.CoachClass, wagon.TypeCode,
                                              wagon.Places.First(), wagon.PlaceType, request.PassangerName,
                                              request.PassangerSurname);

            return(bookingResult);
        }
Example #3
0
 public void SetUp()
 {
     _uzClient = new UzClient();
 }
Example #4
0
 public StationsController()
 {
     UZ = new UzClient();
 }
Example #5
0
 public PlacesController()
 {
     UZ = new UzClient();
 }
Example #6
0
 public TrainsController()
 {
     UZ = new UzClient();
 }
Example #7
0
 public WagonsController()
 {
     UZ = new UzClient();
 }
Example #8
0
 public TicketChecker()
 {
     _uzClient     = new UzClient();
     _ticketBooker = new TicketBooker();
 }
Example #9
0
        private static void Main(string[] args)
        {
            LogFactory.SetDefaultLog(new ConsoleLog());

            _settings = _settingsProvider.GetSettings();

            var uzClient = new UzClient(_settings.BaseUrl, _settings.SessionCookie);
            var telebot  = new TelegramBot(_settings.BotToken, _settings.MasterChatID);

            using (var locker = new AutoResetEvent(false))
            {
                var closure = new Closure(uzClient, telebot, locker);

                Console.OutputEncoding  = Encoding.UTF8;
                Console.CancelKeyPress += closure.CancelKeyPressHandler;

                uzClient.ScanEvent += (o, e) => telebot.SendMasterMessage(e.Message);

                Run(uzClient, telebot);

                //host.Initialize();


                //telebot.Error += (o, e) => { };

                //var provider = resolver.Get<ISettingsProvider>();
                //var settings = provider.GetSettings();
                //_proxyProvider = resolver.Get<IProxyProvider>();

                //var bot = new TelegramBotClient(settings.TeleBotKey);
                //bot.OnMessage += BotOnOnMessage;
                //bot.OnReceiveError += (sender, eventArgs) => Console.WriteLine("Bot receive error:{0}{1}", Environment.NewLine, eventArgs.ApiRequestException);
                //bot.OnReceiveGeneralError += (sender, eventArgs) => Console.WriteLine("Bot general receive error:{0}{1}", Environment.NewLine, eventArgs.Exception);

                //host.Started += (sender, eventArgs) => bot.StartReceiving();
                //host.Stopping += (sender, eventArgs) => bot.StopReceiving();
                //host.Stopped += (sender, eventArgs) => locker.Set();

/*
 *                              var assembly = Assembly.GetExecutingAssembly();
 *                              var asmName = assembly.GetName().Name;
 *                              var builder = resolver.Get<IStateMachineBuilder<TestState, StateMachineStuff, string>>();
 *                              IStateMachine<TestState, StateMachineStuff, string> sm;
 *
 *                              using (var str = assembly.GetManifestResourceStream($"{asmName}.Properties.testmachine.scxml"))
 *                              {
 *                                      sm = builder.BuildFromXml(str, new StateMachineStuff());
 *                              }
 *
 * //				var sm = resolver.Get<IStateMachineBuilder<DayOfWeek, EventArgs, string>>()
 * //							.AddDefaultStates((e, dw, inp) => Console.WriteLine($"Came here by input: {inp}"), null, null)
 * //							.AddTransition(DayOfWeek.Sunday, DayOfWeek.Monday, (e, dw, dwNew, inp) => true)
 * //							.Build(EventArgs.Empty);
 * //				sm.MoveNext("test");
 */
                //RunBot(bot, locker);
                //host.Start();

                /*
                 * string inp;
                 *
                 *
                 * while (!String.IsNullOrEmpty(inp = Console.ReadLine()))
                 * {
                 *      sm.MoveNext(inp);
                 * }
                 */
                locker.WaitOne();

                Console.WriteLine("Got shutdown signal. Stopping application...");
                Console.CancelKeyPress -= closure.CancelKeyPressHandler;
            }
        }
Example #10
0
 public Closure(UzClient uzClient, TelegramBot bot, AutoResetEvent locker)
 {
     _uzClient = uzClient;
     _bot      = bot;
     _locker   = locker;
 }
Example #11
0
 public RequestController()
 {
     UZ = new UzClient();
 }