public async Task <IActionResult> Delete(DeleteGroupModel model) { Group group = await _context.Groups.FindAsync(model.groupid); if (group == null) { return(await RedirectBack($"Could not find the group {model.groupid}")); } User user = await _userManager.GetUserAsync(User); if (user == null) { return(await RedirectBack($"Could not verify user!")); } if (!group.IsOwner(user)) { return(await RedirectBack($"You don't own {group.Name}!")); } // Remove category ForumCategory category = _context.ForumCategories.FirstOrDefault(c => c.CategoryID == group.Name); if (category != null) { _context.ForumCategories.Remove(category); } await _context.SaveChangesAsync(); /* * Stock stock = _stockContext.Stocks.FirstOrDefault(s => s.GroupID == model.groupid); * * // Handle stocks * * if (stock != null) * { * int publicOwners = stock.Total - stock.ExchangeOwned; * * foreach (var ownership in stock.GetAllOwnership()) * { * User stockowner = await _userManager.FindByIdAsync(ownership.Item1); * * decimal ret = ((ownership.Item2 * 1.0m) / publicOwners) * group.Credits; * * stockowner.Credits += ret; * * await _userManager.UpdateAsync(stockowner); * } * * _stockContext.Stocks.Remove(stock); * * await _stockContext.SaveChangesAsync(); * } */ await group.ClearRoles(); _context.Remove(group); await _context.SaveChangesAsync(); StatusMessage = $"Successfully deleted {group.Name}!"; return(RedirectToAction("Index", controllerName: "Home")); }