Пример #1
0
        private void CheckConsecutiveDaysLimit(User user, DateTime dateTimeFrom, LimitDirection direction, int timeZoneMinutes)
        {
            var dateFrom = dateTimeFrom.Date;
            var limit    = UserService.GetUserLimits(user).LimitOfConsecutiveLearningDays;

            var consecutiveDays = Enumerable.Range(1, limit)
                                  .Select(offset => dateFrom.AddDays((int)direction * offset))
                                  .ToArray();

            var previousLearningDays = _schedulearnContext.LearningDays
                                       .Where(l => l.UserId == user.Id)
                                       .Where(l => consecutiveDays.Contains(l.DateFrom.AddMinutes(timeZoneMinutes).Date))
                                       .Select(l => l.DateFrom.AddMinutes(timeZoneMinutes).Date)
                                       .Distinct()
                                       .ToList();

            if (previousLearningDays.Count >= limit)
            {
                throw new LimitUsed(Error_LimitOfConsecutiveLearningDays);
            }
        }
Пример #2
0
 public static ErrorCode IsLimitEnabled(void *handle, LimitDirection sw, byte *enabled)
 {
     return(driver.c_SparkMax_IsLimitEnabled(handle, sw, enabled));
 }
Пример #3
0
 public static ErrorCode EnableLimitSwitch(void *handle, LimitDirection sw, byte enable)
 {
     return(driver.c_SparkMax_EnableLimitSwitch(handle, sw, enable));
 }
Пример #4
0
 public static ErrorCode GetLimitSwitch(void *handle, LimitDirection sw, byte *limit)
 {
     return(driver.c_SparkMax_GetLimitSwitch(handle, sw, limit));
 }
Пример #5
0
 public static ErrorCode GetLimitPolarity(void *handle, LimitDirection sw, LimitPolarity *polarity)
 {
     return(driver.c_SparkMax_GetLimitPolarity(handle, sw, polarity));
 }
Пример #6
0
 public static ErrorCode GetSoftLimit(void *handle, LimitDirection dir, float *limit)
 {
     return(driver.c_SparkMax_GetSoftLimit(handle, dir, limit));
 }
Пример #7
0
 public static ErrorCode EnableSoftLimit(void *handle, LimitDirection dir, byte enable)
 {
     return(driver.c_SparkMax_EnableSoftLimit(handle, dir, enable));
 }