public async Task Execute(CreateGlobalLimitOperationRequest request)
        {
            var currentEmployee = await _authorizationContext.CurrentEmployee();

            if (!currentEmployee.IsTopLevelManager)
            {
                throw new ApplicationException("Cannot create a global limit, as you're not authorized to do so.");
            }

            var allEmployees = await _employeeRepository.ListAsync();

            var oldLimitsToDelete = await _limitRepository.ListAsync();

            var globalLimit = new Domain.Entity.LearningCalendar.Limit
            {
                Id             = new Guid(),
                DaysPerQuarter = request.DaysPerQuarter
            };

            await _limitRepository.CreateAsync(globalLimit);

            foreach (var employee in allEmployees)
            {
                employee.LimitId = globalLimit.Id;
            }

            await _employeeRepository.UpdateAsync(allEmployees);

            await _limitRepository.DeleteAsync(oldLimitsToDelete);
        }
        public async Task <IActionResult> CreateGlobalLimit(CreateGlobalLimitModel model)
        {
            var request = new CreateGlobalLimitOperationRequest
            {
                DaysPerQuarter = model.DaysPerQuarter
            };

            await _createGlobalLimitOperation.Execute(request);

            return(Ok());
        }