Esempio n. 1
0
        // 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));
        }
Esempio n. 2
0
        // 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));
        }
Esempio n. 3
0
        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."));
            }
        }
Esempio n. 4
0
        // 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));
        }
Esempio n. 5
0
        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."));
            }
        }