public async Task <int> SavePost(int?id) { if (id == null) { return(0); } Post post = await _db.Posts.FindAsync(id); if (post == null) { return(0); } User currentUser = await _userManager.GetUserAsync(User); SavedPost saved = new SavedPost() { UserId = currentUser.Id, PostId = (int)id }; _db.SavedPosts.Add(saved); await _db.SaveChangesAsync(); return(1); }
public bool AddSavedPost(SavedPost sp) { try { var savedPostExists = _context.SavedPosts.FirstOrDefault(x => x.OrganisationID == sp.OrganisationID && x.PostID == sp.PostID); if (savedPostExists != null) { return(false); } SavedPost newSp = new SavedPost(); newSp.OrganisationID = sp.OrganisationID; newSp.PostID = sp.PostID; _context.SavedPosts.Add(newSp); _context.SaveChanges(); return(true); } catch (Exception) { return(false); } }
private SavedPost Mapper(SqlDataReader reader) { SavedPost model = new SavedPost(); int index = 0; model.Id = reader.GetInt32(index++); model.Title = reader.GetString(index++); model.Url = reader.GetString(index++); if (!reader.IsDBNull(index)) { model.Notes = reader.GetString(index++); } else { index++; } model.CreatedDate = reader.GetDateTime(index); return(model); }
public async Task SaveAsync(Guid postId, Guid userId) { var post = await _postsRepository.GetByIdAsync(postId, p => p .Include(e => e.SavedBy)); var saved = post.SavedBy.SingleOrDefault(u => u.UserId == userId); if (saved == null) { saved = new SavedPost(userId, postId); post.SavedBy.Add(saved); } else { post.SavedBy.Remove(saved); } // TODO test to see if it is necessary to use an downvotes repository await _postsRepository.UpdateAsync(post); }
public async Task <int> UnsavePost(int?id) { if (id == null) { return(0); } Post post = await _db.Posts.FindAsync(id); if (post == null) { return(0); } User currentUser = await _userManager.GetUserAsync(User); SavedPost saved = _db.SavedPosts.Where(p => p.UserId == currentUser.Id && p.PostId == id).FirstOrDefault(); _db.SavedPosts.Remove(saved); await _db.SaveChangesAsync(); return(1); }
public SavedPost SelectById(int id) { SavedPost model = new SavedPost(); using (SqlConnection conn = new SqlConnection(connString)) { conn.Open(); using (SqlCommand cmd = new SqlCommand("RedditPosts_SelectById", conn)) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@Id", id); SqlDataReader reader = cmd.ExecuteReader(); if (reader.Read()) { model = Mapper(reader); } } conn.Close(); } return(model); }
public List <SavedPost> GetAll(int UserId) { List <SavedPost> postList = new List <SavedPost>(); using (SqlConnection conn = new SqlConnection(connString)) { conn.Open(); using (SqlCommand cmd = new SqlCommand("RedditPosts_SelectAll", conn)) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@UserId", UserId); SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection); while (reader.Read()) { SavedPost model = Mapper(reader); postList.Add(model); } } conn.Close(); } return(postList); }
public Task <bool> SavePostForUserAsync(SavedPost savedPost) { _dbContext.SavedPosts.Add(savedPost); return(CommitedResultIsSuccessfulAsync()); }
public bool AddSavedPost(SavedPost sp) { return(_IPostsUI.AddSavedPost(sp)); }