public ExerciseSetupViewModel()
        {
            AllWords = new List <Word>();
            Settings = new ExerciseSettings();

            Settings.WordsInLesson = 0;
        }
        public ExerciseSetupViewModel(Dictionary dict)
        {
            LinkedDictionaryId = dict.Id;
            AllWords           = new List <Word>(dict.Words);
            Settings           = new ExerciseSettings();

            if (Settings.WordsInLesson > AllWords.Count)
            {
                Settings.WordsInLesson = AllWords.Count;
            }
        }
        public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
        {
            var form = controllerContext.HttpContext.Request.Form;

            var dictId = int.Parse(form["LinkedDictionaryId"]);
            var dict   = dictionaryRepository.Read(dictId);

            var model    = new ExerciseSetupViewModel(dict);
            var settings = new ExerciseSettings
            {
                WordsInLesson  = int.Parse(form["WordsInLesson"]),
                HaveTimeLimits = bool.Parse(form["Settings.HaveTimeLimits"])
            };

            model.Settings = settings;

            return(model);
        }