Esempio n. 1
0
        public List <UserBindModel> GetAll()
        {
            var    re     = Request;
            var    header = re.Headers;
            string h;

            try
            {
                h = header.GetValues("Authorization").First();
            }
            catch (Exception)
            {
                throw new HttpResponseException(HttpStatusCode.Unauthorized);
            }
            TokenService bsu        = new TokenService(new ModelStateWrapper(this.ModelState), unitOfWork);
            Token        token      = bsu.GetByName(h);
            User         loggedUser = service.GetById(token.UserId);

            if (loggedUser.IsTeacher)
            {
                List <User>          users          = service.GetAll();
                List <UserBindModel> usersBindModel = new List <UserBindModel>();
                foreach (var user in users)
                {
                    UserBindModel userBindModel = new UserBindModel
                    {
                        Name      = user.Name,
                        Email     = user.Email,
                        Password  = user.Password,
                        IsTeacher = user.IsTeacher
                    };
                    usersBindModel.Add(userBindModel);
                }
                return(usersBindModel);
            }
            else
            {
                HttpResponseMessage message = new HttpResponseMessage(HttpStatusCode.NotImplemented);
                message.Content = new StringContent("You don't have permission for this action!");
                throw new HttpResponseException(message);
            }
        }
Esempio n. 2
0
        public IHttpActionResult PostUser([FromBody] UserBindModel userBindModel)
        {
            var    re     = Request;
            var    header = re.Headers;
            string h;

            try
            {
                h = header.GetValues("Authorization").First();
            }
            catch (Exception)
            {
                throw new HttpResponseException(HttpStatusCode.Unauthorized);
            }
            TokenService bsu        = new TokenService(new ModelStateWrapper(this.ModelState), unitOfWork);
            Token        token      = bsu.GetByName(h);
            User         loggedUser = service.GetById(token.UserId);

            if (loggedUser.IsTeacher)
            {
                User user = new User
                {
                    Name      = userBindModel.Name,
                    Email     = userBindModel.Email,
                    Password  = userBindModel.Password,
                    IsTeacher = userBindModel.IsTeacher
                };
                service.Create(user);
                service.Save();

                return(CreatedAtRoute("DefaultApi", new { id = user.Id }, user));
            }
            else
            {
                HttpResponseMessage message = new HttpResponseMessage(HttpStatusCode.NotImplemented);
                message.Content = new StringContent("You don't have permission for this action!");
                throw new HttpResponseException(message);
            }
        }
Esempio n. 3
0
        public FullLaboratoryBindingModel Convert(Laboratory lab)
        {
            FullLaboratoryBindingModel aux = new FullLaboratoryBindingModel();

            aux.Id        = lab.Id;
            aux.Descricao = lab.Descricao;

            foreach (Project p in lab.Projects)
            {
                var project = new ProjectReturnBindingModel()
                {
                    Id          = p.Id,
                    Titulo      = p.Titulo,
                    Descricao   = p.Descricao,
                    DataCriacao = p.DataCriacao
                };
                aux.Projetos.Add(project);
            }

            foreach (User u in lab.Users)
            {
                var user = new UserBindModel()
                {
                    Id           = u.Id,
                    Biografia    = u.Biografia,
                    Curso        = u.Curso,
                    DataInicio   = u.DataInicio,
                    Email        = u.Email,
                    Foto         = u.UrlFoto,
                    Nascimento   = u.Nascimento,
                    Nome         = u.Nome,
                    Universidade = u.Universidade
                };

                aux.Users.Add(user);
            }
            return(aux);
        }
        public IHttpActionResult CreateOrUpdate(UserBindModel model)
        {
            appService.CreateOrUpdate(model);

            return(Ok());
        }
Esempio n. 5
0
        public IHttpActionResult PutUser(int id, [FromBody] UserBindModel userBindModel)
        {
            var    re     = Request;
            var    header = re.Headers;
            string h;

            try
            {
                h = header.GetValues("Authorization").First();
            }
            catch (Exception)
            {
                throw new HttpResponseException(HttpStatusCode.Unauthorized);
            }
            TokenService bsu        = new TokenService(new ModelStateWrapper(this.ModelState), unitOfWork);
            Token        token      = bsu.GetByName(h);
            User         loggedUser = service.GetById(token.UserId);


            if (!loggedUser.IsTeacher)
            {
                HttpResponseMessage message = new HttpResponseMessage(HttpStatusCode.NotImplemented);
                message.Content = new StringContent("You don't have permission for this action!");
                throw new HttpResponseException(message);
            }
            else
            {
                if (!UserExists(id))
                {
                    User user = new User
                    {
                        Name      = userBindModel.Name,
                        Email     = userBindModel.Email,
                        Password  = userBindModel.Password,
                        IsTeacher = userBindModel.IsTeacher
                    };
                    if (id != user.Id)
                    {
                        return(BadRequest());
                    }

                    try
                    {
                        service.Update(user);
                        service.Save();
                    }
                    catch
                    {
                        if (!UserExists(id))
                        {
                            return(NotFound());
                        }
                        else
                        {
                            throw;
                        }
                    }

                    return(StatusCode(HttpStatusCode.NoContent));
                }
                else
                {
                    HttpResponseMessage message = new HttpResponseMessage(HttpStatusCode.NotImplemented);
                    message.Content = new StringContent("The user doesn't exist!");
                    throw new HttpResponseException(message);
                }
            }
        }