protected void gv_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "Aprovar")
            {
                if (IsAdmin)
                {
                    int idUsuario = Convert.ToInt16(e.CommandArgument);
                    using (DataKartDataContext dk = new DataKartDataContext())
                    {
                        Kart_Usuario_Grupo UsuarioAlterar = (from u in dk.Usuarios
                                                             join ug in dk.Kart_Usuario_Grupos on u.idUsuario equals ug.idUsuario
                                                             where ug.idUsuario == idUsuario &&
                                                             ug.idGrupo == IdGrupo
                                                             select ug).FirstOrDefault();

                        UsuarioAlterar.Aprovado = true;
                        dk.SubmitChanges(System.Data.Linq.ConflictMode.FailOnFirstConflict);
                    }

                    Alert("Alteração efetuado com sucesso!");
                    EMail.EnviarEmailStatus(idUsuario, IdGrupo);
                    PopularGrids();
                }
                else
                {
                    Alert("Você não é o administrador do grupo para efetuar essa operação!");
                }
            }
        }
        protected void gv_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            try
            {
                if (IsAdmin)
                {
                    DataKartDataContext dk = new DataKartDataContext();

                    int idUsuario      = Convert.ToInt16(e.CommandArgument);
                    int IdUsuarioLider = (from u in dk.Kart_Grupos where u.idGrupo == IdGrupo select u.Id_Usuario_Lider).FirstOrDefault();

                    if (idUsuario == IdUsuarioLider)
                    {
                        throw new Exception("Não é possivel alterar o usuário lider do grupo.");
                    }

                    Kart_Usuario_Grupo ug = (from u in dk.Kart_Usuario_Grupos
                                             where u.idUsuario == idUsuario &&
                                             u.idGrupo == IdGrupo &&
                                             u.Aprovado == true
                                             select u).FirstOrDefault();

                    if (e.CommandName == "Incluir")
                    {
                        ug.Admin = true;
                    }
                    else if (e.CommandName == "Excluir")
                    {
                        ug.Admin = false;
                    }

                    dk.SubmitChanges(System.Data.Linq.ConflictMode.FailOnFirstConflict);
                    EMail.EnviarEmailStatusPermissao(idUsuario, IdGrupo, ug.Admin.Value);
                }
                else
                {
                    Alert("Você não é o administrador do grupo para efetuar essa operação!");
                }
            }
            catch (Exception ex)
            {
                Alert(ex);
            }
            finally
            {
                PopularGrids();
            }
        }
Beispiel #3
0
        protected void gvGrupos_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            try
            {
                int idGrupo = Convert.ToInt32(e.CommandArgument);

                if (e.CommandName == "Sair")
                {
                    using (DataKartDataContext dk = new DataKartDataContext())
                    {
                        Kart_Usuario_Grupo kug = (from ug in dk.Kart_Usuario_Grupos
                                                  where ug.idGrupo == idGrupo &&
                                                  ug.idUsuario == UsuarioLogado.idUsuario
                                                  select ug).FirstOrDefault();
                        if (kug != null)
                        {
                            dk.Kart_Usuario_Grupos.DeleteOnSubmit(kug);
                            dk.SubmitChanges();
                            Alert("Usuário excluido com suceso!");
                        }
                    }
                }
                else if (e.CommandName == "Associar")
                {
                    using (DataKartDataContext dk = new DataKartDataContext())
                    {
                        Kart_Usuario_Grupo kug = new Kart_Usuario_Grupo();
                        kug.Admin     = false;
                        kug.Aprovado  = false;
                        kug.idGrupo   = idGrupo;
                        kug.idUsuario = UsuarioLogado.idUsuario;
                        kug.dtCriacao = DateTime.Now;

                        dk.GetTable <Kart_Usuario_Grupo>().InsertOnSubmit(kug);
                        dk.SubmitChanges(ConflictMode.FailOnFirstConflict);
                    }
                    Session["IdGrupo"] = null;
                    Alert("Usuário incluido com suceso!");
                    PopularGrupos();
                }
            }
            catch (Exception ex)
            {
                Alert(ex);
            }
        }
        protected void btnAddUsuarioGrupo_Click(object sender, EventArgs e)
        {
            try
            {
                if (IsAdmin)
                {
                    DataKartDataContext dk = new DataKartDataContext();

                    if (txtEmailNovoUsuario.Text.IndexOf('@') < 0 && txtEmailNovoUsuario.Text.IndexOf('.') < 0)
                    {
                        throw new Exception("E-Mail informado é inválido.");
                    }

                    //Verificar se já existe cadastro um usuario com este e-mail.
                    Usuario usr = (from k in dk.Usuarios
                                   where k.Email == txtEmailNovoUsuario.Text
                                   select k).FirstOrDefault();

                    if (usr == null)
                    {
                        string Apelido = txtEmailNovoUsuario.Text.Substring(0, txtEmailNovoUsuario.Text.IndexOf('@'));
                        if (Apelido.Length >= 29)
                        {
                            Apelido.Substring(0, 29);
                        }

                        usr            = new Usuario();
                        usr.Nome       = txtEmailNovoUsuario.Text;
                        usr.Email      = txtEmailNovoUsuario.Text;
                        usr.Apelido    = Apelido;
                        usr.Senha      = GerarSenhaAleatorio();
                        usr.MostarInfo = true;
                        usr.Ativo      = false;

                        dk.GetTable <Usuario>().InsertOnSubmit(usr);
                        dk.SubmitChanges(ConflictMode.FailOnFirstConflict);
                    }

                    Kart_Usuario_Grupo kug = new Kart_Usuario_Grupo();
                    kug.Admin     = false;
                    kug.Aprovado  = true;
                    kug.idGrupo   = IdGrupo;
                    kug.idUsuario = usr.idUsuario;
                    kug.dtCriacao = DateTime.Now;

                    dk.GetTable <Kart_Usuario_Grupo>().InsertOnSubmit(kug);
                    dk.SubmitChanges(ConflictMode.FailOnFirstConflict);

                    EMail.EnviarEmailBemvido(usr, IdGrupo);

                    Alert("Convite enviado com sucesso!");
                }
                else
                {
                    Alert("Somente o adiministrador do grupo pode convitar usuários.");
                }

                txtEmailNovoUsuario.Text = "";
            }
            catch (Exception ex)
            {
                Alert(ex);
            }
            finally
            {
                Page.ClientScript.RegisterStartupScript(this.GetType(), "Tab", "$(function() { $('#tabs').tabs( 'select' , 1 );});", true);
            }
        }
        protected void btnSalvar_Click(object sender, EventArgs e)
        {
            try
            {
                Usuario    user = (Usuario)Session["Usuario"];
                Kart_Grupo kg   = null;

                ValidarCampos();

                txtUrlAcesso.Text = FixString(txtUrlAcesso.Text.Trim()).ToLower();
                txtSigla.Text     = txtSigla.Text.Trim();
                txtNomeGrupo.Text = txtNomeGrupo.Text.Trim();

                string urlAcesso = txtUrlAcesso.Text;
                string sigla     = txtSigla.Text;
                string nomeGrupo = txtNomeGrupo.Text;

                if (string.IsNullOrEmpty(urlAcesso) || string.IsNullOrEmpty(sigla) || string.IsNullOrEmpty(nomeGrupo))
                {
                    throw new Exception("Favor verificar a sigla, o nome e a url do grupo!");
                }

                DataKartDataContext dk = new DataKartDataContext();

                if (IdGrupo <= 0)
                {
                    int count = (from g in dk.Kart_Grupos
                                 where g.Sigla.Equals(sigla) ||
                                 g.NomeGrupo.Equals(nomeGrupo) ||
                                 g.UrlAcesso.Equals(urlAcesso)
                                 select g).Count();

                    if (count > 0)
                    {
                        throw new Exception("Já existe um grupo cadastro com essas informações!");
                    }

                    kg = new Kart_Grupo();

                    kg.Id_Usuario_Lider  = user.idUsuario;
                    kg.NomeGrupo         = nomeGrupo;
                    kg.permitirInsricoes = Convert.ToBoolean(ddlPermitirInscricoes.SelectedValue);
                    kg.Sigla             = sigla;
                    kg.UrlAcesso         = urlAcesso;
                    kg.Ativo             = true;
                    kg.Cidade            = txtCidade.Text;
                    kg.dtCriacao         = DateTime.Now;
                    kg.Estado            = ddlEstado.SelectedValue;
                    kg.Ativo             = Convert.ToBoolean(ddlAtivo.SelectedValue);

                    dk.GetTable <Kart_Grupo>().InsertOnSubmit(kg);

                    dk.SubmitChanges(System.Data.Linq.ConflictMode.FailOnFirstConflict);

                    int NovoIdGrupo = kg.idGrupo;

                    Kart_Usuario_Grupo ug = new Kart_Usuario_Grupo();
                    ug.idGrupo   = NovoIdGrupo;
                    ug.idUsuario = user.idUsuario;
                    ug.Admin     = true;
                    ug.Aprovado  = true;
                    ug.dtCriacao = DateTime.Now;

                    dk.GetTable <Kart_Usuario_Grupo>().InsertOnSubmit(ug);

                    dk.SubmitChanges(System.Data.Linq.ConflictMode.FailOnFirstConflict);

                    EMail.EnviarEmailStatusGrupo(user.idUsuario, kg.idGrupo);

                    Alert("Cadastro do Grupo efetuado com sucesso!");
                    DisableEditGrupo(true);

                    List <Kart_Grupo> lstGrupos = (from g in new DataKartDataContext().Kart_Grupos where g.Ativo == true select g).ToList();
                    CacheHelper.Add(lstGrupos, "AllGrupo");
                }
                else
                {
                    if (IsAdmin)
                    {
                        kg = (from g in dk.Kart_Grupos
                              where g.idGrupo == IdGrupo
                              select g).FirstOrDefault();

                        if (kg.NomeGrupo != nomeGrupo)
                        {
                            int count = (from g in dk.Kart_Grupos
                                         where g.NomeGrupo.Equals(nomeGrupo)
                                         select g).Count();

                            if (count > 0)
                            {
                                throw new Exception("Já existe um grupo cadastro com esse Nome!");
                            }
                        }

                        if (kg.Sigla != sigla)
                        {
                            int count = (from g in dk.Kart_Grupos
                                         where g.Sigla.Equals(sigla)
                                         select g).Count();

                            if (count > 0)
                            {
                                throw new Exception("Já existe um grupo cadastro com essa Sigla!");
                            }
                        }

                        if (kg.UrlAcesso != urlAcesso)
                        {
                            int count = (from g in dk.Kart_Grupos
                                         where g.UrlAcesso.Equals(urlAcesso)
                                         select g).Count();

                            if (count > 0)
                            {
                                throw new Exception("Já existe um grupo cadastro com essa Url!");
                            }
                        }

                        kg.Id_Usuario_Lider  = user.idUsuario;
                        kg.NomeGrupo         = nomeGrupo;
                        kg.permitirInsricoes = Convert.ToBoolean(ddlPermitirInscricoes.SelectedValue);
                        kg.Sigla             = sigla;
                        kg.UrlAcesso         = urlAcesso;
                        kg.Ativo             = true;
                        kg.Cidade            = txtCidade.Text;
                        kg.dtCriacao         = DateTime.Now;
                        kg.Estado            = ddlEstado.SelectedValue;
                        kg.Ativo             = Convert.ToBoolean(ddlAtivo.SelectedValue);

                        dk.SubmitChanges(System.Data.Linq.ConflictMode.FailOnFirstConflict);

                        EMail.EnviarEmailStatusGrupo(user.idUsuario, kg.idGrupo);

                        Alert("Alteração do grupo efetuado com sucesso!");
                        DisableEditGrupo(true);

                        if (chkEnviarTodosUsuarios.Checked)
                        {
                            //Pegar os usuarário do grupo e disparar o e-mail informando da alteração.
                            int[] idUsuarios = (from ug in dk.Kart_Usuario_Grupos
                                                where ug.idGrupo == kg.idGrupo &&
                                                ug.idUsuario != user.idUsuario &&
                                                ug.Aprovado == true
                                                select ug.idUsuario).ToArray();

                            foreach (int idusuario in idUsuarios)
                            {
                                EMail.EnviarEmailStatusGrupo(idusuario, kg.idGrupo);
                            }
                        }

                        chkEnviarTodosUsuarios.Visible = false;
                        chkEnviarTodosUsuarios.Checked = false;

                        btnEditar.Text   = "Editar Grupo";
                        ltTitulo.Text    = "Informações do Grupo";
                        ltDescricao.Text = "Efetuar alteração do Grupo";
                        if (ViewState["OldIdGrupo"] != null)
                        {
                            IdGrupo = Convert.ToInt16(ViewState["OldIdGrupo"]);
                            ViewState["OldIdGrupo"] = null;
                            popularTela(IdGrupo);
                            CarregarCampeonato(IdGrupo);
                            CarregarGruposDesativados();
                        }
                    }
                    else
                    {
                        Alert("Você não possue permissão para alterar este grupo.");
                    }
                }
            }
            catch (Exception ex)
            {
                Alert(ex);
            }
        }
        protected void btnCadastrar_Click(object sender, EventArgs e)
        {
            string s       = "";
            string msg     = "";
            string mail    = txtMail.Text;
            int    idGrupo = Convert.ToInt32(ViewState["id"].ToString());

            if (string.IsNullOrEmpty(mail))
            {
                Alert("O Campo e-mail é obrigatório.");
                return;
            }

            if (mail.IndexOf("@") < 0 || mail.IndexOf(".") < 0)
            {
                Alert("O e-mail é inválido.");
                return;
            }

            if (this.Session["CaptchaImageText"] != null)
            {
                s = this.Session["CaptchaImageText"].ToString();
            }
            else if (this.ViewState["CaptchaImageText"] != null)
            {
                s = this.ViewState["CaptchaImageText"].ToString();
            }

            if ((txtCaptcha.Text != s && !string.IsNullOrEmpty(s)) || string.IsNullOrEmpty(txtCaptcha.Text))
            {
                Alert("O valor da captcha não confere.");
                return;
            }

            DataKartDataContext dk = new DataKartDataContext();

            //Verificar se já existe cadastro um usuario com este e-mail.
            Usuario usr = (from k in dk.Usuarios
                           where k.Email == mail
                           select k).FirstOrDefault();

            bool ExistUser = true;

            if (usr == null)
            {
                ExistUser = false;
                string Apelido = mail.Substring(0, mail.IndexOf('@'));
                if (Apelido.Length >= 29)
                {
                    Apelido.Substring(0, 29);
                }

                usr            = new Usuario();
                usr.Nome       = mail;
                usr.Email      = mail;
                usr.Apelido    = Apelido;
                usr.Senha      = GerarSenhaAleatorio();
                usr.MostarInfo = true;
                usr.Ativo      = false;
                usr.dtCriacao  = DateTime.Now;

                dk.GetTable <Usuario>().InsertOnSubmit(usr);
                dk.SubmitChanges(ConflictMode.FailOnFirstConflict);
                msg += "Usuário cadastrado com sucesso!\n";

                try
                {
                    //Efetuar o cadastro no Forum
                    phpbb_user phpu = new phpbb_user()
                    {
                        user_type                = 1,
                        group_id                 = 2,
                        user_permissions         = "",
                        user_perm_from           = 0,
                        user_ip                  = "",
                        user_regdate             = 1396623164,
                        username                 = "",
                        username_clean           = "",
                        user_password            = EncryptMd5("123qwe"),
                        user_passchg             = 1396623164,
                        user_pass_convert        = 0,
                        user_email               = "",
                        user_email_hash          = EncryptCrc32(usr.Email + usr.Email.Length.ToString()),
                        user_birthday            = "",
                        user_lastvisit           = 0,
                        user_lastmark            = 1396623164,
                        user_lastpost_time       = 0,
                        user_lastpage            = "",
                        user_last_confirm_key    = "",
                        user_last_search         = 0,
                        user_warnings            = 0,
                        user_last_warning        = 0,
                        user_login_attempts      = 0,
                        user_inactive_reason     = 1,
                        user_inactive_time       = 1396623164,
                        user_posts               = 0,
                        user_lang                = "pt_br",
                        user_timezone            = -3,
                        user_dst                 = 1,
                        user_dateformat          = "D M d, Y h:i",
                        user_style               = 2,
                        user_rank                = 0,
                        user_colour              = "",
                        user_new_privmsg         = 0,
                        user_unread_privmsg      = 0,
                        user_last_privmsg        = 0,
                        user_message_rules       = 0,
                        user_full_folder         = -3,
                        user_emailtime           = 0,
                        user_topic_show_days     = 0,
                        user_topic_sortby_type   = "t",
                        user_topic_sortby_dir    = "d",
                        user_post_show_days      = 0,
                        user_post_sortby_type    = "t",
                        user_post_sortby_dir     = "a",
                        user_notify              = 0,
                        user_notify_pm           = 1,
                        user_notify_type         = 0,
                        user_allow_pm            = 1,
                        user_allow_viewonline    = 1,
                        user_allow_viewemail     = 1,
                        user_allow_massemail     = 1,
                        user_options             = 230271,
                        user_avatar              = "",
                        user_avatar_type         = 0,
                        user_avatar_width        = 0,
                        user_avatar_height       = 0,
                        user_sig                 = "",
                        user_sig_bbcode_uid      = "",
                        user_sig_bbcode_bitfield = "",
                        user_from                = "",
                        user_icq                 = "",
                        user_aim                 = "",
                        user_yim                 = "",
                        user_msnm                = "",
                        user_jabber              = "",
                        user_website             = "",
                        user_occ                 = "",
                        user_interests           = "",
                        user_actkey              = "8XC9FRJ9",
                        user_newpasswd           = "",
                        user_form_salt           = "52567f871eccdc80",
                        user_new                 = 1,
                        user_reminded            = 0,
                        user_reminded_time       = 0
                    };

                    phpu.username       = mail;
                    phpu.username_clean = mail;
                    phpu.user_email     = mail;
                    dk.phpbb_users.InsertOnSubmit(phpu);
                    dk.SubmitChanges();

                    dk.phpbb_user_groups.InsertOnSubmit(new phpbb_user_group()
                    {
                        user_id = phpu.user_id, group_id = 2, group_leader = 0, user_pending = 0
                    });
                    dk.SubmitChanges();

                    dk.phpbb_user_groups.InsertOnSubmit(new phpbb_user_group()
                    {
                        user_id = phpu.user_id, group_id = 7, group_leader = 0, user_pending = 0
                    });
                    dk.SubmitChanges();

                    ScriptManager.RegisterStartupScript(this, this.GetType(), "AddPHP", " $(document).ready(function() {$.ajax({ type: 'post', data: 'password="******"&email=" + usr.Email.Trim() + "', url: 'http://forum.afonsoft.com.br/UserAddScript.php', success: function (retorno) { $('#" + HiddenFieldReturnAjax.ClientID + "').value = retorno; } }); });  ", true);
                }
                catch
                {
                    //Ignore o PHP Forum
                }
            }
            else
            {
                msg += "Este e-mail já existe na nossa base de dados!\n";
            }

            if (idGrupo > 0)
            {
                bool exist = (from g in dk.Kart_Usuario_Grupos
                              where g.idGrupo == idGrupo &&
                              g.idUsuario == usr.idUsuario
                              select g).Count() > 0;
                if (!exist)
                {
                    Kart_Usuario_Grupo kug = new Kart_Usuario_Grupo();
                    kug.Admin     = false;
                    kug.Aprovado  = true;
                    kug.idGrupo   = idGrupo;
                    kug.idUsuario = usr.idUsuario;
                    kug.dtCriacao = DateTime.Now;

                    dk.GetTable <Kart_Usuario_Grupo>().InsertOnSubmit(kug);
                    dk.SubmitChanges(ConflictMode.FailOnFirstConflict);
                    msg += "Usuário associado ao grupo com sucesso!\n";
                }
                else
                {
                    msg += "Este e-mail já está associado a este grupo!\n";
                }
            }
            if (!ExistUser)
            {
                EMail.EnviarEmailBemvido(usr, idGrupo);
                Alert("Atenção!\n\n" + msg, null, "index.aspx");
            }
            else
            {
                Alert("Atenção!\n\n" + msg);
            }
        }