コード例 #1
0
 public ActionResult DeleteConfirmed(long id)
 {
     Employee.Models.Employee employee = db.Employees.Find(id);
     db.Employees.Remove(employee);
     db.SaveChanges();
     return(RedirectToAction("Index"));
 }
コード例 #2
0
        //
        // GET: /Employee/Delete/5

        public ActionResult Delete(long id = 0)
        {
            Employee.Models.Employee employee = db.Employees.Find(id);
            if (employee == null)
            {
                return(HttpNotFound());
            }
            return(View(employee));
        }
コード例 #3
0
        //
        // GET: /Employee/Edit/5

        public ActionResult Edit(long id = 0)
        {
            Employee.Models.Employee employee = db.Employees.Find(id);
            if (employee == null)
            {
                return(HttpNotFound());
            }
            ViewBag.EmployeeManagerID = new SelectList(db.EmployeeManagers, "EmployeeManagerID", "strManager", employee.EmployeeManagerID);
            return(View(employee));
        }
コード例 #4
0
 public ActionResult Edit(Employee.Models.Employee employee)
 {
     if (ModelState.IsValid)
     {
         db.Entry(employee).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.EmployeeManagerID = new SelectList(db.EmployeeManagers, "EmployeeManagerID", "strManager", employee.EmployeeManagerID);
     return(View(employee));
 }
コード例 #5
0
        public ActionResult Create(Employee.Models.Employee employee)
        {
            if (ModelState.IsValid)
            {
                db.Employees.Add(employee);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.EmployeeManagerID = new SelectList(db.EmployeeManagers, "EmployeeManagerID", "strManager", employee.EmployeeManagerID);
            return(View(employee));
        }
コード例 #6
0
        public void GetAllEmployeeofAnManager()
        {
            EmployeeCRUD objEmplyeeCRUD = new EmployeeCRUD();
            var          emp1           = new Employee.Models.Employee()
            {
                EmployeeID          = 3,
                EmployeeName        = "Tom miller3",
                ManagerId           = 0,
                TopLowerEmployeeIDs = new HashSet <int> {
                    1, 2
                }
            };
            //Employee ID 3 is reporting to emp 4
            var emp2 = new Employee.Models.Employee()
            {
                EmployeeID          = 4,
                EmployeeName        = "Tom miller4",
                ManagerId           = 0,
                TopLowerEmployeeIDs = new HashSet <int> {
                    3
                }
            };

            var emp3 = new Employee.Models.Employee()
            {
                EmployeeID          = 5,
                EmployeeName        = "Tom miller5",
                ManagerId           = 0,
                TopLowerEmployeeIDs = new HashSet <int> {
                    4
                }
            };

            // act
            //adding above employee object into collection
            objEmplyeeCRUD.AddUpdateEmployee(emp1);
            objEmplyeeCRUD.AddUpdateEmployee(emp2);
            objEmplyeeCRUD.AddUpdateEmployee(emp3);

            //employeeIds 1,2,3,4 get selected
            List <Employee.Models.Employee> lst = objEmplyeeCRUD.GetEmployeeListByManagerId(5);

            //assert
            //assert is pending
            //all hirarchical employee will get selected.
        }
コード例 #7
0
        public void ChaingingReportingOfAnEmployee()
        {
            EmployeeCRUD objEmplyeeCRUD = new EmployeeCRUD();
            var          emp1           = new Employee.Models.Employee()
            {
                EmployeeID          = 3,
                EmployeeName        = "Tom miller3",
                ManagerId           = 0,
                TopLowerEmployeeIDs = new HashSet <int> {
                }
            };
            //Employee ID 3 is reporting to emp 4
            var emp2 = new Employee.Models.Employee()
            {
                EmployeeID          = 4,
                EmployeeName        = "Tom miller4",
                ManagerId           = 0,
                TopLowerEmployeeIDs = new HashSet <int> {
                    3
                }
            };

            var emp3 = new Employee.Models.Employee()
            {
                EmployeeID          = 5,
                EmployeeName        = "Tom miller5",
                ManagerId           = 0,
                TopLowerEmployeeIDs = new HashSet <int> {
                }
            };

            // act
            //adding above employee object into collection
            objEmplyeeCRUD.AddUpdateEmployee(emp1);
            objEmplyeeCRUD.AddUpdateEmployee(emp2);
            objEmplyeeCRUD.AddUpdateEmployee(emp3);

            // currently employee "Tom miller3" is reporting to "Tom miller4"
            // now I am changing employee "Tom miller3" is reporting to "Tom miller5"
            objEmplyeeCRUD.ChangingReportingManager(4, 3, 5);

            //assert
            //assert is pending
        }
コード例 #8
0
        public void RemoveAllEmployeeReportingToManager()
        {
            // arrange
            EmployeeCRUD objEmplyeeCRUD = new EmployeeCRUD();
            var          emp1           = new Employee.Models.Employee()
            {
                EmployeeID          = 3,
                EmployeeName        = "Tom miller3",
                ManagerId           = 4,
                TopLowerEmployeeIDs = new HashSet <int> {
                }
            };
            var emp2 = new Employee.Models.Employee()
            {
                EmployeeID          = 4,
                EmployeeName        = "Tom miller4",
                ManagerId           = 0,
                TopLowerEmployeeIDs = new HashSet <int> {
                    3, 5
                }
            };

            var emp3 = new Employee.Models.Employee()
            {
                EmployeeID          = 5,
                EmployeeName        = "Tom miller5",
                ManagerId           = 4,
                TopLowerEmployeeIDs = new HashSet <int> {
                }
            };


            // act
            //adding above employee object into collection
            objEmplyeeCRUD.AddUpdateEmployee(emp1);
            objEmplyeeCRUD.AddUpdateEmployee(emp2);
            objEmplyeeCRUD.AddUpdateEmployee(emp3);

            // deleting all employee who has manager "Tom miller4"
            // employee 3 and 5 will removed after execution of function.
            objEmplyeeCRUD.DeleteAllEmployeeByManagerId(4);

            //assert is pending
        }
コード例 #9
0
        public ActionResult ImportEmployees(string tbFilePath)
        {
            string strResponse;

            strResponse = "<font style='font-size:18pt;'><b>Entered employees are .... </b><br><br><br></font>";


            if (!string.IsNullOrEmpty(tbFilePath))
            {
                try
                {
                    System.Xml.Linq.XDocument xmlDoc = System.Xml.Linq.XDocument.Load(tbFilePath);

                    var emps = from e in xmlDoc.Descendants("Employee")
                               select e;

                    foreach (var emp in emps)
                    {
                        Employee.Models.Employee newEmployee = new Employee.Models.Employee();

                        newEmployee.Employee_Name     = emp.Element("Name").Value;
                        newEmployee.EmployeeManagerID = Convert.ToInt32(emp.Element("Manager").Value);
                        newEmployee.Salary            = Convert.ToInt32(emp.Element("Salary").Value);
                        db.Employees.Add(newEmployee);
                        db.SaveChanges();
                    }
                    strResponse = "<font style='font-size:18pt;'><b>Employee name added successfully in the database.</b><br><br><br></font>";
                }
                catch (System.Exception exx)
                {
                    Console.WriteLine(exx.Message);
                    strResponse = exx.Message;
                    strResponse = exx.Source + " " + exx.StackTrace;
                    // strResponse = exx.StackTrace;
                    //   strResponse = "<font style='font-size:18pt;color:red;'><b>Invalid file path.</b><br><br><br></font>";
                }
            }
            else
            {
                strResponse = "<font style='font-size:18pt;color:red;'><b>Please specify a valid file path.</b><br><br><br></font>";
            }
            ViewBag.response = strResponse;
            return(View());
        }
コード例 #10
0
        public void AddUpdateEmployee()
        {
            // arrange
            // arrange
            EmployeeCRUD objEmplyeeCRUD = new EmployeeCRUD();
            var          emp            = new Employee.Models.Employee()
            {
                EmployeeID          = 3,
                EmployeeName        = "Tom miller",
                ManagerId           = 0,
                TopLowerEmployeeIDs = new HashSet <int> {
                }
            };

            // act
            objEmplyeeCRUD.AddUpdateEmployee(emp);
            List <Employee.Models.Employee> lstEmployees = objEmplyeeCRUD.GetEmployees();
            var savedEmp = lstEmployees.Find(x => x.EmployeeID == 3);


            // assert

            Assert.AreEqual(savedEmp.EmployeeName, emp.EmployeeName);
        }
コード例 #11
0
        public async Task <IActionResult> PutEmployee([FromRoute] int id, IFormFile image, [FromForm] Employee.Models.Employee employee)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != employee.Id)
            {
                return(BadRequest());
            }

            if (image != null)
            {
                employee.img = await convertImg(image);
            }

            _context.Entry(employee).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!EmployeeExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }