/// <summary> /// Este método retorna um usuario a partir do seu ID /// </summary> /// <param name="id">Id relativo a chave de busca para o usuario</param> /// <returns>Retorna um usuario</returns> public HttpResponseMessage Get(Guid id) { try { Usuario usuarioModel = null; UsuarioRepository usuarioRepository = new UsuarioRepository(ConfigurationManager.ConnectionStrings["conexao"].ToString()); UsuarioApplication usuarioApplication = new UsuarioApplication(usuarioRepository); Uniftec.ProjetosWeb.Domain.Entities.Usuario usuario = usuarioApplication.Procurar(id); //Realizar o adapter entre a entidade e o modelo de dados do dominio if (usuario != null) { usuarioModel = new Usuario() { Id = usuario.Id, PrimeiroNome = usuario.PrimeiroNome, SegundoNome = usuario.SegundoNome, Funcao = usuario.Funcao, Servidores = usuario.Servidores, Email = usuario.Email, Senha = usuario.Senha }; foreach (var servidor in usuario.ListaServidores) { usuarioModel.ListaServidores.Add(new Servidor() { Id = servidor.Id, Nome = servidor.Nome, EnderecoFisico = servidor.EnderecoFisico, Processador = servidor.Processador, SistemaOperacional = servidor.SistemaOperacional, MacAddress = servidor.MacAddress, IpAddress = servidor.IpAddress, Sensor = { Id = servidor.Sensor.Id, Temperatura = servidor.Sensor.Temperatura, Pressao = servidor.Sensor.Pressao, Altitude = servidor.Sensor.Altitude, Umidade = servidor.Sensor.Umidade, Data = servidor.Sensor.Data, PontoOrvalho = servidor.Sensor.PontoOrvalho } }); } return(Request.CreateResponse(HttpStatusCode.OK, usuarioModel)); } else { return(Request.CreateResponse(HttpStatusCode.NotFound)); } } catch (Exception e) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e)); } }
public HttpResponseMessage Put(Guid id, [FromBody] Usuario usuario) { try { //Alterar o usuario na base de dados //Essa alteracao retorna um ID //Id retornado para o requisitante do serviço UsuarioRepository usuarioRepository = new UsuarioRepository(ConfigurationManager.ConnectionStrings["conexao"].ToString()); UsuarioApplication usuarioApplication = new UsuarioApplication(usuarioRepository); //Converter o model para uma entidade de dominio Uniftec.ProjetosWeb.Domain.Entities.Usuario usuarioDomain = new Uniftec.ProjetosWeb.Domain.Entities.Usuario() { Id = id, PrimeiroNome = usuario.PrimeiroNome, SegundoNome = usuario.SegundoNome, Funcao = usuario.Funcao, Servidores = usuario.Servidores, Email = usuario.Email, Senha = usuario.Senha }; foreach (var servidor in usuario.ListaServidores) { usuarioDomain.ListaServidores.Add(new Uniftec.ProjetosWeb.Domain.Entities.Servidor() { Id = servidor.Id, Nome = servidor.Nome, EnderecoFisico = servidor.EnderecoFisico, Processador = servidor.Processador, SistemaOperacional = servidor.SistemaOperacional, MacAddress = servidor.MacAddress, IpAddress = servidor.IpAddress, Sensor = { Id = servidor.Sensor.Id, Temperatura = servidor.Sensor.Temperatura, Pressao = servidor.Sensor.Pressao, Altitude = servidor.Sensor.Altitude, Umidade = servidor.Sensor.Umidade, Data = servidor.Sensor.Data, PontoOrvalho = servidor.Sensor.PontoOrvalho } }); } usuarioApplication.Alterar(usuarioDomain); return(Request.CreateErrorResponse(HttpStatusCode.OK, Convert.ToString(id))); } catch (Exception e) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e)); } }