public IActionResult CreateUser([FromBody] CreateUsuarioClass usuarioClass) { try { if (usuarioClass.Grupos.Count == 0 || usuarioClass.Idade == 0 || usuarioClass.Nome == "" || usuarioClass.Senha == "") { return(StatusCode(400, new ErrorClass(400, "Insira todas Informações", DateTime.Now))); } Usuario u = new Usuario(usuarioClass.Nome, usuarioClass.Idade); u.AddSenha(usuarioClass.Senha); if (User.Identity.IsAuthenticated & User.IsInRole("SuperUser")) { foreach (GrupoV g in usuarioClass.Grupos) { if (g.Nome != "") { Grupo grupo = Grupo.FindByName(g.Nome); if (grupo == null) { return(StatusCode(404, new ErrorClass(404, "Grupo não encontrado", DateTime.Now))); } u.AddGrupo(grupo); } else { Grupo grupo = Grupo.FindById((int)g.Id); if (grupo == null) { return(StatusCode(404, new ErrorClass(404, "Grupo não encontrado", DateTime.Now))); } u.AddGrupo(grupo); } } } else { u.AddGrupo(Grupo.FindByName("Comum")); } u.CreateUsuario(); return(Ok(_converter.Parser(u))); } catch (MercurioCoreException ex) { return(StatusCode(400, new ErrorClass(400, ex.Message, DateTime.Now))); } catch (DBConnectionException ex) { return(StatusCode(500, new ErrorClass(500, ex.Message, DateTime.Now))); } catch (Exception ex) { return(StatusCode(500, new ErrorClass(500, ex.Message, DateTime.Now))); } }
public IActionResult AddGrupo([FromBody] List <GrupoV> grupoV, long idUsuario) { try { Usuario u = Usuario.FindById(idUsuario); if (u == null) { return(StatusCode(400, new ErrorClass(400, "Usuario não Encontrado", DateTime.Now))); } foreach (GrupoV g in grupoV) { if (g.Nome != "") { Grupo grupo = Grupo.FindByName(g.Nome); if (grupo == null) { return(StatusCode(404, new ErrorClass(404, "Grupo não encontrado", DateTime.Now))); } u.AddGrupo(grupo); } else { Grupo grupo = Grupo.FindById((int)g.Id); if (grupo == null) { return(StatusCode(404, new ErrorClass(404, "Grupo não encontrado", DateTime.Now))); } u.AddGrupo(grupo); } } u.UpdateUsuario(); return(Ok(_converter.Parser(u))); } catch (MercurioCoreException ex) { return(StatusCode(400, new ErrorClass(400, ex.Message, DateTime.Now))); } catch (DBConnectionException ex) { return(StatusCode(500, new ErrorClass(500, ex.Message, DateTime.Now))); } catch (Exception ex) { return(StatusCode(500, new ErrorClass(500, ex.Message, DateTime.Now))); } }