private RoutineLog CreateFakeRoutineLog(DateTime day) { var log = new RoutineLog(); log.TimestampUTC = day; return(log); }
public async Task LogRoutine(RoutineLog log) { var jsonData = JsonConvert.SerializeObject(log); var jsonResult = await PostDataAsync("api/routine/log", jsonData); return; }
public HttpResponseMessage LogRoutine(RoutineLog routineLog) { MySqlConnection conn = new MySqlConnection(CONNECTION_STRING); try { conn.Open(); string rtn = "log_routine_procedure"; MySqlCommand cmd = new MySqlCommand(rtn, conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@id", routineLog.ID.ToString()); cmd.Parameters.AddWithValue("@routineId", routineLog.RoutineID.ToString()); cmd.Parameters.AddWithValue("@routineTimeStamp", routineLog.Timestamp); cmd.ExecuteNonQuery(); return(base.BuildSuccessResult(HttpStatusCode.OK)); } catch (Exception ex) { return(base.BuildErrorResult(HttpStatusCode.BadRequest, "Error creating routine!")); } finally { conn.Close(); } }
public async Task MarkDone(RoutineLog log) { RoutineDB routineManager = new RoutineDB(); await routineManager.LogRoutine(log); return; }
public HttpResponseMessage GetAllRoutineLogs(string username, string dateString) { var routineLogList = new List <RoutineLog>(); MySqlConnection conn = new MySqlConnection(CONNECTION_STRING); try { conn.Open(); string rtn = "get_all_routine_logs_procedure"; MySqlCommand cmd = new MySqlCommand(rtn, conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@username", username); cmd.Parameters.AddWithValue("@dateRequested", dateString); var reader = cmd.ExecuteReader(); while (reader.Read()) { var routineLog = new RoutineLog(); routineLog.ID = Guid.Parse(reader.GetString("log_id")); routineLog.Timestamp = reader.GetDateTime("time_stamp"); routineLog.RoutineID = Guid.Parse(reader.GetString("routine_id")); routineLogList.Add(routineLog); } reader.Close(); return(base.BuildSuccessResultList(HttpStatusCode.OK, routineLogList)); } catch (Exception ex) { return(base.BuildErrorResult(HttpStatusCode.BadRequest, "Error getting all routines!")); } finally { conn.Close(); } }
public async override void Run() { try { var log = new RoutineLog(); log.ID = Guid.NewGuid(); log.RoutineID = routine.ID; log.Timestamp = DateTime.Today; await routineRepository.MarkDone(log); var pointsAdded = 0; if (routine.Difficulty == Difficulty.Easy) { pointsAdded = 10; } if (routine.Difficulty == Difficulty.Medium) { pointsAdded = 20; } if (routine.Difficulty == Difficulty.Hard) { pointsAdded = 30; } if (routine.Difficulty == Difficulty.VeryHard) { pointsAdded = 40; } await userRepository.IncrementPoints(routine.Username, pointsAdded); mainThread.Post(() => callback.OnRoutineMarkedDoneForToday(routine, pointsAdded)); } catch (Exception) { mainThread.Post(() => callback.OnError("Error logging routine. Try again.")); } }