Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public async Task BuyNumber(string Service, string SelectService, bool call = false)
- {
- bool NoBalance = true;
- var service = ListService().FirstOrDefault(x => x.ID_List == Service);
- var Country = ListCountry().FirstOrDefault(x => x.ID_List == User.CountryDefault);
- if (SelectService.Contains("buy1") && User.Balance >= db.ActivateModel.FirstOrDefault(x => x.IdList == Service).Cost)
- {
- await BuyActivate(service.ID_Activate, Country.ID_Activate, service, Country, call, SelectService);
- string Number = User.Number; string Data = User.Data;
- ServiceReadySms(Number, Data, SelectService); // Ждёт завершения метода, а надо чтобы работало без ожидания
- NoBalance = false;
- }
- if (SelectService.Contains("buy2") && call == false && User.Balance >= db.SmsHModel.FirstOrDefault(x => x.IdList == Service).Cost)
- {
- await BuySmsH(service.ID_SmsHub, Country.ID_Sms, service, Country, SelectService);
- string Number = User.Number; string Data = User.Data;
- ServiceReadySms(Number, Data, SelectService); // Ждёт завершения метода, а надо чтобы работало без ожидания
- //Test();
- NoBalance = false;
- }
- if (SelectService.Contains("buy3") && User.Balance >= db.FiveSimModel.FirstOrDefault(x => x.IdList == Service).Cost)
- {
- await BuyFive(service.ID_FiveSim, Country.ID_Five, service, Country, call, SelectService);
- string Number = User.Number; string Data = User.Data;
- ServiceReadySms(Number, Data, SelectService); // Ждёт завершения метода, а надо чтобы работало без ожидания
- NoBalance = false;
- }
- if(NoBalance)
- {
- await SendNoBalance();
- return;
- }
- await SaveStatisticks(Service, SelectService);
- }
- using Get_bot.Sms;
- using Get_bot.Keyboards;
- using Sms_code_libray;
- using Telegram.Bot;
- using Telegram.Bot.Types.Enums;
- using Telegram.Bot.Types.ReplyMarkups;
- namespace Get_bot.Bot.Client
- {
- public partial class UserClient : SmsGet
- {
- public async void ServiceReadySms(string Number, string ActivationId, string SelectService, int CodeCounter = 0)
- {
- try
- {
- using (Context context = new())
- {
- var user = context.User.FirstOrDefault(x => x.ID == chatId);
- user.ReuseCode = true;
- lock (this)
- context.SaveChanges();
- if (SelectService.Contains("buy1"))
- {
- var message = MessageActivate(Number, ActivationId, user, CodeCounter).Result;
- await client.SendTextMessageAsync(chatId, message.Message, replyMarkup: message.Inline, parseMode: ParseMode.Markdown);
- }
- if (SelectService.Contains("buy2"))
- {
- var message = MessageActivate(Number, ActivationId, user, CodeCounter).Result;
- await client.SendTextMessageAsync(chatId, message.Message, replyMarkup: message.Inline, parseMode: ParseMode.Markdown);
- }
- if (SelectService.Contains("buy3"))
- {
- var message = MessageActivate(Number, ActivationId, CodeCounter, user).Result;
- await client.SendTextMessageAsync(chatId, message.Message, replyMarkup: message.Inline, parseMode: ParseMode.Markdown);
- }
- user.ReuseCode = false;
- lock (this)
- context.SaveChanges();
- }
- }
- catch (Exception ex)
- {
- string error = ex.ToString();
- }
- }
- async Task<(string Message, InlineKeyboardMarkup Inline)> MessageActivate(string Number, string ActivationId, UserModel.User user, int CodeCounter = 0)
- {
- string Message = ""; InlineKeyboardMarkup Inline = null!;
- ReplyKeyboards reply = new();
- if(CodeCounter > 0)
- {
- await Activate.ReuseActivation(ActivationId);
- }
- var result = await Activate.GetStatus(ActivationId, 5, 1200);
- string callback = user.CallBackSelectService;
- if (result.Success)
- {
- if (user.LangueRussia)
- {
- Message = $"*Номер:* `{Number}`\r\n*Код активации:* `{result.Code}`";
- reply.InlineValues.Add(new List<ReplyKeyboards.InlineValue>() { new ReplyKeyboards.InlineValue() { ID = callback, Value = "🔙 Назад" } });
- }
- else
- {
- Message = $"*Number:* `{Number}`\r\n*Activation code:* `{result.Code}`";
- reply.InlineValues.Add(new List<ReplyKeyboards.InlineValue>() { new ReplyKeyboards.InlineValue() { ID = callback, Value = "🔙 Back" } });
- }
- }
- else
- if (user.LangueRussia)
- {
- Message = "Время активации вышло";
- reply.InlineValues.Add(new List<ReplyKeyboards.InlineValue>() { new ReplyKeyboards.InlineValue() { ID = callback, Value = "🔙 Назад" } });
- }
- else
- {
- Message = "Activation time out";
- reply.InlineValues.Add(new List<ReplyKeyboards.InlineValue>() { new ReplyKeyboards.InlineValue() { ID = callback, Value = "🔙 Back" } });
- }
- Inline = reply.InlineGenerateButtons(reply.InlineValues);
- return (Message, Inline);
- }
- async Task<(string Message, InlineKeyboardMarkup Inline)> MessageActivate(string Number, string ActivationId, UserModel.User user, int CodeCounter = 0)
- {
- string Message = ""; InlineKeyboardMarkup Inline = null!;
- ReplyKeyboards reply = new();
- if (CodeCounter > 0)
- {
- await Activate.ReuseActivation(ActivationId);
- }
- var result = Activate.GetStatus(ActivationId, 5, 1200).Result;
- string callback = user.CallBackSelectService;
- if (result.Success)
- {
- if (user.LangueRussia)
- {
- Message = $"*Номер:* `{Number}`\r\n*Код активации:* `{result.Code}`";
- reply.InlineValues.Add(new List<ReplyKeyboards.InlineValue>() { new ReplyKeyboards.InlineValue() { ID = callback, Value = "🔙 Назад" } });
- }
- else
- {
- Message = $"*Number:* `{Number}`\r\n*Activation code:* `{result.Code}`";
- reply.InlineValues.Add(new List<ReplyKeyboards.InlineValue>() { new ReplyKeyboards.InlineValue() { ID = callback, Value = "🔙 Back" } });
- }
- }
- else
- if (user.LangueRussia)
- {
- Message = "Время активации вышло";
- reply.InlineValues.Add(new List<ReplyKeyboards.InlineValue>() { new ReplyKeyboards.InlineValue() { ID = callback, Value = "🔙 Назад" } });
- }
- else
- {
- Message = "Activation time out";
- reply.InlineValues.Add(new List<ReplyKeyboards.InlineValue>() { new ReplyKeyboards.InlineValue() { ID = callback, Value = "🔙 Back" } });
- }
- Inline = reply.InlineGenerateButtons(reply.InlineValues);
- return (Message, Inline);
- }
- async Task<(string Message, InlineKeyboardMarkup Inline)> MessageActivate(string Number, string ActivationId, int CodeCounter, UserModel.User user)
- {
- string Message = ""; InlineKeyboardMarkup Inline = null!;
- for(int i = 0; i <= CodeCounter; i++)
- {
- ReplyKeyboards reply = new();
- var result = await Activate.GetStatus(ActivationId, 5, 900, i);
- string callback = user.CallBackSelectService;
- if (result.Success)
- {
- if (user.LangueRussia)
- {
- Message = $"*Номер:* `{Number}`\r\n*Код активации:* `{result.Code.Sms.Last().Code}`";
- reply.InlineValues.Add(new List<ReplyKeyboards.InlineValue>() { new ReplyKeyboards.InlineValue() { ID = callback, Value = "🔙 Назад" } });
- }
- else
- {
- Message = $"*Number:* `{Number}`\r\n*Activation code:* `{result.Code.Sms.Last().Code}`";
- reply.InlineValues.Add(new List<ReplyKeyboards.InlineValue>() { new ReplyKeyboards.InlineValue() { ID = callback, Value = "🔙 Back" } });
- }
- }
- else
- if (user.LangueRussia)
- {
- Message = "Время активации вышло";
- reply.InlineValues.Add(new List<ReplyKeyboards.InlineValue>() { new ReplyKeyboards.InlineValue() { ID = callback, Value = "🔙 Назад" } });
- }
- else
- {
- Message = "Activation time out";
- reply.InlineValues.Add(new List<ReplyKeyboards.InlineValue>() { new ReplyKeyboards.InlineValue() { ID = callback, Value = "🔙 Back" } });
- }
- Inline = reply.InlineGenerateButtons(reply.InlineValues);
- }
- return (Message, Inline);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement