示例#1
0
        public static string BuyNumber(User user, long region)
        {
            var regions = new List <long>()
            {
                1, 2, 102, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 113, 14, 15, 16, 116, 716, 17, 18, 19, 20, 121, 22, 23, 93, 123, 193, 24, 84, 88, 124, 25, 125, 26, 126, 27, 28, 29, 30, 31, 32, 33, 34, 134, 35, 36, 136, 37, 38, 85, 138, 39, 91, 40, 41, 42, 142, 43, 44, 45, 46, 47, 147, 48, 49, 50, 90, 150, 190, 750, 51, 52, 152, 53, 54, 154, 55, 56, 156, 57, 58, 59, 81, 159, 60, 61, 161, 761, 62, 63, 163, 763, 64, 164, 65, 66, 96, 196, 67, 68, 69, 70, 71, 72, 73, 173, 74, 174, 75, 80, 76, 77, 97, 99, 177, 197, 199, 777, 797, 799, 78, 98, 178, 198, 79, 82, 83, 86, 186, 87, 89, 92, 94, 95
            };

            var character = new List <string>()
            {
                "А", "В", "Е", "К", "М", "Н", "О", "Р", "С", "Т", "Х"
            };

            if (regions.All(r => r != region))
            {
                return("❌ Такого региона не существует.");
            }

            var api = Main.Api;

            if (user.Money >= 10000)
            {
                api.Users.RemoveMoney(user.Id, 10000);
                using (var db = new Database())
                {
                    var number = new NumberCar();
                    number.Id     = db.NumbersCars.Count() + 1;
                    number.Owner  = user.Id;
                    number.CarId  = 0;
                    number.Region = region.ToString();
                    var r  = new Random();
                    var c1 = r.Next(0, character.Count);
                    var c2 = r.Next(0, character.Count);
                    var c3 = r.Next(0, character.Count);
                    number.Number = $"{character[c1]}{r.Next(1,999)}{character[c2]}{character[c3]}|{region}";
                    db.NumbersCars.Add(number);
                    var garages = db.Garages.Single(g => g.UserId == user.Id);
                    garages.Numbers += $"{number.Id};";
                    db.SaveChanges();
                    return($"✔ Вы купили номер: {number.Number}");
                }
            }
            else
            {
                return("❌ У Вас недостаточно денег.");
            }
        }
示例#2
0
        public static string Sell(User user, long userId, IMessageSenderService sender, long money)
        {
            if (user.Id == userId)
            {
                return("❌ Вы не можете продать сами себе.");
            }
            NumberCar number = null;

            using (var db = new Database())
            {
                if (!db.Users.Any(u => u.Id == userId))
                {
                    return("❌ Пользователь с таким Id не найден.");
                }
                var sellNumber = db.SellNumbers.Single(n => n.IsClose && n.OwnerId == user.Id);
                sellNumber.BuynerId = userId;
                number = db.NumbersCars.Single(c => c.Id == sellNumber.NumberId);
                db.SaveChanges();
            }
            var helper = new UsersHelper();
            var user2  = Main.Api.Users.GetUserFromId(userId);

            if (user2.VkId != 0)
            {
                if (sender.Platform == MessengerPlatform.Vkontakte)
                {
                    sender.Text($"❗ Вам пользователь {helper.GetLink(user2)} предлагает купить свой автомобильный номер {number.Number} за {money} рублей" +
                                $"\n  ❓ Чтобы согласиться или отказать, перейдите в раздел ????", user2.VkId);
                }
                else
                {
                    return("❌ Мы не можем отправить приглашение этому пользователю");
                }
            }

            else
            {
                return("❌ Телеграм не поддерживается.");
            }

            return("✔ Мы отправили запрос о продаже авто. Вам прийдет уведомление о решении.");
        }