protected override void OnGenerate(ref ExerciseUnit exerciseUnit)
        {
            int max = GetNum();
            int mid = GetNum();
            int min = GetNum();

            if (max < mid)
            {
                int t = max; max = mid; mid = t;
            }
            if (max < min)
            {
                int t = max; max = min; min = t;
            }
            if (mid < min)
            {
                int t = mid; mid = min; min = t;
            }
            if (min == mid)
            {
                min = mid == 1 ? 1 : mid - 1;
            }
            int    d = mid * max + min;
            string s = $"{d}÷{mid}=";

            exerciseUnit = new ExerciseUnit(s, max, min, OperationType);
        }
 public void Generate(ref ExerciseUnit exerciseUnit)
 {
     OnGetRandom(out random);
     OnSetNumInterval(out start, out end);
     OnStartGenerate();
     OnGenerate(ref exerciseUnit);
     OnEndGenerate();
 }
示例#3
0
        public ActionResult DeleteConfirmed(int id)
        {
            ExerciseUnit exerciseunit = db.ExerciseUnits.Find(id);

            db.ExerciseUnits.Remove(exerciseunit);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        protected override void OnGenerate(ref ExerciseUnit exerciseUnit)
        {
            int    a = GetNum();
            int    b = GetNum();
            int    c = a + b;
            string s = $"{c}-{a}=";

            exerciseUnit = new ExerciseUnit(s, b, 0, OperationType);
        }
示例#5
0
        //
        // GET: /ExerciseUnit/Details/5

        public ActionResult Details(int id = 0)
        {
            ExerciseUnit exerciseunit = db.ExerciseUnits.Find(id);

            if (exerciseunit == null)
            {
                return(HttpNotFound());
            }
            return(View(exerciseunit));
        }
示例#6
0
 public ActionResult Edit(ExerciseUnit exerciseunit)
 {
     if (ModelState.IsValid)
     {
         db.Entry(exerciseunit).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.exerciseId = new SelectList(db.Exercises, "id", "name", exerciseunit.exerciseId);
     ViewBag.workoutId  = new SelectList(db.Workouts, "id", "name", exerciseunit.workoutId);
     return(View(exerciseunit));
 }
示例#7
0
        //
        // GET: /ExerciseUnit/Edit/5

        public ActionResult Edit(int id = 0)
        {
            ExerciseUnit exerciseunit = db.ExerciseUnits.Find(id);

            if (exerciseunit == null)
            {
                return(HttpNotFound());
            }
            ViewBag.exerciseId = new SelectList(db.Exercises, "id", "name", exerciseunit.exerciseId);
            ViewBag.workoutId  = new SelectList(db.Workouts, "id", "name", exerciseunit.workoutId);
            return(View(exerciseunit));
        }
示例#8
0
        public ActionResult Create(ExerciseUnit exerciseunit)
        {
            if (ModelState.IsValid)
            {
                db.ExerciseUnits.Add(exerciseunit);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.exerciseId = new SelectList(db.Exercises, "id", "name", exerciseunit.exerciseId);
            ViewBag.workoutId  = new SelectList(db.Workouts, "id", "name", exerciseunit.workoutId);
            return(View(exerciseunit));
        }
示例#9
0
        public Exercise GetExercise(ExerciseOption exerciseOption)
        {
            var quantites     = QuantityParser.GetQuantity(exerciseOption.QuantityType, exerciseOption.OperationType);
            var exerciseUnits = new ExerciseUnit[quantites[0]];
            int index         = 0;
            int enumIndex     = 1;

            for (int i = 1; i < quantites.Length; i++)
            {
                OperationType t = (OperationType)enumIndex;
                for (int j = 0; j < quantites[i]; j++)
                {
                    GeneratorParser.GetGenerator(exerciseOption.OperationType & (OperationType)enumIndex, exerciseOption.ResultIntervalType).Generate(ref exerciseUnits[index++]);
                }
                enumIndex *= 2;
            }
            return(new Exercise(DateTime.Now, exerciseOption.OperationType, exerciseOption.ResultIntervalType, exerciseOption.QuantityType, exerciseUnits));
        }
 protected abstract void OnGenerate(ref ExerciseUnit exerciseUnit);