Exemplo n.º 1
0
        public ActionResult Cadastrar(string Nome = "", string Email = "", int Cod_Comum = 0, string Comum = "", string Cidade = "", string Estado = "", string Token = "")
        {
            try{
                if (Encryption.md5(Nome + Email + Comum) != Token)
                {
                    throw new Exception("Token inválido!");
                }

                GEM.Repository.Comum comum = GEM.Repository.Comum.FirstOrDefault(new { Nome = Comum, Cidade, Estado });

                if (Cod_Comum == 0)
                {
                    if (comum == null)
                    {
                        comum        = new GEM.Repository.Comum();
                        comum.Nome   = Comum;
                        comum.Cidade = Cidade;
                        comum.Estado = Estado;
                        comum.Save();
                    }
                }
                else
                {
                    comum = GEM.Repository.Comum.Find(Cod_Comum);
                }

                GEM.Repository.Usuario usuario = GEM.Repository.Usuario.FindByEmail(Email);

                if (usuario == null)
                {
                    usuario              = new Usuario();
                    usuario.Nome         = Nome;
                    usuario.Email        = Email;
                    usuario.Cod_Comum    = comum.Cod_Comum;
                    usuario.Comum        = comum.Nome;
                    usuario.Instrutor    = true;
                    usuario.Oficializado = true;
                    usuario.Ativo        = true;
                    usuario.Save();

                    UsuarioPermissao permissao = UsuarioPermissao.Find(usuario.Cod_Usuario);
                    permissao.Instrutor    = true;
                    permissao.Oficializado = true;
                    permissao.Ativo        = true;
                    permissao.Update();
                }

                EnviarConvite(Email);

                GEM.Helpers.UserSession.SetUsuario(Request.HttpContext, usuario);

                return(RedirectToAction("Index", "Home"));
            }
            catch (Exception ex) {
                return(Content(ex.Message));
            }
        }
Exemplo n.º 2
0
        public ActionResult Save(Usuario model)
        {
            try{
                var usuario = UserSession.Get(Request.HttpContext).Usuario;
                if (model.Cod_Comum == 0 || !usuario.Admin)
                {
                    model.Cod_Comum = usuario.Cod_Comum;
                }

                //if(!model.Aluno && !model.Oficializado && !model.Instrutor)

                if (model.Cod_Usuario != 0 && !usuario.Admin && UsuarioComum.Find(model.Cod_Usuario, model.Cod_Comum) == null)
                {
                    throw new Exception("Usuário não cadastrado nesta comum!");
                }

                if (Usuario.EmailJaCadastrado(model.Email, model.Cod_Usuario))
                {
                    throw new Exception("Email já cadastrado!");
                }

                char oper = model.Cod_Usuario == 0 ? 'C' : 'U';
                model.Save();
                Monitor.Add <Usuario>(HttpContext, oper, model.Nome);

                if (usuario.Dev || usuario.Admin || usuario.Instrutor)
                {
                    UsuarioPermissao permissao = UsuarioPermissao.Find(model.Cod_Usuario);

                    if (usuario.Dev)
                    {
                        permissao.Dev = model.Dev;
                    }

                    if (usuario.Admin)
                    {
                        permissao.Admin = model.Admin;
                        //permissao.Cod_Comum = model.Cod_Comum;
                    }

                    if (usuario.Instrutor)
                    {
                        permissao.Instrutor    = model.Instrutor;
                        permissao.Oficializado = model.Oficializado;
                        permissao.RJM          = model.RJM;
                        permissao.Aluno        = model.Aluno;
                        permissao.Ativo        = model.Ativo;
                        //permissao.Cod_Grupo = model.Cod_Grupo;
                    }

                    permissao.Update();

                    if (usuario.Instrutor)
                    {
                        UsuarioGrupo.UpdateGrupos(model.Cod_Usuario, model.Cod_Grupos);
                    }
                }

                return(Json("ok"));
            }
            catch (Exception ex) {
                return(Json(ex.Message));
            }
        }