public async Task <CommandResult> HistoryAsync(SocketGuildUser u, bool onlyActive = false, [IsntActionType(ActionType.None)] ActionType type = default) { try { var dbGuild = await _databaseService.GetOrCreateGuildAsync(Context.Guild); var history = type == default ? dbGuild.Cases.Where(x => x.TargetId == u.Id) : dbGuild.Cases.Where(x => x.TargetId == u.Id && x.ActionType == type); history = onlyActive ? history.Where(x => !x.Resolved) : history; Console.WriteLine("aaa"); if (!history.Any()) { return(new QuiccbanFailResult(string.Format(_responseService.Get("history_no_cases"), u.ToString(), u.Mention, onlyActive ? "active " : ""))); } Console.WriteLine("bbb"); List <Embed> embeds = new List <Embed>(); var historyGrouping = history.OrderByDescending(x => x.Id).Select((@case, index) => new { Case = @case, Index = index }).GroupBy(x => x.Index / 5, x => x.Case); foreach (var group in historyGrouping) { embeds.Add(await _helperService.ConstructHistoryEmbedAsync(group, u)); } if (embeds.Count > 1) { var paginatedMessage = new PaginatedMessage { Pages = embeds }; var criterion = new Criteria <SocketReaction>(); criterion.AddCriterion(new EnsureReactionFromSourceUserCriterion()); await _interactiveService.SendPaginatedMessageAsync(Context, paginatedMessage, criterion); } else { await ReplyAsync(embed : embeds.FirstOrDefault()); } return(new QuiccbanSuccessResult()); } catch (Exception e) { Console.WriteLine(e); return(new QuiccbanSuccessResult()); } }
public async Task <CommandResult> SetAutomod(bool value) { var g = await _databaseService.GetOrCreateGuildAsync(Context.Guild); if (value == g.AutoMod.Enabled) { return(new QuiccbanFailResult(string.Format(_responseService.Get("automod_update_already_same"), value ? "Enabled" : "Disabled"))); } g.AutoMod.Enabled = value; await _databaseService.UpdateGuildAsync(g); return(new QuiccbanSuccessResult(string.Format(_responseService.Get("automod_update_success"), value ? "Enabled" : "Disabled"))); }
//Меню для таблиці Response static void ResponseMenu(int Id, int idUser, int goodId) { ResponseService responseService = new ResponseService(); responseService.Get(Id); if (idUser == 1) { while (true) { Console.WriteLine("What do you want to do next?"); Console.WriteLine("1 - search\n 2 - sort\n 3 - return to goods"); int responseNumber = responseService.GetResponce(); Console.Clear(); if (responseNumber == 1) { responseService.SearchResponse(); break; } else if (responseNumber == 2) { responseService.SortResponse(); break; } else if (responseNumber == 3) { break; } else { Console.WriteLine("You have entered wrong number please enter again"); } Console.Clear(); } } else { while (true) { Console.WriteLine("What do you want to do next?"); Console.WriteLine("1 - add\n 2 - change\n 3 - delete\n 4 - return to good"); int responseNumber = responseService.GetResponce(); Console.Clear(); if (responseNumber == 1) { Console.WriteLine("Enter response: "); string responseName = Console.ReadLine(); responseService.Create(idUser, goodId, responseName); responseService.Save(); break; } else if (responseNumber == 2) { responseService.Get(idUser); Console.WriteLine("Please enter id of response which you want to change"); int responseId = CheckNumber(); Console.WriteLine("Enter new response : "); string name = Console.ReadLine(); responseService.Change(responseId, name); Console.Clear(); break; } else if (responseNumber == 3) { responseService.Get(idUser); Console.WriteLine("Please enter id of response which you want to delete"); int responseId = CheckNumber(); responseService.Delete(responseId); Console.Clear(); break; } else if (responseNumber == 4) { break; } else { Console.WriteLine("You have entered wrong number please enter again"); Console.Clear(); } } } }
public async Task <CommandResult> SetReasonAsync(Case @case, [Remainder] string reason) { if (@case.IssuerId != Context.User.Id) { return(new QuiccbanFailResult(_responseService.Get("isnt_case_owner"))); } @case.Reason = reason; try { await _databaseService.UpdateCaseAsync(@case, true); await _caseHandlingService.UpdateDiscordMessage(@case); } catch (InvalidOperationException ex) { return(new QuiccbanFailResult(ex.Message)); } return(new QuiccbanSuccessResult(string.Format(_responseService.Get("reason_success"), @case.Id))); }