public IActionResult ClearFilter(EmployeeShiftModel employeeShiftModel) { return(RedirectToAction(nameof(Index), new { idEmployee = employeeShiftModel.EmployeeShift.IdEmployee })); }
public async Task <IActionResult> Create(EmployeeShiftModel employeeShiftModel) { List <EmployeeShiftDto> allShiftsToAdd = GetShiftsForEmployee(employeeShiftModel); if (ValidateemployeeShiftModel(employeeShiftModel)) { if (allShiftsToAdd.Count() > 0)//Validaciones { foreach (EmployeeShiftDto shift in allShiftsToAdd) { if (ValidateShift(shift)) { string responseBodyEmployeeShift = await this._clientService.PostResponse(this._configuration["AppSettings:ApiRest"] + "api/EmployeeShiftApi", JsonConvert.SerializeObject(shift)); } else { return(RedirectToAction(nameof(Index), new { idEmployee = employeeShiftModel.EmployeeShift.IdEmployee })); } } return(RedirectToAction(nameof(Index), new { idEmployee = employeeShiftModel.EmployeeShift.IdEmployee })); } } return(RedirectToAction(nameof(Index), new { idEmployee = employeeShiftModel.EmployeeShift.IdEmployee })); }
private bool ValidateemployeeShiftModel(EmployeeShiftModel employeeShiftModel) { if (employeeShiftModel.EmployeeShift.WorkDay > employeeShiftModel.EndDate) { TempData["ErrorDate"] = "The End Date must be greather than the Init Date"; } if (employeeShiftModel.EmployeeShift.InitHour > employeeShiftModel.EmployeeShift.EndHour) { TempData["ErrorHours"] = "The End Date must be greather than the Init Date"; } if (employeeShiftModel.EmployeeShift.InitHour > 24 || employeeShiftModel.EmployeeShift.InitHour < 0) { TempData["ErrorInitHour"] = "The Init Hour must be a number between 0 and 24"; } if (employeeShiftModel.EmployeeShift.EndHour > 24 || employeeShiftModel.EmployeeShift.EndHour < 0) { TempData["ErrorEndHour"] = "The End Hour must be a number between 0 and 24"; } if (employeeShiftModel.EmployeeShift.InitHour == employeeShiftModel.EmployeeShift.EndHour) { TempData["ErrorSameHour"] = "The init Hour must be different to End Hour"; } if (TempData.Count > 0) { return(false); } return(true); }
public IActionResult Filter(EmployeeShiftModel employeeShiftModel) { return(RedirectToAction(nameof(Index), new { idEmployee = employeeShiftModel.EmployeeShift.IdEmployee, workDay = employeeShiftModel.EmployeeShift.WorkDay })); }
public EmployeeShiftModel GetIndexEmployeeShiftMonolithic() { int? idEmployee = 1; DateTime?workDay = null; var employeesShiftsList = _context.EmployeesShifts.Where(elem => elem.IdEmployee == idEmployee && ((workDay != null && elem.WorkDay == workDay) || (workDay == null && elem.WorkDay >= DateTime.Today))).OrderBy(elem => elem.WorkDay).Include(e => e.IdEmployeeNavigation); EmployeeShiftModel employeeShiftModel = new EmployeeShiftModel(); employeeShiftModel.EmployeeShiftsList = employeesShiftsList; employeeShiftModel.EmployeeShift = new EmployeesShifts(); employeeShiftModel.EmployeeShift.IdEmployeeNavigation = _context.Employees.FirstOrDefault(elem => elem.Id == idEmployee.Value); employeeShiftModel.EmployeeShift.IdEmployee = idEmployee.Value; employeeShiftModel.EmployeeShift.WorkDay = workDay == null ? DateTime.Now : workDay.Value; employeeShiftModel.EndDate = workDay == null ? DateTime.Now : workDay.Value; return(employeeShiftModel); }
private List <EmployeeShiftDto> GetShiftsForEmployee(EmployeeShiftModel employeeShiftModel) { List <EmployeeShiftDto> employeesShifts = new List <EmployeeShiftDto>(); var dates = new List <DateTime>(); for (var dt = employeeShiftModel.EmployeeShift.WorkDay; dt <= employeeShiftModel.EndDate; dt = dt.AddDays(1)) { dates.Add(dt); } foreach (DateTime date in dates) { EmployeeShiftDto employeeShift = new EmployeeShiftDto(); employeeShift.InitHour = employeeShiftModel.EmployeeShift.InitHour; employeeShift.EndHour = employeeShiftModel.EmployeeShift.EndHour; employeeShift.WorkDay = date; employeeShift.IdEmployee = employeeShiftModel.EmployeeShift.IdEmployee; employeesShifts.Add(employeeShift); } return(employeesShifts); }
// GET: EmployeesShifts public IActionResult Index(int?idEmployee, DateTime?workDay) { AddModelErrors(); string responseBodyEmployeesShiftsList = this._clientService.GetResponse(this._configuration["AppSettings:ApiRest"] + "api/EmployeeShiftApi").GetAwaiter().GetResult(); List <EmployeeShiftDto> employeeShift = JsonConvert.DeserializeObject <List <EmployeeShiftDto> >(responseBodyEmployeesShiftsList); var employeesShiftsList = employeeShift.Where(elem => elem.IdEmployee == idEmployee && ((workDay != null && elem.WorkDay == workDay) || (workDay == null && elem.WorkDay >= DateTime.Today))).OrderBy(elem => elem.WorkDay);/*.Include(e => e.IdEmployeeNavigation);*/ EmployeeShiftModel employeeShiftModel = new EmployeeShiftModel(); employeeShiftModel.EmployeeShiftsList = employeesShiftsList; employeeShiftModel.EmployeeShift = new EmployeeShiftDto(); string responseBodyEmployee = this._clientService.GetResponse(this._configuration["AppSettings:ApiRest"] + "api/EmployeeApi/" + idEmployee).GetAwaiter().GetResult(); EmployeeDto employeeDto = JsonConvert.DeserializeObject <EmployeeDto>(responseBodyEmployee); employeeShiftModel.EmployeeShift.IdEmployeeNavigation = employeeDto; employeeShiftModel.EmployeeShift.IdEmployee = idEmployee.Value; employeeShiftModel.EmployeeShift.WorkDay = workDay == null ? DateTime.Now : workDay.Value; employeeShiftModel.EndDate = workDay == null ? DateTime.Now : workDay.Value; return(View(employeeShiftModel)); }