public ActionResult <UserDto> CreateUser(UserForCreationDto user)
        {
            var userEntity = _mapper.Map <User>(user);

            _articleLibraryRepository.AddUser(userEntity);
            _articleLibraryRepository.Save();

            var userToReturn = _mapper.Map <UserDto>(userEntity);

            return(CreatedAtRoute("GetUser",
                                  new { userId = userToReturn.Id },
                                  userToReturn));
        }
Beispiel #2
0
        public ActionResult <IEnumerable <UserDto> > CreateUserCollection(IEnumerable <UserForCreationDto> userCollection)
        {
            var userEntities = _mapper.Map <IEnumerable <Entities.User> >(userCollection);

            foreach (var user in userEntities)
            {
                _articleLibraryRepository.AddUser(user);
            }

            _articleLibraryRepository.Save();

            var userCollectionToReturn = _mapper.Map <IEnumerable <UserDto> >(userEntities);
            var idsAsString            = string.Join(",", userCollectionToReturn.Select(u => u.Id));

            return(CreatedAtRoute("GetAuthorCollection",
                                  new { ids = idsAsString },
                                  userCollectionToReturn));
        }
Beispiel #3
0
        public ActionResult <ArticleDto> CreateArticleForUser(Guid userId, ArticleForCreationDto article, Guid tagId)
        {
            if (!_articleLibraryRepository.UserExists(userId) ||
                !_tagLibraryRepository.TagExists(tagId))
            {
                return(NotFound());
            }

            var articleEntity = _mapper.Map <Entities.Article>(article);

            _articleLibraryRepository.AddArticle(userId, articleEntity, tagId);
            _articleLibraryRepository.Save();

            var articleToReturn = _mapper.Map <ArticleDto>(articleEntity);

            return(CreatedAtRoute("GetArticleForUser",
                                  new { userId = userId, articleId = articleToReturn.Id },
                                  articleToReturn));
        }