Ejemplo n.º 1
0
        /// <summary>
        /// Gets the fake exercises
        /// </summary>
        /// <returns>A queryable list of fake exercises</returns>
        private List <exercise> getSeedExercises()
        {
            var      users = getSeedUsers();
            exercise ex1   = new exercise
            {
                id   = 1,
                name = "ex1",
                user = users[1],
                created_by_user_id = 2
            };
            exercise ex2 = new exercise
            {
                id   = 2,
                name = "ex2",
                user = users[1],
                created_by_user_id = 2
            };
            exercise ex3 = new exercise
            {
                id   = 3,
                name = "ex3",
                user = users[2],
                created_by_user_id = 3
            };
            var exercises = new List <exercise> {
                ex1, ex2, ex3
            };

            return(exercises);
        }
Ejemplo n.º 2
0
        private ITask convert(exercise xmlExercise)
        {
            var exercise = exerciseFactory.Create();

            exercise.Description = xmlExercise.text;

            if (!String.IsNullOrEmpty(xmlExercise.id))
            {
                taggedInitializer.FillFromTaggedTask(xmlExercise.id, exercise);
            }

            if (exercise.Evaluator == null)
            {
                Type evaluatorType = Type.GetType(xmlExercise.@class);
                if (evaluatorType != null)
                {
                    if (!typeof(IEvaluator).IsAssignableFrom(evaluatorType))
                    {
                        log("type is no IEvaluator");
                    }

                    kernel.Bind(evaluatorType).ToSelf();
                    IEvaluator evaluator = (IEvaluator)kernel.Get(evaluatorType);
                    exercise.Evaluator = evaluator;
                }
            }

            return(exercise);
        }
Ejemplo n.º 3
0
        public bool TrainerAddExercise(string userId, ExerciseDTO exercise)
        {
            var trainer = (from x in db.trainer
                           where x.ID == userId
                           select x).FirstOrDefault();

            try
            {
                var e = new exercise
                {
                    name         = exercise.name,
                    description  = exercise.description,
                    link         = exercise.link,
                    type         = exercise.type,
                    trainer_TRID = trainer.TRID
                };

                db.exercise.Add(e);
                db.SaveChanges();
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Ejemplo n.º 4
0
        // GET: AdminExercises/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(View("DetailedError", new HttpStatusCodeResult(HttpStatusCode.BadRequest, "No exercise to view was specified")));
            }
            exercise exercise = db.exercises.Find(id);

            if (exercise == null)
            {
                return(View("DetailedError", new HttpStatusCodeResult(HttpStatusCode.NotFound, "The exercise could not be found or does not exist")));
            }
            string link = (String.IsNullOrEmpty(exercise.link)) ? " " : exercise.link;

            if (!link.StartsWith("http://") && !link.StartsWith("https://"))
            {
                link = " ";
            }
            else
            {
                link = link.Replace("watch?v=", "embed/");
            }
            ViewBag.videoLink = link;
            return(View(exercise));
        }
Ejemplo n.º 5
0
        public bool CreateExercise(exercise InsertExercise)
        {
            using (var db = new DbSimaer())
            {
                db.exercise.Add(InsertExercise);
                db.SaveChanges();

                return(true);
            }
        }
Ejemplo n.º 6
0
        public bool DeleteExercise(exercise DeleteExercise)
        {
            using (var db = new DbSimaer())
            {
                db.exercise.Remove(DeleteExercise);
                db.SaveChanges();

                return(true);
            }
        }
Ejemplo n.º 7
0
        public bool UpdateExercise(exercise UpdateExercise)
        {
            using (var db = new DbSimaer())
            {
                db.exercise.AddOrUpdate(UpdateExercise);
                db.SaveChanges();

                return(true);
            }
        }
Ejemplo n.º 8
0
        /*
         * [TestMethod]
         * public void TestAdminExercisesDeleteWithNullId()
         * {
         *  int? id = null;
         *  ViewResult result = adminCon.Delete(id) as ViewResult;
         *  Assert.IsNotNull(result);
         *  Assert.AreEqual("DetailedError", result.ViewName);
         *  Assert.IsInstanceOfType(result.Model, typeof(HttpStatusCodeResult));
         *  var model = result.Model as HttpStatusCodeResult;
         *  Assert.AreEqual(400, model.StatusCode);
         *  Assert.AreEqual("No exercise to delete was specified", model.StatusDescription);
         * }*/
        /*
         * [TestMethod]
         * public void TestAdminExercisesGetDeleteWithNotFoundExercise()
         * {
         *  int? id = 6042;
         *  ViewResult result = adminCon.Delete(id) as ViewResult;
         *  Assert.IsNotNull(result);
         *  Assert.AreEqual("DetailedError", result.ViewName);
         *  Assert.IsInstanceOfType(result.Model, typeof(HttpStatusCodeResult));
         *  var model = result.Model as HttpStatusCodeResult;
         *  Assert.AreEqual(404, model.StatusCode);
         *  Assert.AreEqual("The exercise could not be found or does not exist", model.StatusDescription);
         * }
         *
         * [TestMethod]
         * public void TestAdminExercisesPostDeleteExerciseNotFound()
         * {
         *  exercise t = new exercise();
         *  ViewResult result = adminCon.DeleteConfirmed(t) as ViewResult;
         *  Assert.IsNotNull(result);
         *  Assert.AreEqual("DetailedError", result.ViewName);
         *  Assert.IsInstanceOfType(result.Model, typeof(HttpStatusCodeResult));
         *  var model = result.Model as HttpStatusCodeResult;
         *  Assert.AreEqual(500, model.StatusCode);
         *  Assert.AreEqual("The exercise does not exist or has already been deleted", model.StatusDescription);
         * }
         *
         * [TestMethod]
         * public void TestAdminExercisesPostDeleteWithNullExercise()
         * {
         *  exercise t = null;
         *  ViewResult result = adminCon.DeleteConfirmed(t) as ViewResult;
         *  Assert.IsNotNull(result);
         *  Assert.AreEqual("DetailedError", result.ViewName);
         *  Assert.IsInstanceOfType(result.Model, typeof(HttpStatusCodeResult));
         *  var model = result.Model as HttpStatusCodeResult;
         *  Assert.AreEqual(500, model.StatusCode);
         *  Assert.AreEqual("Failed to delete the exercise.", model.StatusDescription);
         * }
         *
         * [TestMethod]
         * public void TestAdminExercisesPostDeleteWithConcurrencyException()
         * {
         *  exercise t = new exercise()
         *  {
         *      id = 1
         *  };
         *  db.Setup(c => c.exercises.Find(t.id)).Returns(t);
         *  db.Setup(c => c.exercises.Remove(t)).Returns(t);
         *  db.Setup(c => c.SaveChanges()).Throws(new DbUpdateConcurrencyException());
         *  ViewResult result = adminCon.DeleteConfirmed(t) as ViewResult;
         *  Assert.IsNotNull(result);
         *  Assert.AreEqual("DetailedError", result.ViewName);
         *  Assert.IsInstanceOfType(result.Model, typeof(HttpStatusCodeResult));
         *  var model = result.Model as HttpStatusCodeResult;
         *  Assert.AreEqual(500, model.StatusCode);
         *  Assert.AreEqual("Failed to delete the exercise as another admin may have modified it", model.StatusDescription);
         * }
         *
         * [TestMethod]
         * public void TestAdminExercisesPostDeleteWithDbUpdateException()
         * {
         *  exercise t = new exercise()
         *  {
         *      id = 1
         *  };
         *  db.Setup(c => c.exercises.Find(t.id)).Returns(t);
         *  db.Setup(c => c.exercises.Remove(t)).Returns(t);
         *  db.Setup(c => c.SaveChanges()).Throws(new DbUpdateException());
         *  ViewResult result = adminCon.DeleteConfirmed(t) as ViewResult;
         *  Assert.IsNotNull(result);
         *  Assert.AreEqual("DetailedError", result.ViewName);
         *  Assert.IsInstanceOfType(result.Model, typeof(HttpStatusCodeResult));
         *  var model = result.Model as HttpStatusCodeResult;
         *  Assert.AreEqual(500, model.StatusCode);
         *  Assert.AreEqual("Failed to delete the exercise as it may be referenced by another item.", model.StatusDescription);
         * }*/

        /* Private Test Helpers */

        /// <summary>
        /// Helper method to determin if a exercise list is sorted in a certain order on a certain property
        /// </summary>
        /// <param name="exercises">The exercise list to check</param>
        /// <param name="propName">The exercise property that the list should be sorted by</param>
        /// <param name="order">One of "asc" or "desc". Tells the method to check if the list is in ascending or descending order</param>
        /// <returns>True if the list is sorted on the given property in the given order, false otherwise</returns>
        private bool isSorted(PagedList <exercise> exercises, string propName, string order)
        {
            int limit = (exercises.Count > 10) ? 11 : exercises.Count;

            for (int i = 1; i < limit; i++)
            {
                exercise currentExercise = exercises[i];
                exercise prevExercise    = exercises[i - 1];
                int?     res             = null;
                if (propName == "name")
                {
                    res = String.Compare(prevExercise.name, currentExercise.name);
                }
                else if (propName == "date")
                {
                    res = DateTime.Compare(prevExercise.created_at, currentExercise.created_at);
                }
                else if (propName == "username")
                {
                    res = String.Compare(prevExercise.user.username, currentExercise.user.username);
                }
                else if (propName == "link")
                {
                    res = String.Compare(prevExercise.link, currentExercise.link);
                }
                else if (propName == "description")
                {
                    res = String.Compare(prevExercise.description, currentExercise.description);
                }
                else if (propName == "type")
                {
                    res = String.Compare(prevExercise.type.name, currentExercise.type.name);
                }
                else
                {
                    return(false);
                }

                if (order == "asc")
                {
                    if (res > 0)
                    {
                        return(false);
                    }
                }
                else if (order == "desc")
                {
                    if (res < 0)
                    {
                        return(false);
                    }
                }
            }
            return(true);
        }
 public void TestAdminExercisesCreateThrowsException()
 {
     exercise t = new exercise();
     db.Setup(c => c.SaveChanges()).Throws(new Exception());
     ViewResult result = adminCon.Create(t) as ViewResult;
     Assert.IsNotNull(result);
     Assert.AreEqual("DetailedError", result.ViewName);
     Assert.IsInstanceOfType(result.Model, typeof(HttpStatusCodeResult));
     var model = result.Model as HttpStatusCodeResult;
     Assert.AreEqual(500, model.StatusCode);
     Assert.AreEqual("Failed to create the exercise.", model.StatusDescription);
 }
Ejemplo n.º 10
0
        public void TestAdminExercisesPostEditWithNullExercise()
        {
            exercise   t      = null;
            ViewResult result = adminCon.Edit(t) as ViewResult;

            Assert.IsNotNull(result);
            Assert.AreEqual("DetailedError", result.ViewName);
            Assert.IsInstanceOfType(result.Model, typeof(HttpStatusCodeResult));
            var model = result.Model as HttpStatusCodeResult;

            Assert.AreEqual(500, model.StatusCode);
            Assert.AreEqual("Failed to edit the exercise.", model.StatusDescription);
        }
Ejemplo n.º 11
0
        public void TestAdminExercisesPostEditExerciseNotFound()
        {
            exercise   t      = new exercise();
            ViewResult result = adminCon.Edit(t) as ViewResult;

            Assert.IsNotNull(result);
            Assert.AreEqual("DetailedError", result.ViewName);
            Assert.IsInstanceOfType(result.Model, typeof(HttpStatusCodeResult));
            var model = result.Model as HttpStatusCodeResult;

            Assert.AreEqual(500, model.StatusCode);
            Assert.AreEqual("The exercise does not exist or has already been deleted", model.StatusDescription);
        }
Ejemplo n.º 12
0
        public void TestExerciseControllerDetailsForExercise1and3()
        {
            PartialViewResult result = controller.ExerciseDetails(1) as PartialViewResult;

            Assert.IsNotNull(result);
            exercise exercise1 = (exercise)result.ViewData.Model;

            Assert.AreEqual("ex1", exercise1.name, "Name was not 'ex1'");
            result = controller.ExerciseDetails(3) as PartialViewResult;
            Assert.IsNotNull(result);
            exercise exercise3 = (exercise)result.ViewData.Model;

            Assert.AreEqual("ex3", exercise3.name, "Name was not 'ex3'");
        }
Ejemplo n.º 13
0
        public void TestAdminExercisesCreateThrowsException()
        {
            exercise t = new exercise();

            db.Setup(c => c.SaveChanges()).Throws(new Exception());
            ViewResult result = adminCon.Create(t) as ViewResult;

            Assert.IsNotNull(result);
            Assert.AreEqual("DetailedError", result.ViewName);
            Assert.IsInstanceOfType(result.Model, typeof(HttpStatusCodeResult));
            var model = result.Model as HttpStatusCodeResult;

            Assert.AreEqual(500, model.StatusCode);
            Assert.AreEqual("Failed to create the exercise.", model.StatusDescription);
        }
Ejemplo n.º 14
0
        // GET: AdminExercises/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(View("DetailedError", new HttpStatusCodeResult(HttpStatusCode.BadRequest, "No exercise to edit was specified")));
            }
            exercise exercise = db.exercises.Find(id);

            if (exercise == null)
            {
                return(View("DetailedError", new HttpStatusCodeResult(HttpStatusCode.NotFound, "The exercise could not be found or does not exist")));
            }
            ViewBag.type_id            = new SelectList(db.types, "id", "measure", exercise.type_id);
            ViewBag.created_by_user_id = new SelectList(db.users, "id", "username", exercise.created_by_user_id);
            return(View(exercise));
        }
 protected void GetExercise()
 {
     //look up the selected exercise and fill the exercise edit form.
     using (DefaultConnection1 db = new DefaultConnection1())
     {
         //Store the ID from the URL in the variable.
         Int32 exercise_id = Convert.ToInt32(Request.QueryString["exercise_id"]);
         //Look up the food
         exercise ex = (from x in db.exercises
                        where x.exercise_id == exercise_id
                        select x).FirstOrDefault();
         //pre populate the form feilds
         txtExerciseName.Text = ex.exercise_name;
         txtReps.Text         = ex.exercise_rep;
         txtExerciseDate.Text = Convert.ToString(ex.exercise_date);
     }
 }
Ejemplo n.º 16
0
        public void TestAdminExercisesPostEditWithConcurrencyException()
        {
            exercise t = new exercise()
            {
                id = 1
            };

            db.Setup(c => c.SaveChanges()).Throws(new DbUpdateConcurrencyException());
            ViewResult result = adminCon.Edit(t) as ViewResult;

            Assert.IsNotNull(result);
            Assert.AreEqual("DetailedError", result.ViewName);
            Assert.IsInstanceOfType(result.Model, typeof(HttpStatusCodeResult));
            var model = result.Model as HttpStatusCodeResult;

            Assert.AreEqual(500, model.StatusCode);
            Assert.AreEqual("Failed to edit exercise as another admin may have already updated this exercise", model.StatusDescription);
        }
        public EditExercise(exercise exercise, List <exercise> exercises)
        {
            InitializeComponent();
            this.exercise  = exercise;
            this.exercises = exercises;

            if (exercise.protocol == "blank")
            {
                name_box.Text                = exercise.name;
                sets_combo.SelectedValue     = exercise.sets.ToString();
                reps_box.Text                = exercise.reps.ToString();
                protocol_combo.SelectedValue = "basic";
            }
            else if (exercise.protocol == "sets")
            {
                name_box.Text                = exercise.name;
                sets_combo.SelectedValue     = exercise.sets.ToString();
                reps_box.Text                = exercise.reps.ToString();
                protocol_combo.SelectedValue = "basic";
                RPE_combo.SelectedValue      = exercise.RPE.ToString("#.#");
            }
            else if (exercise.protocol == "extra")
            {
                name_box.Text = exercise.name;
                protocol_combo.SelectedValue = "extra";
            }
            else
            {
                name_box.Text               = exercise.name;
                reps_box.Text               = exercise.reps.ToString();
                RPE_combo.SelectedValue     = exercise.RPE.ToString();
                fatique_combo.SelectedValue = exercise.fatique.ToString() + '%';
                if (exercise.protocol == "ld")
                {
                    fatique_protocol_combo.SelectedValue = "load drop(ld)";
                }
                else
                {
                    fatique_protocol_combo.SelectedValue = "load drop gradually(ldg)";
                }
                protocol_combo.SelectedValue = "fatique";
            }
        }
Ejemplo n.º 18
0
        protected void grdExercise_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            //Identify the excercise ID to be deleted from the row that the user selected from
            Int32 exercise_id = Convert.ToInt32(grdExercise.DataKeys[e.RowIndex].Values["exercise_id"]);

            //Connect
            using (DefaultConnection1 db = new DefaultConnection1())
            {
                exercise ex = (from x in db.exercises
                               where x.exercise_id == exercise_id
                               select x).FirstOrDefault();
                //delete
                db.exercises.Remove(ex);
                db.SaveChanges();

                //refresh
                GetExercise();
            }
        }
Ejemplo n.º 19
0
 public ActionResult Edit([Bind(Include = "id,type_id,created_by_user_id,created_at,link,description,timestamp,name")] exercise exercise)
 {
     try
     {
         if (ModelState.IsValid)
         {
             var oldExercise = db.exercises.Find(exercise.id);
             if (oldExercise == null)
             {
                 return(View("DetailedError", new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "The exercise does not exist or has already been deleted")));
             }
             var entry = db.Entry(oldExercise);
             var state = entry.State;
             if (state == EntityState.Detached)
             {
                 db.Entry(exercise).State = EntityState.Modified;
             }
             else
             {
                 entry.OriginalValues["timestamp"] = exercise.timestamp;
                 entry.CurrentValues.SetValues(exercise);
             }
             db.SaveChanges();
             return(RedirectToAction("Index"));
         }
         ViewBag.type_id            = new SelectList(db.types, "id", "name", exercise.type_id);
         ViewBag.created_by_user_id = new SelectList(db.users, "id", "username", exercise.created_by_user_id);
         return(View(exercise));
     }
     catch (DbUpdateConcurrencyException)
     {
         return(View("DetailedError", new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Failed to edit exercise as another admin may have already updated this exercise")));
     }
     catch (DbUpdateException)
     {
         return(View("DetailedError", new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Failed to edit exercise.")));
     }
     catch (Exception)
     {
         return(View("DetailedError", new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Failed to edit the exercise.")));
     }
 }
        protected void btnAddExercise_Click(object sender, EventArgs e)
        {
            //Connect
            using (DefaultConnection1 db = new DefaultConnection1())
            {
                //create new exercise in memory
                exercise ex = new exercise();

                Int32 exercise_id = 0;

                //check for URL
                if (!String.IsNullOrEmpty(Request.QueryString["exercise_id"]))
                {
                    //get the id from the url
                    exercise_id = Convert.ToInt32(Request.QueryString["exercise_id"]);

                    //Look up the food
                    ex = (from x in db.exercises
                          where x.exercise_id == exercise_id
                          select x).FirstOrDefault();
                }

                //importing the user_id from the session object.
                Int32 user_id = Convert.ToInt32(Session["user_id"]);

                //fill the properties of the new Exercise
                ex.exercise_name = txtExerciseName.Text;
                ex.exercise_rep  = txtReps.Text;
                ex.exercise_date = Convert.ToDateTime(txtExerciseDate.Text);
                ex.user_id       = user_id;

                if (exercise_id == 0)
                {
                    db.exercises.Add(ex);
                }
                //Save the exercise to the data base
                db.SaveChanges();
                //redirect to the exercise tracker page
                Response.Redirect("exercise_tracker.aspx");
            }
        }
Ejemplo n.º 21
0
        public bool AddExercise(ExerciseDTO exercise)
        {
            try
            {
                var e = new exercise
                {
                    EID         = exercise.EID,
                    name        = exercise.name,
                    description = exercise.description,
                    link        = exercise.link,
                    type        = exercise.type
                };

                db.exercise.Add(e);
                db.SaveChanges();
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Ejemplo n.º 22
0
        public ActionResult Create([Bind(Include = "id,type_id,created_by_user_id,created_at,link,description,timestamp,name")] exercise exercise)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    exercise.created_at         = DateTime.Now;
                    exercise.created_by_user_id = db.users.Where(a => a.username.Equals(User.Identity.Name)).FirstOrDefault().id;
                    db.exercises.Add(exercise);
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }

                ViewBag.type_id            = new SelectList(db.types, "id", "measure", exercise.type_id);
                ViewBag.created_by_user_id = new SelectList(db.users, "id", "username", exercise.created_by_user_id);
                return(View(exercise));
            }
            catch (Exception ex)
            {
                return(View("DetailedError", new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Failed to create the exercise.")));
            }
        }
        protected override SetExerciseDescriptorResponse InnerHandle(SetExerciseDescriptorRequest request, member requester)
        {
            if (!((Common.Model.MemberType)requester.MemberType).HasFlag(MemberType.Trainer))
            {
                return(new SetExerciseDescriptorResponse {
                    AccessDenied = true
                });
            }

            var db   = new DatabaseEntities();
            var e    = request.Exercise;
            var dbEx = new exercise
            {
                Name        = e.Name,
                Description = e.Description
            };

            var ex = db.exercises.Add(dbEx);

            db.SaveChanges();
            return(new SetExerciseDescriptorResponse {
                Exercise = (ExerciseDescriptor)ex
            });
        }
Ejemplo n.º 24
0
        private ITask convert(exercise xmlExercise) {
            var exercise = exerciseFactory.Create();
            exercise.Description = xmlExercise.text;

            if (!String.IsNullOrEmpty(xmlExercise.id)) {
                taggedInitializer.FillFromTaggedTask(xmlExercise.id, exercise);
            }

            if (exercise.Evaluator == null) {
                Type evaluatorType = Type.GetType(xmlExercise.@class);
                if (evaluatorType != null) {

                    if (!typeof(IEvaluator).IsAssignableFrom(evaluatorType)) {
                        log("type is no IEvaluator");
                    }

                    kernel.Bind(evaluatorType).ToSelf();
                    IEvaluator evaluator = (IEvaluator)kernel.Get(evaluatorType);
                    exercise.Evaluator = evaluator;
                }
            }

            return exercise;
        }
Ejemplo n.º 25
0
 public bool UpdateExercise(exercise UpdateExercise)
 {
     return(dao.UpdateExercise(UpdateExercise));
 }
Ejemplo n.º 26
0
 /// <summary>
 /// Gets the fake exercises
 /// </summary>
 /// <returns>A queryable list of fake exercises</returns>
 private List<exercise> getSeedExercises()
 {
     var users = getSeedUsers();
     exercise ex1 = new exercise
     {
         id = 1,
         name = "ex1",
         user = users[1],
         created_by_user_id = 2
     };
     exercise ex2 = new exercise
     {
         id = 2,
         name = "ex2",
         user = users[1],
         created_by_user_id = 2
     };
     exercise ex3 = new exercise
     {
         id = 3,
         name = "ex3",
         user = users[2],
         created_by_user_id = 3
     };
     var exercises = new List<exercise> { ex1, ex2, ex3 };
     return exercises;
 }
Ejemplo n.º 27
0
 public bool CreateExercise(exercise InsertExercise)
 {
     return(dao.CreateExercise(InsertExercise));
 }
Ejemplo n.º 28
0
 public bool DeleteExercise(exercise DeleteExercise)
 {
     return(dao.DeleteExercise(DeleteExercise));
 }
 public void TestAdminExercisesPostEditWithConcurrencyException()
 {
     exercise t = new exercise()
     {
         id = 1
     };
     db.Setup(c => c.SaveChanges()).Throws(new DbUpdateConcurrencyException());
     ViewResult result = adminCon.Edit(t) as ViewResult;
     Assert.IsNotNull(result);
     Assert.AreEqual("DetailedError", result.ViewName);
     Assert.IsInstanceOfType(result.Model, typeof(HttpStatusCodeResult));
     var model = result.Model as HttpStatusCodeResult;
     Assert.AreEqual(500, model.StatusCode);
     Assert.AreEqual("Failed to edit exercise as another admin may have already updated this exercise", model.StatusDescription);
 }
 public void TestAdminExercisesPostEditExerciseNotFound()
 {
     exercise t = new exercise();
     ViewResult result = adminCon.Edit(t) as ViewResult;
     Assert.IsNotNull(result);
     Assert.AreEqual("DetailedError", result.ViewName);
     Assert.IsInstanceOfType(result.Model, typeof(HttpStatusCodeResult));
     var model = result.Model as HttpStatusCodeResult;
     Assert.AreEqual(500, model.StatusCode);
     Assert.AreEqual("The exercise does not exist or has already been deleted", model.StatusDescription);
 }
        private void CloseWindow(object sender, System.ComponentModel.CancelEventArgs e)
        {
            try
            {
                exercise exercise = new exercise(name_box.Text);
                string   protocol = ((ComboBoxItem)protocol_combo.SelectedItem).Content.ToString();
                exercise.name = name_box.Text;
                if (protocol == "fatique")
                {
                    string fatique_protocol = ((ComboBoxItem)fatique_protocol_combo.SelectedItem).Content.ToString();
                    if (fatique_protocol == "load drop(ld)")
                    {
                        exercise.protocol = "ld";
                    }
                    else
                    {
                        exercise.protocol = "ldg";
                    }

                    int reps;
                    if (!Int32.TryParse(reps_box.Text, out reps))
                    {
                        return;
                    }
                    exercise.reps = reps;

                    double RPE;
                    Double.TryParse(((ComboBoxItem)RPE_combo.SelectedItem).Content.ToString(), out RPE);
                    exercise.RPE = RPE;

                    int fatique;
                    Int32.TryParse(((ComboBoxItem)fatique_combo.SelectedItem).Content.ToString().Substring(0, 1), out fatique);
                    exercise.fatique = fatique;
                }
                else if (protocol == "basic, RPE")
                {
                    exercise.protocol = "sets";

                    int sets;
                    Int32.TryParse(((ComboBoxItem)sets_combo.SelectedItem).Content.ToString(), out sets);
                    exercise.sets = sets;

                    int reps;
                    if (!Int32.TryParse(reps_box.Text, out reps))
                    {
                        return;
                    }
                    exercise.reps = reps;

                    double RPE;
                    Double.TryParse(((ComboBoxItem)RPE_combo.SelectedItem).Content.ToString(), out RPE);
                    exercise.RPE = RPE;
                }
                else if (protocol == "extra")
                {
                    exercise.protocol = "extra";
                    exercise.name     = name_box.Text;
                }
                else if (protocol == "basic")
                {
                    exercise.protocol = "blank";

                    int sets;
                    Int32.TryParse(((ComboBoxItem)sets_combo.SelectedItem).Content.ToString(), out sets);
                    exercise.sets = sets;

                    int reps;
                    if (!Int32.TryParse(reps_box.Text, out reps))
                    {
                        return;
                    }
                    exercise.reps = reps;
                }
                else
                {
                    return;
                }
                exercises.Add(exercise);
            }
            catch
            {
                return;
            }
        }