public async Task <IActionResult> WorkPlace(Employee_OldWorkPlace_WorkPlace _workplace) { if (ModelState.IsValid) { context.WorkPlaces.Add(_workplace.GetWorkPlace); await context.SaveChangesAsync(); return(RedirectToAction("Profile", new { id = _workplace.GetWorkPlace.EmployeeId })); } return(View()); }
public async Task <IActionResult> Profile(int id) { List <SelectListItem> departments = new List <SelectListItem>(); AppUser user = await userManager.FindByNameAsync(User.Identity.Name); int companyId = await context.WorkPlaces.Where(x => x.EmployeeId == user.EmployeeId).Select(x => x.Branch.CompanyId).FirstOrDefaultAsync(); var departmentId = context.CompanyDepartments .Where(x => x.CompanyId == companyId) .Select(x => x.DepartmentId); foreach (var item in departmentId) { var _departments = context.Departments.Where(x => x.Id == item).Select(x => new SelectListItem { Text = x.Name, Value = x.Id.ToString() }).ToList(); departments.AddRange(_departments); } Employee employe = context.Employees.Include(x => x.OldWorkPlaces).Include(x => x.WorkPlaces).Where(x => x.Id == id).Select(x => x).FirstOrDefault(); var WorkplaceModel = context.WorkPlaces.Where(x => x.EmployeeId == id) .Join(context.Positions, w => w.PositionId, p => p.Id, (w, p) => new { w.Id, w.BranchId, w.EntryDate, w.ExitDate, p.Namme, p.DepartmentId }) .Join(context.Branches, w => w.BranchId, b => b.Id, (w, b) => new { w.DepartmentId, w.Id, w.EntryDate, w.ExitDate, w.Namme, b.Name }) .Join(context.Departments, w => w.DepartmentId, d => d.Id, (w, d) => new WorkPlace_Model { EntryDate = w.EntryDate, ExitDate = w.ExitDate, Id = w.Id, BranchName = w.Name, PositionNamme = w.Namme, DepartmentName = d.Name }).ToList(); Employee_OldWorkPlace_WorkPlace employee_OldWorkPlace_WorkPlace = new Employee_OldWorkPlace_WorkPlace() { Employee = employe, Branches = context.Branches.Where(x => x.CompanyId == companyId).Select(x => new SelectListItem { Text = x.Name, Value = x.Id.ToString() }).ToList(), Departments = departments, workPlace_Models = WorkplaceModel }; return(View(employee_OldWorkPlace_WorkPlace)); }