public ActionResult Index()
        {
            EmployeeListViewModel employeeListViewModel = new EmployeeListViewModel();
            employeeListViewModel.UserName = User.Identity.Name;

            EmployeeBusinessLayer empBal = new EmployeeBusinessLayer();
            List<Employee> employees = empBal.GetEmployees();

            List<EmployeeViewModel> empViewModels = new List<EmployeeViewModel>();

            foreach (Employee emp in employees)
            {
                EmployeeViewModel empViewModel = new EmployeeViewModel();
                empViewModel.EmployeeName = emp.FirstName + " " + emp.LastName;
                empViewModel.Salary = emp.Salary.Value.ToString("C");
                if (emp.Salary > 15000)
                {
                    empViewModel.SalaryColor = "yellow";
                }
                else
                {
                    empViewModel.SalaryColor = "green";
                }
                empViewModels.Add(empViewModel);
            }
            employeeListViewModel.Employees = empViewModels;
            return View("Index", employeeListViewModel);
        }
 public ActionResult DoLogin(UserDetails u)
 {
     if (ModelState.IsValid)
     {
         EmployeeBusinessLayer bal = new EmployeeBusinessLayer();
         //New Code Start
         UserStatus status = bal.GetUserValidity(u);
         bool IsAdmin = false;
         if (status == UserStatus.AuthenticatedAdmin)
         {
             IsAdmin = true;
         }
         else if (status == UserStatus.AuthentucatedUser)
         {
             IsAdmin = false;
         }
         else
         {
             ModelState.AddModelError("CredentialError", "Invalid Username or Password");
             return View("Login");
         }
         FormsAuthentication.SetAuthCookie(u.UserName, false);
         Session["IsAdmin"] = IsAdmin;
         return RedirectToAction("Index", "Employee");
         //New Code End
     }
     else
     {
         return View("Login");
     }
 }
 public async Task<ActionResult> Upload(FileUploadViewModel model)
 {
     int t1 = Thread.CurrentThread.ManagedThreadId;
     List<Employee> employees = await Task.Factory.StartNew<List<Employee>>
         (() => GetEmployees(model));
     int t2 = Thread.CurrentThread.ManagedThreadId;
     EmployeeBusinessLayer bal = new EmployeeBusinessLayer();
     bal.UploadEmployees(employees);
     return RedirectToAction("Index", "Employee");
 }
 public ActionResult SaveEmployee(Employee e, string BtnSubmit)
 {
     switch (BtnSubmit)
     {
         case "Save Employee":
             if (ModelState.IsValid)
             {
                 EmployeeBusinessLayer empBal = new EmployeeBusinessLayer();
                 empBal.SaveEmployee(e);
                 return RedirectToAction("Index");
             }
             else
             {
                 CreateEmployeeViewModel vm = new CreateEmployeeViewModel();
                 vm.FirstName = e.FirstName;
                 vm.LastName = e.LastName;
                 if (e.Salary.HasValue)
                 {
                     vm.Salary = e.Salary.ToString();
                 }
                 else
                 {
                     vm.Salary = ModelState["Salary"].Value.AttemptedValue;
                 }
                 vm.UserName = User.Identity.Name;
                 return View("CreateEmployee", vm);
             }
         case "Cancel":
             return RedirectToAction("Index");
     }
     return new EmptyResult();
 }