private void btnDeleteTeam(object sender, EventArgs e) { try { Team t = db.Teams.Find(((Team)lbExistingTeams.SelectedItem).TeamId); string warningText = "Er du sikker på, at du vil slette holdet: " + t.Name + " og alle studerende tilknyttet?\nDenne operation sletter også deres Websites, FTP Directory og Database, samt login til alle disse"; DialogResult result = MessageBox.Show(warningText, "Advarsel!", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (result == DialogResult.Yes) { //Find oprettede brugere på det angivne hold, der skal laves en ToList, da DeleteUserWebsiteFTPDatabase ellers ændrer i collectionen, der køres foreach over(må man ikke ) var students = t.Students.ToList(); //Sletter Windows bruger, IIS Website, IIS FTP (VirtualDirectory), Database, samt databaseserver login, for hver funden bruger. foreach (var item in students) { _userInteraction.DeleteUserWebsiteFTPDatabase(item.StudentId); } //sletter herefter holdet i databasen, og gemmer ændringerne til databasen. db.Teams.Remove(t); db.SaveChanges(); //opdaterer GUI, så det fjernede hold ikke længere er der. cbTeam.Items.Remove(t); cbTeamMany.Items.Remove(t); lbExistingTeams.Items.Remove(t); comboCredentialsTeam.Items.Remove(t); BatchState.State = UserProcessState.INITIAL; MessageBox.Show("Team, Students and credentials removed, aswell as FTP Virtual directory, Website and Windows User Credentials"); } } catch (Exception ex) { MessageBox.Show("Der er sket en fejl:\n" + ex.Message, "Fejl", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public ActionResult Delete(int?id) { int studId = 0; if (id != null) { studId = Convert.ToInt32(id); try { interaction.DeleteUserWebsiteFTPDatabase(studId); interaction.GetDbContext().SaveChanges(); } catch (Exception ex) { Response.Write(ex.Message + "\n" + ex.StackTrace + "\n" + ex.InnerException); } } return(RedirectToAction("Index")); }