public async Task GetCoworkersAssignedJobs(EmployeeIndexVM indexVM) { foreach (Employee employee in indexVM.Coworkers) { employee.AssignedJobs = await _repo.EmployeeJob.FindAssignedTasks(employee.EmployeeId); } }
// 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)); }
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()); }
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); } }