public async Task <IActionResult> AddCollection(CollectionAddRequest request, User user)
        {
            var result = (OkObjectResult) await GetCollection(request.Name, user);

            var collection = (Collection)result.Value;

            if (collection != null)
            {
                return(new BadRequestResult());
            }

            Collection newCollection = new Collection
            {
                Name         = request.Name,
                CreationDate = DateTime.Now,
                Color        = request.Color
            };

            await _context.Collections.AddAsync(newCollection);

            await _context.SaveChangesAsync();

            UserCollection newUserCollection = new UserCollection
            {
                IdUser       = user.IdUser,
                IdCollection = newCollection.IdCollection
            };

            await _context.UserCollections.AddAsync(newUserCollection);

            await _context.SaveChangesAsync();

            return(new OkObjectResult(newCollection));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> AddItem(AddingItemRequest request)
        {
            //TODO check if it there is note with the same title

            var item = new Item
            {
                Title           = request.Title,
                Content         = request.Content,
                CreationDate    = DateTime.Now,
                KnowledgeRating = request.KnowledgeRating,
                Type            = request.Type
            };

            await _context.Items.AddAsync(item);

            await _context.SaveChangesAsync();

            await _context.CollectionItems.AddAsync(new CollectionItem {
                IdItem       = item.IdItem,
                IdCollection = request.IdCollection
            });

            await _context.SaveChangesAsync();

            return(new OkResult());
        }
Exemplo n.º 3
0
        public async Task <IActionResult> Register(RegistrationRequest request)
        {
            EncodedPassword password = EncodePassword(request.Password, GenerateRandomSalt32());

            User newUser = new User {
                Username = request.Username,
                Email    = request.Email,
                Password = password.hash,
                Salt     = password.salt
            };

            await _context.Users.AddAsync(newUser);

            await _context.SaveChangesAsync();

            return(new OkObjectResult(newUser));
        }