public async Task <IActionResult> PutInfoAboutUsers(int id, InfoAboutUsers infoAboutUsers) { if (id != infoAboutUsers.InfoAboutUsersId) { return(BadRequest()); } _context.Entry(infoAboutUsers).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!InfoAboutUsersExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <ActionResult <InfoAboutUsers> > PostInfoAboutUsers(InfoAboutUsers infoAboutUsers) { _context.InfoAboutUsers.Add(infoAboutUsers); await _context.SaveChangesAsync(); return(CreatedAtAction("GetInfoAboutUsers", new { id = infoAboutUsers.InfoAboutUsersId }, infoAboutUsers)); }
public async void AddInfoAboutUsers(long chatId, string type) {//добавить в info о пользователях eventId User user = await Context.Users.FirstOrDefaultAsync(n => n.TelegramId == chatId); int eventId = user.CurrentEventId; Event eventt = await Context.Events.FirstOrDefaultAsync(n => n.EventId == eventId); InfoAboutUsers info = await Context.InfoAboutUsers.FirstOrDefaultAsync(m => m.EventId == eventId); if (info != null) { switch (type) { case "Количество активаций режима общения": { info.AmountOfActivationsOfNetworking++; } break; case "Сколько встреч согласовано": { info.AmountCompletedMeetings++; } break; case "Сколько запрошено контактов": { info.AmountOfRequestsOfContacts++; } break; case "Среднее число контактов": { info.AverageAmountOfContact = info.AmountOfRequestsOfContacts / (await GetAllParticipantsOfEvent(info.EventId)).Count; } break; } } Context.Update(info); Context.SaveChanges(); }
public async Task OnAccept(ApplicationContext context, CallbackQuery query, TelegramBotClient client) { long userId = Convert.ToInt32(query.Data.Split('-')[1]); // roma User user = await UserDB.GetUserByChatId(context, query.From.Id); // ki InfoAboutUsers info = context.InfoAboutUsers.FirstOrDefault(n => n.EventId == user.CurrentEventId); info.AmountCompletedMeetings++; context.Update(info); context.SaveChanges(); User from = await UserDB.GetUserByChatId(context, userId); await client.DeleteMessageAsync(query.From.Id, query.Message.MessageId); await client.SendTextMessageAsync(user.TelegramId, $"Встреча с [{from.FirstName} {from.LastName}](tg://user?id={from.TelegramId}) согласована 👐, напишите ему для уточнения времени и места", ParseMode.Markdown); await client.SendTextMessageAsync(from.TelegramId, $"Встреча с [{user.FirstName} {user.LastName}](tg://user?id={user.TelegramId}) согласована 👐, напишите ему для уточнения времени и места", ParseMode.Markdown); }
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); } }
public async Task <string> GetInfrormationAboutUsers(int idOfEvent, string message) { Event eventt = await Context.Events.FirstOrDefaultAsync(n => n.EventId == idOfEvent); InfoAboutUsers info = await Context.InfoAboutUsers.FirstOrDefaultAsync(m => m.EventId == idOfEvent); switch (message) { case "Количество пользователей": { return((await GetCountOfParticipants(idOfEvent)).ToString()); } case "Количество использования режим общения": { return(info.AmountOfActivationsOfNetworking.ToString()); } case "Сколько встреч согласовано": { return(info.AmountCompletedMeetings.ToString()); } case "Сколько запрошено контактов": { return(info.AmountOfRequestsOfContacts.ToString()); } case "Среднее число контактов": { var cnt = (await GetAllParticipantsOfEvent(info.EventId)).Count; cnt = cnt == 0 ? 1 : cnt; return((info.AmountOfRequestsOfContacts / cnt).ToString()); } } return("Бот не знает такой команды"); }
public async Task <string> GetInfrormationAboutUsers(long chatId, string message) { User user = await Context.Users.FirstOrDefaultAsync(n => n.TelegramId == chatId); int eventId = user.CurrentEventId; Event eventt = await Context.Events.FirstOrDefaultAsync(n => n.EventId == eventId); InfoAboutUsers info = await Context.InfoAboutUsers.FirstOrDefaultAsync(m => m.EventId == eventId); switch (message) { case "Количество пользователей": { List <long> participants = await GetAllParticipantsOfEvent(chatId); string t = participants.Count.ToString(); return(t); } case "Количество активаций режима общения": { return(info.AmountOfActivationsOfNetworking.ToString()); } case "Число запросов контактов": { return(info.AmountOfRequestsOfContacts.ToString()); } case "Число запросов встреч": { return(info.AmountCompletedMeetings.ToString()); } } return("Бот не знает такой команды"); }