public ActionResult Edit([Bind(Include = "Employee, availablePositions, availableDepartments, availableManagers")] EmployeeViewModel employeeView)
        {
            var context           = new EmployeeManagerContext();
            var positionService   = new PositionService(context);
            var departmentService = new DepartmentService(context);
            var employeeService   = new EmployeeService(context);

            employeeView.Employee.Position   = positionService.GetPositionByID(employeeView.Employee.Position.PositionID);
            employeeView.Employee.Department = departmentService.GetDepartmentByID(employeeView.Employee.Department.DepartmentID);
            employeeView.Employee.Manager    = employeeService.GetEmployeeByID(employeeView.Employee.Manager.EmployeeID);

            try
            {
                if (ModelState.IsValid)
                {
                    employeeService.UpdateEmployee(employeeView.Employee);
                    employeeService.Save();
                    return(RedirectToAction("Index"));
                }
            }
            catch (DataException /* dex */)
            {
                //Log the error (uncomment dex variable name after DataException and add a line here to write a log.
                ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists see your system administrator.");
            }
            return(View(employeeView));
        }
        // GET: Employee/Activity/5
        public ViewResult Activity(int id)
        {
            var context    = new EmployeeManagerContext();
            var activities = new ActivityService(context).GetActivityByEmployeeID(id);

            return(View(activities));
        }
Exemplo n.º 3
0
        //GET: Report/TerminationsThisYear
        public ActionResult TerminationsThisYear()
        {
            var context     = new EmployeeManagerContext();
            var currentYear = DateTime.Now.Year;

            ViewBag.TerminationCount = new ActivityService(context).GetTerminationsByYear(currentYear);
            return(View());
        }
        // GET: Employee/Create
        public ActionResult Create()
        {
            var context      = new EmployeeManagerContext();
            var positions    = new PositionService(context).GetPositions();
            var departments  = new DepartmentService(context).GetDepartments();
            var managers     = employeeService.GetEmployees();
            var employeeView = new EmployeeViewModel()
            {
                availablePositions   = positions,
                availableDepartments = departments,
                availableManagers    = managers
            };

            return(View(employeeView));
        }
Exemplo n.º 5
0
        public async Task Write_Should_Save_Employee(Employee employee)
        {
            var options = DbContextOptionsFactory.Create(nameof(Write_Should_Save_Employee));

            using (var context = new EmployeeManagerContext(options))
            {
                var sut = new EmployeeWriter(context);

                await sut.Write(employee);
            }

            using (var context = new EmployeeManagerContext(options))
            {
                var employeeStoraged = await context.Employees.FindAsync(employee.Id);

                employeeStoraged.Should().NotBeNull();
            }
        }
Exemplo n.º 6
0
        public async Task Remove_Should_Delete_Employee(Employee employee)
        {
            var options = DbContextOptionsFactory.Create(nameof(Remove_Should_Delete_Employee));

            using (var context = new EmployeeManagerContext(options))
            {
                context.Add(employee);
                await context.SaveChangesAsync();
            }

            using (var context = new EmployeeManagerContext(options))
            {
                var sut = new EmployeeWriter(context);

                await sut.Remove(employee);

                employee.DeletedAt.Should().NotBeNull();
            }
        }
Exemplo n.º 7
0
        public async Task Any_When_EmailAddress_Exists_Should_Return_True(
            Employee employee)
        {
            var options = DbContextOptionsFactory.Create(nameof(Any_When_EmailAddress_Exists_Should_Return_True));

            using (var context = new EmployeeManagerContext(options))
            {
                context.Add(employee);
                await context.SaveChangesAsync();
            }

            using (var context = new EmployeeManagerContext(options))
            {
                var sut = new EmployeeReader(context);

                var actual = await sut.Any(employee.Email.Address);

                actual.Should().BeTrue();
            }
        }
Exemplo n.º 8
0
        public async Task Read_When_EmployeeId_Exists_Should_Return_Employee(Employee employee)
        {
            var options = DbContextOptionsFactory.Create(nameof(Read_When_EmployeeId_Exists_Should_Return_Employee));

            using (var context = new EmployeeManagerContext(options))
            {
                context.Add(employee);
                await context.SaveChangesAsync();
            }

            using (var context = new EmployeeManagerContext(options))
            {
                var sut = new EmployeeReader(context);

                var actual = await sut.Read(employee.Id);

                actual.Should().NotBeNull();
                actual.Value.Id.Should().Be(employee.Id);
            }
        }
        public ManagerController(EmployeeManagerContext context)
        {
            _context = context;
            if (_context.Managers.Count() == 0)
            {
                _context.Managers.Add(new Manager
                {
                    Name = "Bhanu"
                });
                _context.Managers.Add(new Manager
                {
                    Name = "Omkar"
                }); _context.Managers.Add(new Manager
                {
                    Name = "Gogawale"
                });

                _context.SaveChanges();
            }
        }
Exemplo n.º 10
0
        public async Task Read_When_EmployeeId_Does_Not_Exist_Should_Return_Maybe_None(
            Employee employee,
            int someEmployeeId)
        {
            var options = DbContextOptionsFactory.Create(nameof(Read_When_EmployeeId_Does_Not_Exist_Should_Return_Maybe_None));

            using (var context = new EmployeeManagerContext(options))
            {
                context.Add(employee);
                await context.SaveChangesAsync();
            }

            using (var context = new EmployeeManagerContext(options))
            {
                var sut = new EmployeeReader(context);

                var actual = await sut.Read(someEmployeeId);

                actual.Should().Be(Maybe <Employee> .None);
            }
        }
Exemplo n.º 11
0
        public async Task Any_When_EmailAddress_Does_Not_Exist_Should_Return_False(
            Employee employee,
            string someEmployeeEmail)
        {
            var options = DbContextOptionsFactory.Create(nameof(Any_When_EmailAddress_Does_Not_Exist_Should_Return_False));

            using (var context = new EmployeeManagerContext(options))
            {
                context.Add(employee);
                await context.SaveChangesAsync();
            }

            using (var context = new EmployeeManagerContext(options))
            {
                var sut = new EmployeeReader(context);

                var actual = await sut.Any(someEmployeeEmail);

                actual.Should().BeFalse();
            }
        }
Exemplo n.º 12
0
        public async Task Read_Should_Paginated_Employees(List <Employee> employees)
        {
            const int pageIndex = 1;
            const int pageSize  = 1;

            var options = DbContextOptionsFactory.Create(nameof(Read_Should_Paginated_Employees));

            using (var context = new EmployeeManagerContext(options))
            {
                context.AddRange(employees);
                await context.SaveChangesAsync();
            }

            using (var context = new EmployeeManagerContext(options))
            {
                var sut = new EmployeeReader(context);

                var actual = await sut.Read(pageIndex, pageSize);

                actual.Count.Should().Be(pageSize);
            }
        }
        public EmployeeController(EmployeeManagerContext context)
        {
            _context = context;
            if (_context.Employees.Count() == 0)
            {
                _context.Employees.Add(new Employee
                {
                    Name       = "Vighnesh",
                    ManagersId = 1
                });

                _context.Employees.Add(new Employee
                {
                    Name       = "Raunak",
                    ManagersId = 2
                });

                _context.Employees.Add(new Employee
                {
                    Name       = "Ibraham",
                    ManagersId = 2
                });

                _context.Employees.Add(new Employee
                {
                    Name       = "DJ",
                    ManagersId = 1
                });

                _context.Employees.Add(new Employee
                {
                    Name       = "Deepak",
                    ManagersId = 3
                });
                _context.SaveChanges();
            }
        }
Exemplo n.º 14
0
 public HomeController(EmployeeManagerContext context)
 {
     _context = context;
 }
Exemplo n.º 15
0
 public EmployeeService(EmployeeManagerContext context)
 {
     this.context = context;
 }
Exemplo n.º 16
0
 public PositionService(EmployeeManagerContext context)
 {
     this.context = context;
 }
Exemplo n.º 17
0
 public ActivityService(EmployeeManagerContext context)
 {
     this.context = context;
 }
Exemplo n.º 18
0
 public DepartmentService(EmployeeManagerContext context)
 {
     this.context = context;
 }
 public EmployeeManagerService(EmployeeManagerContext context)
 {
     DbContext = context;
 }
Exemplo n.º 20
0
 public EmployeeReader(EmployeeManagerContext context)
 {
     Context = context ?? throw new ArgumentNullException(nameof(context));
 }
Exemplo n.º 21
0
 public EmployeesController(EmployeeManagerContext context, IOptions <SizeSet> PageSize)
 {
     _context = context;
     pageset  = PageSize.Value;
 }