public Usuario Insert(Usuario usuario) { usuario.Token = GenerateToken.GetNewToken(); usuario.Foto = "profileblank.jpg"; usuario.Senha = MD5PasswordEncryptor.MD5Hash(usuario.Senha); //UsuarioCurso uc = new UsuarioCurso(); //uc.CursoID = 1; //uc.DataInclusao = DateTime.Now; //usuario.UsuarioCurso.Add(uc); Grupo g = _context.Grupos.Find(3); usuario.Grupos.Add(g); _context.Usuarios.Add(usuario); _context.SaveChanges(); //_repository.SaveChanges(AuditoriaFactory.Create("Usuario.Cadastro")); return(usuario); }
// POST api/usuario/ public IHttpActionResult Post(Usuario vm) { vm.Token = GenerateToken.GetNewToken(); vm.Foto = "profileblank.jpg"; // Regra 1 - Verificar se o objeto enviado é valido if (!ModelState.IsValid) { return(StatusCode(System.Net.HttpStatusCode.NotAcceptable)); //retorna 406 } // Regra 2 - Aplicar trim nos campos de string vm.Nome = vm.Nome.LimpaString(); vm.Email = vm.Email.LimpaString(); vm.Senha = vm.Senha.LimpaString(); vm.Foto = vm.Foto.LimpaString(); vm.CPF = vm.CPF.LimpaString(); vm.RG = vm.RG.LimpaString(); // Regra 3 - verificar se ja nao existe um usuario com o mesmo email cadastrado if (_context.Usuarios.Any(p => p.Email == vm.Email)) { return(StatusCode(System.Net.HttpStatusCode.Conflict)); //retorna 409 } try { // Regra 4 - Cria novo Usuario somente as propriedades permitidas var novoUsuario = new Usuario { Token = GenerateToken.GetNewToken(), Nome = vm.Nome, Email = vm.Email, Senha = vm.Senha, Foto = vm.Foto, CPF = vm.CPF, RG = vm.RG, Telefone = vm.Telefone, TelefoneEmergencia = vm.TelefoneEmergencia, Celular = vm.Celular, EstadoCivil = vm.EstadoCivil, Sexo = vm.Sexo, DataNascimento = vm.DataNascimento }; if (vm.Enderecos.Any()) { foreach (var item in vm.Enderecos) { novoUsuario.Enderecos.Add(new Endereco { CEP = item.CEP, Logradouro = item.Logradouro, Numero = item.Numero, Complemento = item.Complemento, Bairro = item.Bairro, Localidade = item.Localidade, UF = item.UF, CodIBGE = item.CodIBGE, CodGIA = item.CodGIA, Apagado = false }); } } // Regra 5 - Adiciona Usuario na Base de dados _repository.Insert(novoUsuario); var urlRegistro = string.Format("/api/usuarios/{0}", novoUsuario.UsuarioID); return(Created(urlRegistro, novoUsuario)); } catch (System.Exception e) { return(StatusCode(System.Net.HttpStatusCode.ExpectationFailed)); } }