public async Task GetCoworkersAssignedJobs(EmployeeIndexVM indexVM)
 {
     foreach (Employee employee in indexVM.Coworkers)
     {
         employee.AssignedJobs = await _repo.EmployeeJob.FindAssignedTasks(employee.EmployeeId);
     }
 }
예제 #2
0
        // GET: Employees
        public ActionResult Index(string SelectedCountry)
        {
            EmployeeIndexVM employeeIndexVM = new EmployeeIndexVM();

            // We add a drop-down list to the Index page so that users can filter
            // for a particular country; FirstOrDefault() is similar to select distinct.
            // See DrowpdownHelper.GetCountriesAll().

            //var employees = from e in _context.Employees
            //                orderby e.LastName
            //                select e;
            // var employees = unitOfWork.EmployeeRepository.Get(includeProperties: "Department");
            var employees = _unitOfWork.EmployeeRepository.Get(orderBy: q => q.OrderBy(e => e.LastName));

            // A SelectList collection containing all departments is passed to the view for the drop-down list.
            //ViewBag.SelectedDepartment = new SelectList(departments, "DepartmentID", "Name", SelectedDepartment);

            // The filter expression always returns true if nothing is selected in the drop-down list.
            if (!String.IsNullOrEmpty(SelectedCountry))
            {
                employees = employees
                            .Where(c => c.Country.Equals(SelectedCountry))
                            .OrderBy(e => e.LastName);
            }
            //employees = db.Employees
            //    .Where(c => String.IsNullOrEmpty(SelectedCountry) || c.Country.Equals(SelectedCountry))
            //    .OrderBy(e => e.LastName);

            //return View(await db.Employees.ToListAsync());
            //return View(await employees.ToListAsync());
            employeeIndexVM.EmployeeList = employees.ToList();

            return(View(employeeIndexVM));
        }
        public async Task GetJobsForProjects(EmployeeIndexVM indexVM)
        {
            foreach (Project project in indexVM.Projects)
            {
                project.Jobs = await _repo.Job.GetAllJobs(project.ProjectId);

                project.Jobs = project.Jobs.OrderBy(j => j.Deadline).ToList();
            }
        }
        // GET: Employees
        public async Task <IActionResult> Index()
        {
            EmployeeIndexVM indexVM = new EmployeeIndexVM();

            indexVM.Employee = await GetCurrentUser();

            indexVM.Coworkers = await _repo.Employee.GetAllEmployees(indexVM.Employee.ManagerId);

            indexVM.Projects = await _repo.Project.GetAllProjects(indexVM.Employee.ManagerId);
            await GetJobsForProjects(indexVM);
            await GetCoworkersAssignedJobs(indexVM);

            GetPercentageOfTasksDone(indexVM);

            indexVM.Coworkers.Remove(indexVM.Employee);
            return(View(indexVM));
        }
예제 #5
0
        public IActionResult OnGetAsync()
        {
            var claimsIdentity = (ClaimsIdentity)User.Identity;
            var claim          = claimsIdentity.FindFirst(ClaimTypes.NameIdentifier);
            var userId         = claim.Value;

            _employeeIndexVM = new EmployeeIndexVM()
            {
                EmployeeLocal    = _queries.GetEmployeeIncludeLstEmployedByFirstOrDefaultEmployeeIdEqualsEmployeeId(userId),
                orderDetailsList = new List <OrderDetails>()
            };
            _employeeIndexVM.EmployeeId       = userId;
            _employeeIndexVM.orderDetailsList = _queries.GetAllOrderDetailsIncludeOrderServiceQuotationWhereEmployeeIdEquals(_employeeIndexVM.EmployeeLocal.Id);
            //foreach (var quotation in _employeeIndexVM.EmployeeLocal.QuotationLst)
            //{
            //    var quotationLocal = _queries.GetQuotationIncludeOrderDetailsOrdersTasksListMaterialPicturesFirstOrDefault(quotation.OrderDetailsId);
            //    _employeeIndexVM.orderDetailsList.Add(quotationLocal.OrderDetailsModel);
            //}

            return(Page());
        }
예제 #6
0
        public ActionResult Index()
        {
            var employeesDTO    = _service.EmployeeService.GetItems().ToList();
            var employeeVMIndex = new EmployeeIndexVM();

            employeeVMIndex.Employees = new List <EmployeeVM>();
            employeeVMIndex.Companies = new List <CompanyVM>();

            for (var i = 0; i < employeesDTO.Count; i++)
            {
                var employeeVM = new EmployeeVM();

                employeeVM.Id      = employeesDTO[i].Id;
                employeeVM.Name    = employeesDTO[i].Name;
                employeeVM.Surname = employeesDTO[i].Surname;

                var company = employeesDTO[i].Company;

                if (company != null)
                {
                    employeeVM.Company = new CompanyVM()
                    {
                        Id               = employeesDTO[i].Company.Id,
                        CompanyName      = employeesDTO[i].Company.CompanyName,
                        OrganizationForm = employeesDTO[i].Company.OrganizationForm
                    };
                }

                employeeVMIndex.Employees.Add(employeeVM);

                if (!employeeVMIndex.Companies.Exists(c => c.Id == employeeVM.Company.Id))
                {
                    employeeVMIndex.Companies.Add(employeeVM.Company);
                }
            }

            return(View(employeeVMIndex));
        }
        public void GetPercentageOfTasksDone(EmployeeIndexVM indexVM)
        {
            foreach (Project project in indexVM.Projects)
            {
                double jobsComplete = 0;
                double totalJobs    = project.Jobs.Count();

                if (totalJobs == 0)
                {
                    continue;
                }

                foreach (Job job in project.Jobs)
                {
                    if (job.IsComplete)
                    {
                        jobsComplete++;
                    }
                }
                double result = (jobsComplete / totalJobs) * 100;
                project.PercentComplete = (int)Math.Round(result);
            }
        }