public VelocityReadCalculator(Book book, PomodoroSettings pomodoroSettings, TimeFormat timeSettings)
 {
     Book             = book ?? throw new NullReferenceException($"book should not be null");
     PomodoroSettings = pomodoroSettings ?? throw new NullReferenceException($"PomodoroSettings should not be null");
     TimeSettings     = timeSettings ?? throw new NullReferenceException($"timeSettings should not be null");
     ReadAll          = true;
 }
Пример #2
0
        public VelocityReadCalculatorTest()
        {
            _book = new Book()
            {
                Title  = "Clean code",
                Pages  = 30,
                ISBN   = "1233322",
                Author = "Robert C Martin"
            };

            _timeSettings = new TimeFormat()
            {
                Hour   = 0,
                Minute = 2,
                Second = 0
            };

            _pomodoroSettings = new PomodoroSettings()
            {
                SinglePageVelocity       = _timeSettings,
                PomodoroDuration         = 30,
                NumberPomodoroPerSession = 3,
                RestAmongPomodoro        = 5
            };
        }
Пример #3
0
        public AppSettings CreatePomodoroSettings()
        {
            ValidationMessage = "";
            AppSettings      appSettings      = new AppSettings();
            PomodoroSettings pomodoroSettings = new PomodoroSettings();
            UserSettings     userSettings     = new UserSettings();

            appSettings.KeepStatistic    = KeepStatistic;
            appSettings.SoundAlarm       = SoundAlarm;
            appSettings.VibrationAlarm   = VibrationAlarm;
            appSettings.VibrationAlarm   = VibrationAlarm;
            appSettings.ApplicationThema = NightMode ? Enums.ApplicationThema.NightThema : Enums.ApplicationThema.DayThema;
            userSettings.UserName        = UserName;

            if (Email == null || Email == "")
            {
            }
            else
            {
                var emailValidationResult = EmailValidationController.Check(Email);
                if (!emailValidationResult.result)
                {
                    ValidationMessage = emailValidationResult.message;
                    return(null);
                }
                userSettings.Email = Email;
            }
            appSettings.UserSettings = userSettings;

            var isSmallBreakValid           = IntergerBoundValidationController.Check(1, 180, this.SmallBreakDuration, "Small Break Duration");
            var isLargeBreakDurationValid   = IntergerBoundValidationController.Check(1, 180, this.LargeBreakDuration, "Large Break Duration");
            var isPomodoroDurationValid     = IntergerBoundValidationController.Check(1, 180, this.PomodoroDuration, "Pomodoro Duration");
            var isSessionPomodoroCountValid = IntergerBoundValidationController.Check(1, 180, this.SessionPomodoroCount, "Session Pomodoro Count");

            if (!isPomodoroDurationValid.result)
            {
                ValidationMessage = isPomodoroDurationValid.message;
                return(null);
            }
            if (!isSmallBreakValid.result)
            {
                ValidationMessage = isSmallBreakValid.message;
                return(null);
            }
            if (!isLargeBreakDurationValid.result)
            {
                ValidationMessage = isLargeBreakDurationValid.message;
                return(null);
            }
            if (!isSessionPomodoroCountValid.result)
            {
                ValidationMessage = isSessionPomodoroCountValid.message;
                return(null);
            }


            pomodoroSettings.AutoContinue          = false;
            pomodoroSettings.SessionPomodoroCount  = SessionPomodoroCount;
            pomodoroSettings.PomodoroBreakDuration = TimeSpan.FromMinutes(SmallBreakDuration);
            pomodoroSettings.SessionBreakDuration  = TimeSpan.FromMinutes(LargeBreakDuration);
            pomodoroSettings.PomodoroDuration      = TimeSpan.FromMinutes(PomodoroDuration);
            appSettings.PomodoroSettings           = pomodoroSettings;



            return(appSettings);
        }
Пример #4
0
        public UserTask CreateUserTask()
        {
            UserTask userTask = new UserTask
            {
                TaskColor = (string)TaskColor,
                Id        = Id
            };

            if (TaskName == null || TaskName == "")
            {
                ValidationMessage = TaskNameValdationMessage;
                return(null);
            }

            userTask.TaskName = TaskName;

            if (IsHasGoal)
            {
                var isPomodoroCountValid = IntergerBoundValidationController.Check(1, 1000, this.PomodoroCount, "Pomodoro Count");
                if (!isPomodoroCountValid.result)
                {
                    ValidationMessage = isPomodoroCountValid.message;
                    return(null);
                }
                var taskGoal = new TaskGoal()
                {
                    GoalInterval  = (GoalFrequency)System.Enum.Parse(typeof(GoalFrequency), GoalFrequency),
                    PomodoroCount = PomodoroCount,
                };
                userTask.TaskGoal = taskGoal;
            }
            if (IsHaveSettings)
            {
                PomodoroSettings pomodoroSettings = new PomodoroSettings();

                var isSmallBreakValid           = IntergerBoundValidationController.Check(1, 150, this.SmallBreakDuration, "Small Break Duration");
                var isLargeBreakDurationValid   = IntergerBoundValidationController.Check(1, 150, this.LargeBreakDuration, "Large Break Duration");
                var isPomodoroDurationValid     = IntergerBoundValidationController.Check(1, 150, this.PomodoroDuration, "Pomodoro Duration");
                var isSessionPomodoroCountValid = IntergerBoundValidationController.Check(1, 150, this.SessionPomodoroCount, "Session Pomodoro Count");

                if (!isPomodoroDurationValid.result)
                {
                    ValidationMessage = isPomodoroDurationValid.message;
                    return(null);
                }
                if (!isSmallBreakValid.result)
                {
                    ValidationMessage = isSmallBreakValid.message;
                    return(null);
                }
                if (!isLargeBreakDurationValid.result)
                {
                    ValidationMessage = isLargeBreakDurationValid.message;
                    return(null);
                }
                if (!isSessionPomodoroCountValid.result)
                {
                    ValidationMessage = isSessionPomodoroCountValid.message;
                    return(null);
                }


                pomodoroSettings.AutoContinue          = false;
                pomodoroSettings.SessionPomodoroCount  = SessionPomodoroCount;
                pomodoroSettings.PomodoroBreakDuration = TimeSpan.FromMinutes(SmallBreakDuration);
                pomodoroSettings.SessionBreakDuration  = TimeSpan.FromMinutes(LargeBreakDuration);
                pomodoroSettings.PomodoroDuration      = TimeSpan.FromMinutes(PomodoroDuration);
                userTask.PomodoroSettings = pomodoroSettings;
            }

            return(userTask);
        }