public List <ProfileDisplayClass> loadLikedList(string APIKey, string username) { if (APIKey == this.APIKey) { User tempUser = new User(); int userID = tempUser.getUserID(username); LikedList tempList = new LikedList(); try { string listOfLikes = tempList.getLikes(userID).List; int[] likedUserIDs = Array.ConvertAll(listOfLikes.Split('|'), int.Parse); List <ProfileDisplayClass> likedUserProfiles = new List <ProfileDisplayClass>(); foreach (int id in likedUserIDs) { ProfileDisplayClass profileDisplay = new ProfileDisplayClass(); likedUserProfiles.Add(profileDisplay.retreiveProfileDisplayFromDB(id)); } return(likedUserProfiles); } catch (NullReferenceException) { return(null); } } else { return(null); } }
public IActionResult List(String Act, int ItemId, int CategoryId) { UserItems uI = new UserItems(); uI.MyItems = _context.Items.OrderBy(x => x.ItemId).ToList(); uI.TheName = HttpContext.Session.GetString("UserName"); uI.TheRole = HttpContext.Session.GetString("UserRole"); if (uI.TheName != null) { Item item = _context.Items.FirstOrDefault(x => x.ItemId == ItemId); int userId = Convert.ToInt32(HttpContext.Session.GetString("UserId")); bool has = _iLikedListRepository.HasList(userId, ItemId); if (Act == "Like") { LikedList likedList = new LikedList { CategoryId = CategoryId, ItemId = ItemId, likedItems = new List <Item> { item }, UserId = userId }; _context.LikedItems.Add(likedList); _context.SaveChanges(); } if (Act == "Buy") { BuyList BuyList = new BuyList { CategoryId = CategoryId, ItemId = ItemId, BuyItemLists = new List <Item> { item }, UserId = userId }; _context.BuyListItems.Add(BuyList); _context.SaveChanges(); } } else { return(RedirectToAction("Login", "Main")); } return(View(uI)); }
public IActionResult BuyList(String Act, int ItemId, int CategoryId) { UserItems uI = new UserItems(); uI.MyItems = _context.Items.OrderBy(x => x.ItemId).ToList(); uI.TheName = HttpContext.Session.GetString("UserName"); uI.TheRole = HttpContext.Session.GetString("UserRole"); if (uI.TheName != null) { Item item = _context.Items.FirstOrDefault(x => x.ItemId == ItemId); int userId = Convert.ToInt32(HttpContext.Session.GetString("UserId")); bool has = _iBuyListReository.HasList(userId, ItemId); if (Act == "Like" && !has) { LikedList LikedList = new LikedList { CategoryId = CategoryId, ItemId = ItemId, likedItems = new List <Item> { item }, UserId = userId }; _context.LikedItems.Add(LikedList); _context.SaveChanges(); } if (Act == "Delete") { BuyList items = _context.BuyListItems.Where(x => x.UserId == userId && x.ItemId == ItemId).FirstOrDefault(); _context.BuyListItems.Remove(items); _context.SaveChanges(); } } return(RedirectToAction("BuyList")); }
public int addLikes(string APIKey, string username, string likedProfileUsername) { if (APIKey == this.APIKey) { User tempUser = new User(); int userID = tempUser.getUserID(username); int likedUserID = tempUser.getUserID(likedProfileUsername); LikedList tempLikes = new LikedList(); return(tempLikes.addLikeToDB(userID, likedUserID)); } else { return(0); } }
public bool removeFromLikes(string APIKey, string username, string usernameToRemove) { if (APIKey == this.APIKey) { User tempUser = new User(); int userID = tempUser.getUserID(username); int userIDToRemove = tempUser.getUserID(usernameToRemove); LikedList tempList = new LikedList(); string likesList = tempList.getLikes(userID).List; int[] likedUserIDs = Array.ConvertAll(likesList.Split('|'), int.Parse); List <int> likes = new List <int>(likedUserIDs); string newLikesList; if (likes.Count == 1) { //newLikesList = null; DBConnect objDB = new DBConnect(); SqlCommand objCmd = new SqlCommand(); objCmd.CommandType = CommandType.StoredProcedure; objCmd.CommandText = "TP_RemoveLikes"; objCmd.Parameters.AddWithValue("@likedBy", userID); int result = objDB.DoUpdateUsingCmdObj(objCmd); if (result == 1) { return(true); } else { return(false); } } else { int index = likes.IndexOf(userIDToRemove); likes.RemoveAt(index); newLikesList = string.Join('|', likes); DBConnect objDB = new DBConnect(); SqlCommand objCmd = new SqlCommand(); objCmd.CommandType = CommandType.StoredProcedure; objCmd.CommandText = "TP_ModifyLikes"; objCmd.Parameters.AddWithValue("@liked", newLikesList); objCmd.Parameters.AddWithValue("@likedBy", userID); int result = objDB.DoUpdateUsingCmdObj(objCmd); if (result == 1) { return(true); } else { return(false); } } } else { return(false); } }