public async Task <ActionResult> BlockUser(int?id) { if (id == null || id <= 0) { return(NotFound()); } var userId = User.FindFirstValue(ClaimTypes.NameIdentifier); // will give the user's userI var UserInventory = await _DataAccess.UserInventoryDataAccess.GetUserInventoryByUserAsync(userId); var otherUserInventory = await _DataAccess.UserInventoryDataAccess.GetInventoryAsync(id ?? 0); if (UserInventory == null || otherUserInventory == null) { return(NotFound()); } var item = await _DataAccess.UserInventoryDataAccess.GetFriendBlockItem(otherUserInventory.Id, UserInventory.Id); if (item == null) { item = new FriendBlockItem(); item.UserInventorTwoId = id ?? 0; item.UserInventoryOneId = UserInventory.Id; item.Status = FriendBlockStatus.Blocked; await _DataAccess.UserInventoryDataAccess.UpsertFriendBlockListItem(item); } else { item.Status = FriendBlockStatus.Blocked; await _DataAccess.UserInventoryDataAccess.UpsertFriendBlockListItem(item); } return(RedirectToAction("Index", "Dashboard")); }
private FriendBlockItem PopulateFriendBlockListItem(FriendBlockItem item) { if (item != null) { if (item.UserInventorTwoId > 0) { item.UserInventoryTwo = PopulateUserInventory(_context.UserInventories.FirstOrDefault(x => x.Id == item.UserInventorTwoId)); } if (item.UserInventoryOneId > 0) { item.UserInventoryOne = PopulateUserInventory(_context.UserInventories.FirstOrDefault(x => x.Id == item.UserInventoryOneId)); } } return(item); }
public async Task <FriendBlockItem> UpsertFriendBlockListItem(FriendBlockItem item) { var idOne = item.UserInventoryOneId; var idTwo = item.UserInventorTwoId; var itemData = _context.FriendBlockItems.FirstOrDefault(x => (x.UserInventorTwoId == idOne || x.UserInventoryOneId == idOne) && (x.UserInventorTwoId == idTwo || x.UserInventoryOneId == idTwo)); if (itemData != null) { itemData.Status = item.Status; _context.SaveChanges(); return(PopulateFriendBlockListItem(itemData)); } else { _context.FriendBlockItems.Add(item); _context.SaveChanges(); return(PopulateFriendBlockListItem(item)); } }