//Action To find Shift for New Work public ActionResult FindShiftForNewWork(AssignShiftEmployeesViewModel viewModel) { var datetime = viewModel.Datetime; var departmentId = _departmentRepository.GetDepartmentId(viewModel); var shiftTypeId = viewModel.ShiftTypeId; var shiftId = _shiftRepository.GetShiftIdByDayTimeAndDepartmentId(datetime, departmentId, shiftTypeId); TempData["ID"] = shiftId; //TempData["DepartmentID"] = departmentId; return(RedirectToAction("NewWork")); }
public ActionResult AddAWorkWeek(WorkDayViewModel viewModel) { var shift = _context.Shifts .Include(s => s.Department) .Include(s => s.ShiftType) .Any(s => s.DateTime == viewModel.WorkDate && s.DepartmentId == viewModel.DepartmentId); viewModel.Departments = _context.Departments.ToList(); if (viewModel.DepartmentId == 0 || viewModel.NumberOfWorkDays == 0 || viewModel.NumbersOfShifts == 0 || viewModel.WorkDate == null) { var returnViewModel = new WorkDayViewModel { Departments = viewModel.Departments, WorkDate = viewModel.WorkDate, NumberOfWorkDays = viewModel.NumberOfWorkDays, NumbersOfShifts = viewModel.NumbersOfShifts }; return(RedirectToAction("AddAWorkWeek", returnViewModel)); } if (!shift) { for (int j = 0; j < viewModel.NumberOfWorkDays; j++) { for (byte i = 1; i <= viewModel.NumbersOfShifts; i++) { var newShift = new Shift(viewModel.WorkDate.AddDays(j), i, viewModel.DepartmentId); _context.Shifts.Add(newShift); } } _context.SaveChanges(); viewModel.Department = _context.Departments.Where(d => d.Id == viewModel.DepartmentId).Single(); var assigneViewModel = new AssignShiftEmployeesViewModel { Department = viewModel.Department, ShiftTypes = _context.ShiftTypes.ToList() }; return(View("ChooseDateAssigment", assigneViewModel)); } return(View(viewModel)); }
public ActionResult NewWork(AssignShiftEmployeesViewModel viewModel) { if (ModelState.IsValid) { viewModel.Employees = _context.Employees .Where(e => e.DepartmentId == viewModel.Shift.DepartmentId) .ToList(); viewModel.Shift = _context.Shifts .Include(s => s.Department) .Include(s => s.ShiftType) .Single(); return(View("NewWork", viewModel)); } var employee = viewModel.EmployeeId; var shift = viewModel.Shift.Id; var exist = _context.Works.Any(w => w.EmployeeID == employee && w.ShiftId == shift); //var existandiscanceled = _context.Works.Any(w => w.EmployeeID == employee && w.ShiftId == shift && w.IsCanceled); //if (existandiscanceled) //{ // var updatedWork = _context.Works.Where(w => w.EmployeeID == employee && w.ShiftId == shift).Single(); // updatedWork.IsCanceled = false; // _context.SaveChanges(); // return RedirectToAction("NewWork", viewModel.Shift.Id); //} if (exist) { return(RedirectToAction("NewWork")); } var work = new Work(viewModel.EmployeeId, viewModel.Shift.Id); _context.Works.Add(work); _context.SaveChanges(); var shiftId = viewModel.Shift.Id; TempData["ID"] = shiftId; return(RedirectToAction("NewWork", shiftId)); }
public ActionResult AddAWorkWeek(WorkDayViewModel viewModel) { var shift = _shiftRepository.GetShiftExist(viewModel); viewModel.Departments = _departmentRepository.GetDepartments(); if (viewModel.DepartmentId == 0 || viewModel.NumberOfWorkDays == 0 || viewModel.NumbersOfShifts == 0 || viewModel.WorkDate == null) { var returnViewModel = new WorkDayViewModel { Departments = viewModel.Departments, WorkDate = viewModel.WorkDate, NumberOfWorkDays = viewModel.NumberOfWorkDays, NumbersOfShifts = viewModel.NumbersOfShifts }; return(RedirectToAction("AddAWorkWeek", returnViewModel)); } if (!shift) { for (int j = 0; j < viewModel.NumberOfWorkDays; j++) { for (byte i = 1; i <= viewModel.NumbersOfShifts; i++) { var newShift = new Shift(viewModel.WorkDate.AddDays(j), i, viewModel.DepartmentId); _context.Shifts.Add(newShift); } } _context.SaveChanges(); viewModel.Department = _departmentRepository.GetDepartment(viewModel); var assigneViewModel = new AssignShiftEmployeesViewModel { Department = viewModel.Department, ShiftTypes = _shiftTypeRepository.GetShiftTypes() }; return(View("ChooseDateAssigment", assigneViewModel)); } return(View(viewModel)); }
public ActionResult NewWork(AssignShiftEmployeesViewModel viewModel) { if (ModelState.IsValid) { viewModel.Employees = _employeeRepository.GetEmployeeIdEqualsToShiftId(viewModel); viewModel.Shift = _shiftRepository.GetShift(); return(View("NewWork", viewModel)); } var employee = viewModel.EmployeeId; if (employee.Equals(0)) { return(RedirectToAction("NewWork")); } var shift = viewModel.Shift.Id; var exist = _workRepository.GetWork(employee, shift); if (exist) { return(RedirectToAction("NewWork")); } var work = new Work(viewModel.EmployeeId, viewModel.Shift.Id); _context.Works.Add(work); _context.SaveChanges(); var shiftId = viewModel.Shift.Id; TempData["ID"] = shiftId; return(RedirectToAction("NewWork", shiftId)); }
//get public ActionResult NewWork(int?id) { var newId = Convert.ToInt32(TempData["ID"]); if (newId != 0) { id = newId; } //var depapartmentID = Convert.ToInt32(TempData["DepartmentID"]); if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var shift = _shiftRepository.GetShift(id); if (shift == null) { return(HttpNotFound()); } var employees = _employeeRepository.GetEmployeesWhoNotWorking(shift); var workingEmployees = _employeeRepository.GetEmployeesWhoAreWorking(shift); var viewModel = new AssignShiftEmployeesViewModel { Shift = shift, Employees = employees, WorkingEmployees = workingEmployees, Department = shift.Department, }; return(View("NewWork", viewModel)); }
public int GetDepartmentId(AssignShiftEmployeesViewModel viewModel) { return(_context.Departments.Where(d => d.Id == viewModel.Department.Id).Single().Id); }
public ICollection <Employee> GetEmployeeIdEqualsToShiftId(AssignShiftEmployeesViewModel viewModel) { return(_context.Employees .Where(e => e.DepartmentId == viewModel.Shift.DepartmentId) .ToList()); }