Example #1
0
 public IActionResult ClearFilter(EmployeeShiftModel employeeShiftModel)
 {
     return(RedirectToAction(nameof(Index), new
     {
         idEmployee = employeeShiftModel.EmployeeShift.IdEmployee
     }));
 }
Example #2
0
        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
            }));
        }
Example #3
0
 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);
 }
Example #4
0
 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);
        }
Example #6
0
        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);
        }
Example #7
0
        // 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));
        }