public Guid Log(WorkoutExerciseLog log)
        {
            using (var db = new LiftBroContext())
            {
                log.When = DateTime.Now;
                db.WorkoutExercises.Attach(log.WorkoutExercise);

                //update an already saved one
                if (!log.Id.Equals(Guid.Empty))
                {
                    db.WorkoutExerciseLogs.Attach(log);
                    db.Entry(log).State = EntityState.Modified;
                }
                else
                {
                    db.WorkoutExerciseLogs.Add(log);
                    log.Id = Guid.NewGuid();
                }

                db.SaveChanges();
                return log.Id;
            }
        }