public async Task <ActionResult> OnPostRemove() { if (SpecProcessAssignmentsToPost != null && SpecProcessAssignmentsToPost.Any()) { await SetUpProperties(); //This is called here so AllSpecProcessAssigns is available to find the assignment(s) being sent back to the API. foreach (var assignment in SpecProcessAssignmentsToPost) { var allIds = assignment.Split("-"); //This will be a list of 3 ids: specId, specRevId, specAssignId seperated by a "-" var specId = int.Parse(allIds[0]); var specRevId = int.Parse(allIds[1]); var specAssignId = int.Parse(allIds[2]); var theSpecProcessAssignToRemove = AllSpecProcessAssigns.FirstOrDefault(i => i.SpecId == specId && i.SpecRevId == specRevId && i.SpecAssignId == specAssignId); await SpecProcessAssignDataAccess.RemoveReviedNeeded(theSpecProcessAssignToRemove); } Message = new PopUpMessageModel() { IsMessageGood = true, Text = "Specification-Process Assignments inactivated successfully" }; } await SetUpProperties(); //This is called again to update the ReviewNeeded list because some were just removed based on the stuff above. return(Page()); }