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); } }
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); } }
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()); }
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); } } }