Example #1
0
        static void Main(string[] args)
        {
            var client       = new ReminderStorageWebApiClient("https://localhost:5001");
            var reminderItem = new ReminderItemRestricted
            {
                ContactId = "TestContactId",
                Date      = DateTimeOffset.Now,
                Message   = "Test Message"
            };

            Guid id = client.Add(reminderItem);

            Console.WriteLine("Adding done");

            var reminderItemFromStorage = client.Get(id);

            Console.WriteLine(
                "Reading done:\n" +
                $"{reminderItemFromStorage.Id}\n" +
                $"{reminderItemFromStorage.ContactId}\n" +
                $"{reminderItemFromStorage.Date}\n" +
                $"{reminderItemFromStorage.Message}\n");

            Console.ReadKey();
        }
Example #2
0
        static void Main()
        {
            var    config = new ConfigurationBuilder().AddJsonFile("settings.json").Build();
            string token  = config["TelegramToken"];
            string apiUrl = config["RemindersWebApiUrl"];
            //botID = "1467408776"

            var storage = new ReminderStorageWebApiClient(apiUrl);

            var sender   = new TelegramReminderSender(token);
            var receiver = new TelegramReminderReceiver(token);

            using var domain = new ReminderDomain(storage, receiver, sender, TimeSpan.FromSeconds(1), TimeSpan.FromSeconds(1));

            domain.SendingSucceeded += Domain_SendingSucceeded;
            domain.SendingFailed    += Domain_SendingFailed;
            domain.ParsingFailed    += Domain_ParsingFailed;
            domain.AddingSucceeded  += Domain_AddingSucceeded;
            domain.AddingFailed     += Domain_AddingFailed;

            domain.Run();

            Console.WriteLine("Domain logic running...");
            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            // read configuration

            IConfiguration config = new ConfigurationBuilder()
                                    .AddJsonFile("appsettings.json", true, true)
                                    .Build();

            var storageWebApiUrl         = config["storageWebApiUrl"];
            var telegramBotApiToken      = config["telegramBot.ApiToken"];
            var telegramBotUseProxy      = bool.Parse(config["telegramBot.UseProxy"]);
            var telegramBotProxyHost     = config["telegramBot.Proxy.Host"];
            var telegramBotProxyPort     = int.Parse(config["telegramBot.Proxy.Port"]);
            var telegramBotProxyLogin    = config["telegramBot.Proxy.Login"];
            var telegramBotProxyPassword = config["telegramBot.Proxy.Password"];

            // create objects for DI
            var reminderStorage = new ReminderStorageWebApiClient(storageWebApiUrl);

            IWebProxy telegramProxy = null;

            if (telegramBotUseProxy)
            {
                telegramProxy = new HttpToSocks5Proxy(
                    telegramBotProxyHost,
                    telegramBotProxyPort,
                    telegramBotProxyLogin,
                    telegramBotProxyPassword);
            }

            var reminderReceiver = new TelegramReminderReceiver(telegramBotApiToken, telegramProxy);
            var reminderSender   = new TelegramReminderSender(telegramBotApiToken, telegramProxy);

            // create and setup domain logic object

            var reminderDomain = new ReminderDomain(
                reminderStorage,
                reminderReceiver,
                reminderSender);

            reminderDomain.AddingSuccedded += ReminderDomain_AddingSuccedded;
            reminderDomain.SendingSucceded += ReminderDomain_SendingSucceded;
            reminderDomain.SendingFailed   += ReminderDomain_SendingFailed;

            // run

            reminderDomain.Run();

            string hello = reminderReceiver.GetHelloFromBot();

            Console.WriteLine(
                $"Reminder application is running...\n" +
                $"{hello}\n" +
                "Press [Enter] to shutdown.");

            Console.ReadLine();
        }
Example #4
0
        static void Main(string[] args)
        {
            IReminderStorage storageClient = new ReminderStorageWebApiClient(
                "http://localhost:5000/api/reminders");

            // Check that without data storage returns empty list
            var emptyList = storageClient.Get(ReminderItemStatus.Awaiting);

            if (emptyList == null || emptyList.Count > 0)
            {
                throw new Exception();
            }

            // Add reminder item
            var id = storageClient.Add(
                DateTimeOffset.Now.AddMinutes(1),
                "Test Message",
                "12345678",
                ReminderItemStatus.Awaiting);

            // Check that just added reminder item returned by ID
            var item = storageClient.Get(id);

            if (item == null)
            {
                throw new Exception();
            }

            // Check that just added reminder item returned by status
            var awaitngList = storageClient.Get(ReminderItemStatus.Awaiting);

            if (awaitngList == null || awaitngList.Count != 1)
            {
                throw new Exception();
            }

            // Check that Get() by status returns empty list if no corresponding items found
            var readyList = storageClient.Get(ReminderItemStatus.Ready);

            if (readyList == null || readyList.Count != 0)
            {
                throw new Exception();
            }

            // Update item's status
            storageClient.Update(id, ReminderItemStatus.Failed);

            // Check that Get() by status returns not empty list
            var faliedList = storageClient.Get(ReminderItemStatus.Failed);

            if (faliedList == null || faliedList.Count != 1)
            {
                throw new Exception();
            }
        }
Example #5
0
        static void Main()
        {
            var client       = new ReminderStorageWebApiClient("https://localhost:5001");
            var reminderItem = new ReminderItem
            {
                ContactId = "TestContactId",
                Date      = DateTimeOffset.Now,
                Message   = "Test message"
            };

            client.Add(reminderItem);
        }
Example #6
0
        static void Main(string[] args)
        {
            var client       = new ReminderStorageWebApiClient("https://localhost:5001");
            var reminderItem = new ReminderItem
            {
                ContactId = "TestContactId",
                Date      = DateTimeOffset.Now,
                Message   = "Test"
            };

            client.Add(reminderItem);

            Console.WriteLine("f");
        }
Example #7
0
        static void Main(string[] args)
        {
            Console.WriteLine("Telegram Bot Application!");

            var storage = new ReminderStorageWebApiClient(
                "http://localhost:5000/api/reminders");

            //string token = "633428988:AAHLW_LaS7A47PDO2I8sbLkIIM9L0joPOSQ";
            string token = "697789387:AAFzSKZg8GmR-_aMktYSwcz0kKiL1D7__ww";

            IWebProxy proxy = new HttpToSocks5Proxy(
                "proxy.golyakov.net", 1080);

            //var receiver = new TelegramReminderReceiver(token);
            var receiver = new TelegramReminderReceiver(token, proxy);

            var domain = new ReminderDomain(storage, receiver);

            var sender = new TelegramReminderSender(token, proxy);

            //var sender = new TelegramReminderSender(token);

            domain.SendReminder = (ReminderItem ri) =>
            {
                sender.Send(ri.ContactId, ri.Message);
            };

            domain.MessageReceived          += Domain_MessageReceived;
            domain.MessageParsingSuccedded  += Domain_MessageParsingSuccedded;
            domain.MessageParsingFailed     += Domain_MessageParsingFailed;
            domain.AddingToStorageSuccedded += Domain_AddingToStorageSuccedded;
            domain.AddingToStorageFailed    += Domain_AddingToStorageFailed;
            domain.SendingFailed            += Domain_SendingFailed;

            domain.Run();

            Console.WriteLine("Press any key to exit.");
            Console.ReadKey();
        }
Example #8
0
        static void Main()
        {
            var client       = new ReminderStorageWebApiClient("https://localhost:44348");
            var reminderItem = new ReminderItem
            {
                ContactId = "TestContactId",
                Date      = DateTimeOffset.Now,
                Message   = "Test message",
                Status    = ReminderItemStatus.Ready
            };

            var reminderItem1 = new ReminderItem
            {
                ContactId = "TestContactId1",
                Date      = DateTimeOffset.Now,
                Message   = "Test message1",
                Status    = ReminderItemStatus.Ready
            };

            var reminderItem2 = new ReminderItem
            {
                ContactId = "TestContactId2",
                Date      = DateTimeOffset.Now,
                Message   = "Test message2",
                Status    = ReminderItemStatus.Sent
            };

            //client.Add(reminderItem);
            // client.Add(reminderItem1);
            // client.Add(reminderItem2);
            Console.WriteLine("Hello");

            var List = new List <Guid>()
            {
                Guid.Parse("00000000-0000-0000-0000-000000000000"), Guid.Parse("10000000-0000-0000-0000-000000000001"), Guid.Parse("20000000-0000-0000-0000-000000000002")
            };

            client.UpdateStatus(List, ReminderItemStatus.Failed);
        }
        static void Main(string[] args)
        {
            var client = new ReminderStorageWebApiClient("https://localhost:5001");

            var reminderItem = new ReminderItemRestricted()
            {
                Date      = DateTimeOffset.Now,
                ContactId = "TestContactId",
                Message   = "TestMessage"
            };

            // где-то здесь в методе Add в storage id присываивается не тот, который нужен
            var id = client.Add(reminderItem);

            Console.WriteLine("Adding done");

            var reminderItemFromStorage = client.Get(id);

            Console.WriteLine($"Reading done:\n" +
                              $"{reminderItemFromStorage.Id}\n" +
                              $"{reminderItemFromStorage.Date}\n" +
                              $"{reminderItemFromStorage.ContactId}\n" +
                              $"{reminderItemFromStorage.Message}\n");
        }