private void PopulateAssignedTableData(Utilisateur serveur) { int RestoID = Convert.ToInt32(Session["RestoID"]); var allTables = db.Tables .Where(i => i.CRestoID == RestoID); var serveurTables = new HashSet<int>(serveur.Tables.Select(c => c.CTableID)); var viewModel = new List<AssignedTableData>(); foreach (var table in allTables) { viewModel.Add(new AssignedTableData { CTableID = table.CTableID, NumTable = table.i_TableNum, Assigned = serveurTables.Contains(table.CTableID) }); } ViewBag.Tables = viewModel; }
private void UpdateServeurTables(string[] selectedTables, Utilisateur serveurToUpdate) { if (selectedTables == null) { serveurToUpdate.Tables = new List<CTable>(); return; } int ServeurID = Convert.ToInt32(Session["ID"]); var selectedTablesHS = new HashSet<string>(selectedTables); var serveurTables = new HashSet<int> (serveurToUpdate.Tables.Select(c => c.CTableID)); string strCon = System.Web .Configuration .WebConfigurationManager .ConnectionStrings["CRestoContext"].ConnectionString; foreach (var table in db.Tables) { if (selectedTablesHS.Contains(table.CTableID.ToString())) { if (!serveurTables.Contains(table.CTableID)) { SqlConnection conn = new SqlConnection(strCon); SqlCommand ajouterTableServeur = new SqlCommand("INSERT INTO UtilisateurCTables VALUES (" + ServeurID + "," + table.CTableID + ")", conn); ajouterTableServeur.Connection = conn; conn.Open(); ajouterTableServeur.ExecuteReader(); conn.Close(); } } else { if (serveurTables.Contains(table.CTableID)) { SqlConnection conn = new SqlConnection(strCon); SqlCommand supprimerTableServeur = new SqlCommand("DELETE UtilisateurCTables FROM UtilisateurCTables WHERE UtilisateurCTables.Utilisateur_UtilisateurID = " + ServeurID + " AND UtilisateurCTables.CTable_CTableID = " + table.CTableID, conn); supprimerTableServeur.Connection = conn; conn.Open(); supprimerTableServeur.ExecuteReader(); conn.Close(); } } } db.SaveChanges(); }