public async Task <ActionResult <Article> > PostArticle([Bind("Id,Title,Content,Date,Username")] Article article)
        {
            _context.Articles.Add(article);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetArticle", new { id = article.Id }, article));
        }
Ejemplo n.º 2
0
        public async Task <bool> CreateMessageAsync(string senderUsername, string receiverUsername, string content)
        {
            var sender = await _db.Users.FirstOrDefaultAsync(u => u.UserName == senderUsername);

            var receiver = await _db.Users.FirstOrDefaultAsync(u => u.UserName == receiverUsername);

            if (sender == null || receiver == null)
            {
                return(false);
            }

            var message = new Message
            {
                Sender   = sender,
                Receiver = receiver,
                Content  = content,
                Date     = DateTime.UtcNow
            };

            await _db.Messages.AddAsync(message);

            await _db.SaveChangesAsync();

            return(true);
        }
Ejemplo n.º 3
0
        public async Task <bool> DeleteFriendshipAsync(string issuerUsername, string userToCancel)
        {
            var issuer = await _db.Users.FirstOrDefaultAsync(u => u.UserName == issuerUsername);

            var friend = await _db.Users.FirstOrDefaultAsync(u => u.UserName == userToCancel);

            if (friend == null || issuer == null)
            {
                return(false);
            }

            var friendship = await _db.Friendships
                             .FirstOrDefaultAsync(f => (f.User == issuer && f.Friend == friend) ||
                                                  (f.Friend == issuer && f.User == friend));

            if (friendship == null)
            {
                return(false);
            }

            _db.Friendships.Remove(friendship);

            await _db.SaveChangesAsync();

            return(true);
        }
Ejemplo n.º 4
0
        public virtual async Task <bool> DeleteByIdAsync(string id)
        {
            var entity = await GetByIdAsync(id);

            if (entity == null)
            {
                return(false);
            }

            Context.Remove(entity);
            await Context.SaveChangesAsync();

            return(true);
        }
Ejemplo n.º 5
0
        public async Task <bool> CreateAlbumAsync(string albumName, string description, string userId)
        {
            var user = await _db.Users
                       .Include(u => u.Albums)
                       .FirstOrDefaultAsync(u => u.Id == userId);

            if (user == null)
            {
                return(false);
            }

            var album = new Album
            {
                Name        = albumName,
                Description = description,
                User        = user
            };

            await _db.Albums.AddAsync(album);

            await _db.SaveChangesAsync();

            return(true);
        }
Ejemplo n.º 6
0
        public async Task <bool> CreateAsync(string publisher, string title, string content, IFormFile pictureFile)
        {
            var user = await _db.Users.FirstOrDefaultAsync(u => u.UserName == publisher);

            if (user == null)
            {
                return(false);
            }

            using (var stream = new MemoryStream())
            {
                await pictureFile.CopyToAsync(stream);

                var pictureData = stream.ToArray();

                var picture = new Picture
                {
                    ImageData = pictureData
                };

                var post = new Post
                {
                    Title       = title,
                    Content     = content,
                    Picture     = picture,
                    PublishedOn = DateTime.UtcNow,
                    User        = user
                };

                await _db.Posts.AddAsync(post);

                await _db.SaveChangesAsync();

                return(true);
            }
        }
Ejemplo n.º 7
0
 public async Task SaveChangesAsync()
 {
     await _context.SaveChangesAsync();
 }