Exemple #1
0
 public static DiscordEmbed AsyncInfracaoEmbed(InfracaoModel infra)
 {
     string infraInfo = $"Informaçoes da Infração #{infra.Id}:\n" +
                        $"Membro : {(infra.IdInfrator == 0 ? "Sem Dados" : $"<@{infra.IdInfrator}>")}\n" +
Exemple #2
0
        public async Task Add(CommandContext ctx,
                              [Description("Membro que será punido (Menção / ID)")] DiscordMember membro)
        {
            InfracaoModel infra = new InfracaoModel
            {
                IdInfrator = membro.Id,
                IdStaff    = ctx.Member.Id,
            };
            var info = await ctx.RespondAsync(embed : EmbedExtended.AsyncInfracaoEmbed(infra));

            var botMsg = await ctx.RespondAsync(embed : EmbedBase.InputEmbed("Motivo"));

            var result = await ctx.Message.GetNextMessageAsync();

            infra.MotivoInfracao = result.Result.Content;
            await info.ModifyAsync(embed : EmbedExtended.AsyncInfracaoEmbed(infra));

            await botMsg.ModifyAsync(embed : EmbedBase.InputEmbed("Será Preso? [s/n]"));

            result = await result.Result.GetNextMessageAsync();

            infra.Preso = result.Result.Content.ToLowerInvariant()[0] == 'y' || result.Result.Content.ToLowerInvariant()[0] == 's';
            await info.ModifyAsync(embed : EmbedExtended.AsyncInfracaoEmbed(infra));

            PrisaoModel prisao = new PrisaoModel();

            if (infra.Preso)
            {
                await botMsg.ModifyAsync(embed : EmbedBase.InputEmbed("Tempo [xM, xH]"));

                result = await result.Result.GetNextMessageAsync();

                prisao = new PrisaoModel
                {
                    Data   = DateTime.Now.ToUniversalTime(),
                    Cargos = membro.Roles.Select(x => x.Id).ToList(),
                };

                if (result.Result.Content.ToLowerInvariant().Contains("h"))
                {
                    Regex getUlong = new Regex(@"([0-9])+");
                    int   i        = 0;
                    if (getUlong.IsMatch(result.Result.Content))
                    {
                        i = int.Parse(getUlong.Match(result.Result.Content).ToString());
                    }
                    TimeSpan s = TimeSpan.FromHours(i);
                    prisao.Duracao = s;
                    prisao.GuildId = ctx.Guild.Id;
                    await Prender(membro, ctx.Guild);

                    prisao.Elapsed = false;
                }
                else if (result.Result.Content.ToLowerInvariant().Contains("m"))
                {
                    Regex getUlong = new Regex(@"([0-9])+");
                    int   i        = 0;
                    if (getUlong.IsMatch(result.Result.Content))
                    {
                        i = int.Parse(getUlong.Match(result.Result.Content).ToString());
                    }
                    TimeSpan s = TimeSpan.FromMinutes(i);
                    prisao.Duracao = s;
                    prisao.GuildId = ctx.Guild.Id;
                    await Prender(membro, ctx.Guild);

                    prisao.Elapsed = false;
                }
            }
            await info.ModifyAsync(embed : EmbedExtended.AsyncInfracaoEmbed(infra));

            await botMsg.DeleteAsync();

            new Infracao().Insert(infra);
            prisao.InfraId = new Infracao().FindAll(x => x.IdInfrator == membro.Id).Last().Id;
            new Prisao().Insert(prisao);
            await ctx.RespondAsync(embed : EmbedBase.OutputEmbed("Infração Adicionada com Sucesso."));
        }
 public void Update(InfracaoModel infracaoModel)
 {
     _context.Entry(infracaoModel).State = EntityState.Modified;
     _context.SaveChanges();
 }
 public void Delete(InfracaoModel infracaoModel)
 {
     _context.Infracao.Remove(infracaoModel);
     _context.SaveChanges();
 }
 public void Insert(InfracaoModel infracaoModel)
 {
     _context.Infracao.Add(infracaoModel);
     _context.SaveChanges();
 }