Exemple #1
0
        /// <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));
            }
        }
Exemple #2
0
        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));
            }
        }