public async Task <UserSnapshotResponse> GetUserSnapshot([FromBody] TokenModel model) { var valid = await model.Validate(); UserSnapshotResponse response; if (valid) { response = new UserSnapshotResponse(); try { using (var connection = GetConnection()) { connection.Open(); using (var command = new SqlCommand("GetUserSnapshot", connection)) { command.CommandType = CommandType.StoredProcedure; command.Parameters.Add("@email", SqlDbType.NVarChar).Value = model.Content.Email; using (var reader = command.ExecuteReader()) { if (reader.Read()) { response.Points = ReadObject(reader, "Points", 0); response.Falls = ReadObject(reader, "Falls", 0); response.ParticipatedCompetitions = ReadObject(reader, "ParticipatedCompetitions", 0); } if (reader.NextResult()) { while (reader.Read()) { response.UpcomingCompetitions.Add(CompetitionsController.ReadCompetition(reader)); } } } } } response.Token = model.Token; } catch { response.ApiResponseCode = ApiResponseCode.InternalError; } } else { response = ApiResponseCode.AuthError.ToResponse <UserSnapshotResponse>(); } return(response); }
public async Task <CompetitionsResponse> Get([FromBody] TokenModel data) { var valid = await data.Validate(); CompetitionsResponse response; if (valid) { response = GetCompetitionsFor(data.Content.Email); response.Token = data.Token; } else { response = ApiResponseCode.AuthError.ToResponse <CompetitionsResponse>(); } return(response); }