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)); } }
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)); } }