public async Task OnContactsAccept(ApplicationContext context, CallbackQuery query, TelegramBotClient client) { long userId = Convert.ToInt64(query.Data.Split('-')[1]); User user = await UserDB.GetUserByChatId(context, query.From.Id); User anotherUser = await UserDB.GetUserByChatId(context, userId); ContactsBook contact = user.Contacts.FirstOrDefault(c => c.OwnerId == query.From.Id && c.AnotherUserId == userId); if (contact != null) { contact.IsAccepted = true; context.ContactsBooks.Update(contact); context.SaveChanges(); await client.EditMessageReplyMarkupAsync(query.From.Id, query.Message.MessageId, InlineKeyboardMarkup.Empty()); await client.SendTextMessageAsync(query.From.Id, $"Вы дали доступ к своим данным пользователю {anotherUser.FirstName}", ParseMode.Markdown); await client.SendTextMessageAsync(userId, $"{user.FirstName} потвердил запрос на данные", ParseMode.Markdown); } }
public void Solve(string[] args) { StreamReader file = new StreamReader("C:\\Users\\scosta\\Documents\\Visual Studio 2013\\Projects\\HackerRank\\HackerRank\\TestCases\\Contacts\\TestCase1.txt"); StringBuilder result = new StringBuilder(); ContactsBook contactsBook = new ContactsBook(); int n = Convert.ToInt32(file.ReadLine()); for (int i = 0; i < n; i++) { string[] op = file.ReadLine().Split(' '); if (op[0] == "add") { contactsBook.Add(op[1].ToCharArray()); } else if (op[0] == "find") { result.AppendLine(contactsBook.Find(op[1].ToCharArray()).ToString()); } } Console.Write(result.ToString()); Console.ReadLine(); file.Close(); }
public async Task OnBook(ApplicationContext context, CallbackQuery query, TelegramBotClient client) { long userId = Convert.ToInt64(query.Data.Split('-')[1]); User user = await UserDB.GetUserByChatId(context, query.From.Id); // kim InfoAboutUsers info = context.InfoAboutUsers.FirstOrDefault(N => N.EventId == user.CurrentEventId); //Liza info.AmountOfRequestsOfContacts++; context.Update(info); context.SaveChanges(); User toAdd = await UserDB.GetUserByChatId(context, userId); // roma StringBuilder builder = new StringBuilder(); TelegramInlineKeyboard inline = new TelegramInlineKeyboard(); List <ContactsBook> contacts = user.Contacts; if (contacts.All(e => e.AnotherUserId != toAdd.TelegramId)) { ContactsBook book = new ContactsBook() { OwnerId = user.TelegramId, AnotherUserId = toAdd.TelegramId, IsAccepted = false }; user.Contacts.Add(book); context.Update(user); context.SaveChanges(); await client.SendTextMessageAsync(user.TelegramId, builder.ToString(), ParseMode.Markdown); inline .AddTextRow("Да", "Нет") .AddCallbackRow($"contacts_accept-{user.TelegramId}", $"contacts_decline-{user.TelegramId}"); await client.SendTextMessageAsync(toAdd.TelegramId, $"{user.FirstName} сделал запрос на добавление контактов, потвердить?", ParseMode.Markdown, replyMarkup : inline.Markup); } }