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