Exemplo n.º 1
0
        public async Task <IActionResult> Edit(int id, [Bind("CanaisId,NomeCanal,Foto")] Canais canais, IFormFile ficheiroFoto)
        {
            if (id != canais.CanaisId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    AtualizaFotoCanais(canais, ficheiroFoto);
                    _context.Update(canais);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!CanaisExists(canais.CanaisId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                ViewBag.Mensagem = "Canal editado com sucesso";
                return(View("Sucesso"));
            }
            return(View(canais));
        }
Exemplo n.º 2
0
        public async Task <Canais> Get(Canais canal)
        {
            using Kurosawa_DiaContext context = new Kurosawa_DiaContext();

            return(await context.Canais.SingleOrDefaultAsync(x => x.Servidor.ID == canal.Servidor.ID && x.TipoCanal == canal.TipoCanal));

            //using (Kurosawa_DiaContext context = new Kurosawa_DiaContext())
            //{
            //    return (await context.Canais.FromSqlRaw("call GetCanal({0}, {1})", canal.Servidor.ID, canal.TipoCanal).ToListAsync()).FirstOrDefault();
            //}
        }
Exemplo n.º 3
0
 private void AtualizaFotoCanais(Canais canais, IFormFile ficheiroFoto)
 {
     if (ficheiroFoto != null && ficheiroFoto.Length > 0)
     {
         using (var ficheiroMemoria = new MemoryStream())
         {
             ficheiroFoto.CopyTo(ficheiroMemoria);
             canais.Foto = ficheiroMemoria.ToArray();
         }
     }
 }
Exemplo n.º 4
0
        public async Task <IActionResult> Create([Bind("CanaisId,NomeCanal,Foto")] Canais canais, IFormFile ficheiroFoto)
        {
            if (!ModelState.IsValid)
            {
                return(View(canais));
            }

            AtualizaFotoCanais(canais, ficheiroFoto);

            _context.Add(canais);
            await _context.SaveChangesAsync();

            ViewBag.Mensagem = "Canal adicionado com sucesso";
            return(View("Sucesso"));
        }
Exemplo n.º 5
0
        public async Task Adicionar(Canais c)
        {
            using Kurosawa_DiaContext context = new Kurosawa_DiaContext();

            Canais canal = await context.Canais.SingleOrDefaultAsync(x => x.Servidor.ID == c.Servidor.ID && x.TipoCanal == c.TipoCanal);

            if (canal == null)
            {
                await context.Canais.AddAsync(new Canais
                {
                    CodServidor = (await context.Servidores.AsNoTracking().FirstOrDefaultAsync(x => x.ID == c.Servidor.ID)).Cod,
                    ID          = c.ID,
                    Nome        = c.Nome,
                    TipoCanal   = c.TipoCanal
                });

                await context.SaveChangesAsync();
            }
            else
            {
                context.Canais.Remove(canal);
                await context.SaveChangesAsync();
            }

            //using (Kurosawa_DiaContext context = new Kurosawa_DiaContext())
            //{
            //    //IDbContextTransaction transation = await context.Database.BeginTransactionAsync(IsolationLevel.Snapshot);
            //    //await context.Database.ExecuteSqlRawAsync("call AddCanal({0}, {1}, {2}, {3})", canal.TipoCanal, canal.Nome, canal.ID, canal.Servidor.ID);
            //    //_ = context.Canais.FromSqlRaw("call AddCanal({0}, {1}, {2}, {3})", canal.TipoCanal, canal.Nome, canal.ID, canal.Servidor.ID);
            //    //await transation.CommitAsync();

            //    MySqlCommand command = await context.GetMysqlCommand();
            //    command.CommandText = "call AddCanal(@ct, @cn, @ci, @csi)";
            //    command.Parameters.AddWithValue("@ct", canal.TipoCanal);
            //    command.Parameters.AddWithValue("@cn", canal.Nome);
            //    command.Parameters.AddWithValue("@ci", canal.ID);
            //    command.Parameters.AddWithValue("@csi", canal.Servidor.ID);
            //    await command.ExecuteNonQueryAsync();
            //}
        }
Exemplo n.º 6
0
        private async void Session(object note)
        {
            GuildMemberAddEventArgs e = (GuildMemberAddEventArgs)note;

            try
            {
                Canais canalBemvindo = await new CanaisDAO().Get(new Canais
                {
                    Servidor = new Servidores
                    {
                        ID = e.Guild.Id
                    },
                    TipoCanal = TiposCanais.BemVindo
                });
                if (canalBemvindo != null)
                {
                    ConfiguracoesServidores config = await new ConfiguracoesServidoresDAO().Get(new ConfiguracoesServidores
                    {
                        Servidor = new Servidores
                        {
                            ID = e.Guild.Id
                        },
                        Configuracoes = TiposConfiguracoes.BemVindoMsg
                    });
                    if (config != null)
                    {
                        DiscordChannel canal = e.Guild.GetChannel(canalBemvindo.ID);
                        await new StringVariablesExtension(e.Member, e.Guild).SendMessage(canal, config.Value);
                    }
                }
            }
            catch (Exception ex)
            {
                e.Client.DebugLogger.LogMessage(LogLevel.Info, "Kurosawa Dia - Event", ex.Message, DateTime.Now);
            }
        }