public IHttpActionResult Put(int id, [FromBody] JogViewModel jog) { if (!ModelState.IsValid) { return(BadRequest()); } try { var token = Request.Headers.GetValues("access-token").First(); var user = _unitOfWork.UserRepository.AuthorizateUser(token); var oldJog = _unitOfWork.JogRepository.GetByID(id); if (oldJog == null) { return(NotFound()); } if (user.Permission != UserPermission.Admin && oldJog.UserID != user.ID) { return(Unauthorized()); } var g = _unitOfWork.JogRepository.Update(id, Mapper.Map <Jog>(jog)); _unitOfWork.Complete(); if (jog != null) { return(Ok <JogViewModel>(Mapper.Map <JogViewModel>(g))); } return(NotFound()); } catch (Exception) { return(InternalServerError()); } }
public IHttpActionResult Post([FromBody] JogViewModel jog) { if (!ModelState.IsValid) { return(BadRequest()); } try { var token = Request.Headers.GetValues("access-token").First(); var user = _unitOfWork.UserRepository.AuthorizateUser(token); jog.UserID = user.ID; var g = _unitOfWork.JogRepository.Create(Mapper.Map <Jog>(jog)); _unitOfWork.Complete(); if (g != null) { return(Created <JogViewModel>(Request.RequestUri + "/" + g.ID, Mapper.Map <JogViewModel>(g))); } return(BadRequest()); } catch (Exception) { return(InternalServerError()); } }