public ActionResult DeleteConfirmed(int id, ComputerDeleteViewModel viewModel) { try { using (SqlConnection conn = Connection) { conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = @" DELETE FROM Computer WHERE Id = @Id AND Id NOT IN (SELECT ComputerId FROM ComputerEmployee) "; cmd.Parameters.Add(new SqlParameter("@Id", id)); SqlDataReader reader = cmd.ExecuteReader(); return(RedirectToAction(nameof(Index))); } } } catch { return(View()); } }
public ActionResult Delete(int id, ComputerDeleteViewModel viewModel) { try { using (SqlConnection conn = Connection) { conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = @"DELETE FROM Computer WHERE Id = @id AND NOT EXISTS (SELECT * FROM [ComputerEmployee] WHERE ComputerId = @id)"; cmd.Parameters.Add(new SqlParameter("@id", id)); cmd.ExecuteNonQuery(); } } return(RedirectToAction(nameof(Index))); } catch { return(View(viewModel)); } }
// GET: Computers/Delete/5 public ActionResult Delete(int id) { ComputerDeleteViewModel viewModel = new ComputerDeleteViewModel { Computer = GetComputerById(id) }; return(View(viewModel)); }
// GET: Computers/Delete/5 public ActionResult Delete(int id) { Computer computer = GetComputerById(id); if (computer == null) { return(NotFound()); } using (SqlConnection conn = Connection) { int?assignedcomputer = null; conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = @"SELECT c.Id AS ComputerId, c.PurchaseDate, c. DecomissionDate, c.Make, c.Manufacturer, ce.ComputerId as ComputerEmployeeCID FROM Computer c LEFT JOIN ComputerEmployee ce on c.id = ce.ComputerId WHERE c.Id = @id;"; cmd.Parameters.Add(new SqlParameter("@id", id)); cmd.ExecuteNonQuery(); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { assignedcomputer = reader.IsDBNull(reader.GetOrdinal("ComputerEmployeeCID")) ? (int?)null : (int?)reader.GetInt32(reader.GetOrdinal("ComputerEmployeeCID")); } ComputerDeleteViewModel viewModel = new ComputerDeleteViewModel { Id = id, Make = computer.Make, Manufacturer = computer.Manufacturer, PurchaseDate = computer.PurchaseDate, ShouldDisplayDelete = assignedcomputer == null }; reader.Close(); return(View(viewModel)); } } }
// GET: Computers/Delete/5 public ActionResult Delete(int id, ComputerDeleteViewModel viewModel) { ComputerDeleteViewModel comp = viewModel; List <Computer> AssignedComputers = isAssigned(); foreach (Computer c in AssignedComputers) { if (c.Id == id) { comp.isAssigned = true; break; } else { comp.isAssigned = false; } } using (SqlConnection conn = Connection) { // open the connection conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { // run the query cmd.CommandText = $@"SELECT Id, PurchaseDate, DecomissionDate, Make, Manufacturer FROM Computer WHERE Id = @id;"; // parameters cmd.Parameters.Add(new SqlParameter("@id", id)); Computer computer = null; SqlDataReader reader = cmd.ExecuteReader(); if (reader.Read()) { if (!reader.IsDBNull(reader.GetOrdinal("DecomissionDate"))) { computer = new Computer { Id = reader.GetInt32(reader.GetOrdinal("Id")), PurchaseDate = reader.GetDateTime(reader.GetOrdinal("PurchaseDate")), DecomissionDate = reader.GetDateTime(reader.GetOrdinal("DecomissionDate")), Make = reader.GetString(reader.GetOrdinal("Make")), Manufacturer = reader.GetString(reader.GetOrdinal("Manufacturer")) }; } else { computer = new Computer { Id = reader.GetInt32(reader.GetOrdinal("Id")), PurchaseDate = reader.GetDateTime(reader.GetOrdinal("PurchaseDate")), DecomissionDate = null, Make = reader.GetString(reader.GetOrdinal("Make")), Manufacturer = reader.GetString(reader.GetOrdinal("Manufacturer")) }; } } comp.Computer = computer; reader.Close(); return(View(comp)); } } }