Ejemplo n.º 1
0
        public IHttpActionResult AddTagsToUser([FromBody] TagListModel tagList)
        {
            if (Request.Headers.Authorization == null)
            {
                return(Content(HttpStatusCode.Unauthorized, "Invalid token"));
            }
            var token       = Request.Headers.Authorization.ToString();
            var tokenString = token.Substring("Basic ".Length).Trim();

            if (!token.IsEmpty() && token.StartsWith("Basic"))
            {
                if (_authorizer.GetTokenInfo(tokenString) == null)
                {
                    return(Content(HttpStatusCode.Unauthorized, "Invalid token"));
                }
            }
            else
            {
                return(Content(HttpStatusCode.Unauthorized, "Invalid token"));
            }
            try
            {
                _userManager.AddTagsToUser(tagList.tags, _authorizer.GetTokenInfo(tokenString).UserId);
            }
            catch (System.ArgumentException)
            {
                return(BadRequest());
            }
            var projects  = _userManager.GetAllUserProjects(_userManager.GetUser(_authorizer.GetTokenInfo(tokenString).UserId));
            var portfolio = new List <ProjectPresentation>();

            foreach (var prj in projects)
            {
                portfolio.Add(new ProjectPresentation(prj, _userManager.GetMembers(prj)));
            }
            return(Ok(new UserPresentation(_userManager.GetUser(_authorizer.GetTokenInfo(tokenString).UserId), portfolio)));
        }