コード例 #1
0
        static void Main(string[] args)
        {
            int    age      = 120;
            string ageBlock = "";

            switch (age)
            {
            case 50:
                ageBlock = "the big five-oh";
                break;

            case var testAge when(new List <int>()
                                  { 80, 81, 82, 83, 84, 85, 86, 87, 88, 89 }).Contains(testAge):
                ageBlock = "octogenarian";

                break;

            case var testAge when((testAge >= 90)& (testAge <= 99)):
                ageBlock = "nonagenarian";

                break;

            case var testAge when(testAge >= 100):
                ageBlock = "centenarian";

                break;

            case var testAge when(testAge >= 110):
                ageBlock = "centenarian +";

                break;

            default:
                ageBlock = "just old";
                break;
            }


            return;

            var dbContext  = new  AutoBotContext();
            var dbContext2 = new AutoBotContext();


            var srv = new ShtrafiUserService(dbContext);
            var res = srv.RegisterDocumentSetToCheck(dbContext2.Users.FirstOrDefault(), "1621390815", "test doc set name",
                                                     "1630048283");

            return;


            var userTelegrammId = "TestUser";

            var clientId = "R413393879901";
            var key      = "dfS3s4Gfadgf9";
            var operType = 1;
            var hash     = "7f710ee37c3ff2e3587e1e1acff60ed5";



            Console.WriteLine("starting to connect...");
            var client = new RestSharp.RestClient(" https://www.elpas.ru/api.php");

            Console.WriteLine("Приветствуем вас в сервисе оплаты штрафов. У нас можно платить штрафы гибдд с низкой комиссией (10%, мин 30р). Оплата производится на надёжном сайте-партнере (moneta.ru), вы не вводите данные карт в чат.");
            Console.WriteLine("Пожалуйста введите номер свидетельства о регистрации ТС");
            var sts = Console.ReadLine();

            sts = "1621390860";

            //todo: add validation
            Console.WriteLine("Вы можете также ввести номер водительского удостоверения, это повысит вероятность поиска штрафов. Либо просто отправьте 0");
            var vu = Console.ReadLine();

            if (vu == "0")
            {
                vu = null;
            }

            var req = new RestSharp.RestRequest();

            req.AddParameter("top", "1");
            req.AddParameter("id", "R413393879901");
            req.AddParameter("hash", "7f710ee37c3ff2e3587e1e1acff60ed5");
            req.AddParameter("type", "10");
            req.AddParameter("sts", sts);
            if (vu != null)
            {
                req.AddParameter("vu", vu);
            }

            // req.Parameters.Add(new Parameter(){Name = });

            var resp = client.Post(req);
            var cont = resp.Content;

            var pays = JsonConvert.DeserializeObject <CheckPayResponse>(cont);

            //todo: add check on -1 error and 500 and repeat call if needed

            if (pays?.Err == -4)
            {
                Console.WriteLine("Штрафы не найдены. Обратите внимание что это не гарантирует на 100% их отсутсвие. Рекомендуем повторить проверку через какое-то время");
                Console.ReadLine();
            }

            var payCount = pays?.L.Count;

            if (payCount != 0)
            {
                if (payCount == 1)
                {
                    Console.WriteLine("У вас найден штраф:");
                }
                else
                {
                    Console.WriteLine($"У вас найдено {payCount} штрафов:");
                }
                int i = 1;
                foreach (var pay in pays.L)
                {
                    Console.WriteLine(i + ": " + pay.Value);
                    i++;
                }
            }

            Console.WriteLine("Перечислите номера штрафов или введите \"все\" чтобы оплатить все штрафы.");
            if (Console.ReadLine().Contains("все"))
            {
                var zkzReq = new RestSharp.RestRequest();
                zkzReq.AddParameter("top", "2");
                zkzReq.AddParameter("id", "R413393879901");
                zkzReq.AddParameter("hash", "7116af7911c223750ce58d22948f7fd8");
                zkzReq.AddParameter("type", "10");
                zkzReq.AddParameter("sts", sts);
                zkzReq.AddParameter("vu", vu);

                //начисления
                var paysJson = JsonConvert.SerializeObject(pays.L);
                zkzReq.AddParameter("l", paysJson);

                zkzReq.AddParameter("name1", "Степанов");
                zkzReq.AddParameter("name2", "Андрей");
                zkzReq.AddParameter("email", "*****@*****.**");

                zkzReq.AddParameter("flmon", "1");
                zkzReq.AddParameter("flnonotice", "1");


                var zkzResp = client.Post(zkzReq);
                var zkzCont = zkzResp.Content;
                var zkz     = JsonConvert.DeserializeObject <CreateZakazResponse>(zkzCont);

                if (zkzResp != null)
                {
                    Console.WriteLine($"Для оплаты перейдите по ссылке: {zkz.Urlpay}");
                }

                //register and check
                var  bll            = new ShtrafiBLL.ShtrafiUserService(new AutoBotContext());
                var  usr            = bll.GetUserByMessengerId(userTelegrammId);
                User registeredUser = new User();
                if (usr == null)
                {
                    registeredUser = bll.RegisterUserAfterFirstPay(userTelegrammId, "имя", "фамилия", sts, "");
                }
                Console.WriteLine($"User registered, id is {registeredUser.Id}");

                Console.WriteLine("нажмите любую кнопку чтоб отменить подписку");

                bll.ToggleDocumentSetForSubscription(registeredUser.DocumentSetsTocheck.FirstOrDefault(), false);

                Console.ReadLine();

                /* var cont = resp.Content;
                 *
                 * var pays = JsonConvert.DeserializeObject<CheckPayResponse>(cont);*/
            }

            Console.ReadLine();
        }
コード例 #2
0
 public ShtrafiUserService(AutoBotContext _autoBotContext)
 {
     this._autoBotContext = _autoBotContext;
 }