// GET: Employees/Delete/5 public ActionResult Delete(int id) { EmployeeModel model = null; try { using (EmployeeDirectoryDB db = new EmployeeDirectoryDB(ConnectionString)) { Employee dbEmp = db.ReadEmployee(id); if (dbEmp == null) { return(new HttpStatusCodeResult(HttpStatusCode.NotFound, string.Format("Student with id = {0}, unknown.", id))); model = new EmployeeModel() { Id = dbEmp.Id.ToString(), FirstName = dbEmp.FirstName, LastName = dbEmp.LastName, EmployeeID = dbEmp.EmployeeID, BirthDate = dbEmp.BirthDate, Department = dbEmp.Department.ToString(), Gender = dbEmp.Gender.ToString(), Race = dbEmp.Race.ToString() }; } } } catch (Exception) { return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Internal Server Error")); } return(View(model)); }
// GET: Employees public ActionResult Index() { List <EmployeeModel> empList = new List <EmployeeModel>(); try { using (EmployeeDirectoryDB db = new EmployeeDirectoryDB(ConnectionString)) { foreach (Employee dbEmp in db.ReadAllEmployees()) { EmployeeModel model = new EmployeeModel() { Id = dbEmp.Id.ToString(), FirstName = dbEmp.FirstName, LastName = dbEmp.LastName, EmployeeID = dbEmp.EmployeeID, Gender = dbEmp.Gender.ToString(), Race = dbEmp.Race.ToString(), BirthDate = dbEmp.BirthDate, Department = dbEmp.Department.ToString() }; empList.Add(model); } } } catch (Exception) { return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Internal server error.")); } return(View(empList)); }
public ActionResult Delete(int id, EmployeeModel newEmp) { try { using (EmployeeDirectoryDB db = new EmployeeDirectoryDB(ConnectionString)) { db.DeleteEmployee(id); } return(RedirectToAction("Index")); } catch (KeyNotFoundException) { return(new HttpStatusCodeResult(HttpStatusCode.NotFound, string.Format("Student with id = {0}, unknown.", id))); } catch { return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Internal server error.")); } }
// GET: Employees/Edit/5 public ActionResult Edit(int id) { EmployeeModel model = null; try { using (EmployeeDirectoryDB db = new EmployeeDirectoryDB(ConnectionString)) { Employee dbEmp = db.ReadEmployee(id); if (dbEmp == null) { return(new HttpStatusCodeResult(HttpStatusCode.NotFound, string.Format("Employee with ID {0} unknown", id))); } model = new EmployeeModel() { Id = dbEmp.Id.ToString(), FirstName = dbEmp.FirstName, LastName = dbEmp.LastName, EmployeeID = dbEmp.EmployeeID, Gender = dbEmp.Gender.ToString(), Race = dbEmp.Race, Department = dbEmp.Department, BirthDate = dbEmp.BirthDate, RaceOptions = GetRaceOptions() }; foreach (SelectListItem item in model.RaceOptions) { if (item.Value == model.Race) { item.Selected = true; } } } } catch (Exception) { return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Internal server error.")); } return(View(model)); }
public ActionResult Edit(int id, EmployeeModel newEmp) { try { using (EmployeeDirectoryDB db = new EmployeeDirectoryDB(ConnectionString)) { Employee dbEmp = new Employee(); dbEmp.FirstName = newEmp.FirstName; if (string.IsNullOrEmpty(dbEmp.FirstName)) { ModelState.AddModelError("FirstName", "First name is required."); } dbEmp.LastName = newEmp.LastName; if (string.IsNullOrEmpty(dbEmp.LastName)) { ModelState.AddModelError("LastName", "Last name is required."); } dbEmp.EmployeeID = newEmp.EmployeeID; if (string.IsNullOrEmpty(dbEmp.EmployeeID)) { ModelState.AddModelError("EmployeeID", "Employee ID is required."); } int x; if (!int.TryParse(dbEmp.EmployeeID, out x)) { ModelState.AddModelError("EmployeeID", "Employee ID must only contain numbers"); } if (dbEmp.EmployeeID.Length != 8) { ModelState.AddModelError("EmployeeID", "Employee ID must be 8 digts."); } if (string.Compare(newEmp.Gender, "Male", true) == 0) { dbEmp.Gender = Gender.Male; } else if (string.Compare(newEmp.Gender, "Female", true) == 0) { dbEmp.Gender = Gender.Female; } else { ModelState.AddModelError("Gender", "Gender must be either male or female"); } dbEmp.Race = newEmp.Race; dbEmp.BirthDate = newEmp.BirthDate; switch (newEmp.Race.ToLower()) { case "hr": case "it": case "management": case "sales": case "customer service": dbEmp.Department = newEmp.Department; break; default: ModelState.AddModelError("Department", "Invalid entry. Options are: HR, IT, Management, Sales, and Customer Service"); break; } dbEmp.FullTime = newEmp.FullTime; if (!ModelState.IsValid) { newEmp.RaceOptions = GetRaceOptions(); return(View(newEmp)); } db.UpdateEmployee(dbEmp); } return(RedirectToAction("Index")); } catch (KeyNotFoundException) { return(new HttpStatusCodeResult(HttpStatusCode.NotFound, string.Format("Student with id = {0}, unknown.", id))); } catch { return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Internal server error.")); } }