public static BusinessLibrary.Models.ExerciseSet Convert(ExerciseSet_db instance) { if (instance == null) { return(null); } return(new BusinessLibrary.Models.ExerciseSet(instance.Id, instance.Date, instance.Time, instance.Weight, instance.Type, instance.Reps, instance.SetNumber)); }
/// <summary> /// Adds a new instance into the database. /// </summary> public static ExerciseSet_db Add(int id, DateTime date, TimeSpan time, int weight, string type, int reps, int setNumber, DbContext context, out StatusResponse statusResponse) { try { if (id == 0) { throw new StatusException(HttpStatusCode.BadRequest, "Please provide a valid id"); } if (date == DateTime.MinValue) { throw new StatusException(HttpStatusCode.BadRequest, "Please provide a valid date"); } if (time == TimeSpan.Zero) { throw new StatusException(HttpStatusCode.BadRequest, "Please provide a valid duration"); } //Generate a new instance ExerciseSet_db instance = new ExerciseSet_db ( id, date, time, weight, type, reps, setNumber ); //Add to database int rowsAffected = context.ExecuteNonQueryCommand ( commandText: "INSERT INTO exercise_set (clientId, workoutLog_date, workoutLog_time, type, set_number, reps, weight) values (@id, @date, @time, @type, @set_number, @reps, @weight", parameters: new Dictionary <string, object>() { { "@id", instance.Id }, { "@date", instance.Date }, { "@time", instance.Time }, { "@weight", instance.Weight }, { "@type", instance.Type }, { "@reps", instance.Reps }, { "@set_number", instance.SetNumber }, }, message: out string message ); if (rowsAffected == -1) { throw new Exception(message); } //Return value statusResponse = new StatusResponse("Exercise Set added successfully"); return(instance); } catch (Exception exception) { statusResponse = new StatusResponse(exception); return(null); } }
/// <summary> /// Retrieves specific instance /// </summary> public static ExerciseSet_db GetExerciseSet(int id, DateTime date, TimeSpan time, DbContext context, out StatusResponse statusResponse) { try { //Get from database DataTable table = context.ExecuteDataQueryCommand ( commandText: "SELECT * FROM exercise_set WHERE clientId = @id, workoutLog_date = @date, workoutLog_time = @time", parameters: new Dictionary <string, object>() { { "@id", id }, { "@date", date }, { "@time", time } }, message: out string message ); if (table == null) { throw new Exception(message); } //Parse Data ExerciseSet_db instance = new ExerciseSet_db(); foreach (DataRow row in table.Rows) { instance = new ExerciseSet_db ( id: Convert.ToInt32(row["id"]), date: Convert.ToDateTime(row["date"]), time: TimeSpan.Parse(row["time"].ToString()), weight: Convert.ToInt32(row["weight"]), type: row["type"].ToString(), reps: Convert.ToInt32(row["reps"]), setNumber: Convert.ToInt32(row["set_number"]) ); } //Return value statusResponse = new StatusResponse("Exercise Set successfully retrieved"); return(instance); } catch (Exception exception) { statusResponse = new StatusResponse(exception); return(null); } }