public void J_EndWorkoutApiTest()
        {
            WorkoutCollection result;
            var           wc         = workoutService.GetWorkouts().Where(w => w.workout_title.Equals("TestApiWorkoutUpdated", StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault();
            var           waRes      = workoutService.GetActiveWorkouts(wc.workout_id).FirstOrDefault();
            var           controller = new WorkoutTrackerController(workoutService, categoryService, _logManager);
            WorkoutActive wa         = new WorkoutActive()
            {
                workout_id = wc.workout_id,
                sid        = waRes.sid,
                start_date = waRes.start_date,
                start_time = waRes.start_time,
                end_date   = DateTime.UtcNow.Date,
                end_time   = DateTime.UtcNow.TimeOfDay,
                status     = true,
                comment    = "Ended"
            };

            controller.Request       = new HttpRequestMessage();
            controller.Configuration = new HttpConfiguration();
            controller.Request.Headers.Add("Accept", "application/json");
            var response = controller.EndWorkout(wa);

            result = response.Content.ReadAsAsync <WorkoutCollection>().Result;
            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
            Assert.AreNotEqual(null, result);
            Assert.AreNotEqual(null, result.workout_active);
            Assert.AreNotEqual(0, result.workout_active.Count());
            Assert.AreNotEqual(null, result.workout_active.FirstOrDefault().end_date);
            Assert.AreNotEqual(null, result.workout_active.FirstOrDefault().end_time);
            Assert.AreEqual(true, result.workout_active.FirstOrDefault().status);
            Assert.AreNotEqual(null, result.workout_active.FirstOrDefault().comment);
            response.Dispose();
        }
        public HttpResponseMessage EndWorkout(WorkoutActive wa)
        {
            WorkoutActive     activeWorkout = new WorkoutActive();
            WorkoutCollection result        = new WorkoutCollection();

            try
            {
                activeWorkout.sid        = wa.sid;
                activeWorkout.workout_id = wa.workout_id;
                activeWorkout.start_date = wa.start_date;
                activeWorkout.start_time = wa.start_time;
                activeWorkout.end_date   = wa.end_date;
                activeWorkout.end_time   = wa.end_time;
                activeWorkout.comment    = wa.comment;
                activeWorkout.status     = true;
                var input = Helper.CastObject <workout_active>(activeWorkout);
                _workoutService.EndWorkout(input);
                var res = _workoutService.GetWorkout(activeWorkout.workout_id);
                MapCollection(res, ref result);
            }
            catch (Exception ex)
            {
                _logManager.WriteLog(ex);
            }
            return(ToJson(result));
        }
 private void MapActive(workout_active source, ref WorkoutActive des)
 {
     des.sid                = source.sid;
     des.workout_id         = source.workout_id;
     des.start_date         = source.start_date;
     des.start_time         = source.start_time;
     des.end_date           = source.end_date;
     des.end_time           = source.end_time;
     des.comment            = source.comment;
     des.status             = source.status;
     des.workout_collection = Helper.CastObject <WorkoutCollection>(source.workout_collection);
 }
        public HttpResponseMessage GetActiveWorkout(WorkoutCollection wc)
        {
            WorkoutActive result = new WorkoutActive();

            try
            {
                var res = _workoutService.GetActiveWorkouts(wc.workout_id);
                MapActive(res.FirstOrDefault(), ref result);
            }
            catch (Exception ex)
            {
                _logManager.WriteLog(ex);
            }
            return(ToJson(result));
        }
Пример #5
0
        public bool StartWorkout(WorkoutActiveDTO workoutActiveDTO)
        {
            int result = 0;

            using (var unitOfWork = new UnitOfWork(new WorkoutTrackerContext()))
            {
                WorkoutActive workoutActive = null;
                var           workoutInDB   = unitOfWork.WorkoutActive.GetWorkoutByWorkoutId(workoutActiveDTO.WorkoutId);

                if (workoutInDB == null)
                {
                    workoutActive = Mapper.Map <WorkoutActive>(workoutActiveDTO);
                    unitOfWork.WorkoutActive.Add(workoutActive);
                }
                else
                {
                    workoutActiveDTO.WorkoutActiveId = workoutInDB.WorkoutActiveId;
                    Mapper.Map(workoutActiveDTO, workoutInDB);
                }

                result = unitOfWork.Complete();
                return(result == 1);
            }
        }