private void PopulateActivities() { ActionsPanel.Visibility = Visibility.Visible; ActivityType.Visibility = Visibility.Visible; ActivitySummaries.Add(new ActivitySummary { FullName = "Justin", ProfileMediumFormatted = "../Assets/Avatars/justin.jpg", TypeImage = "", Name = "Morning Ride", StartDate = "34 minutes ago", Distance = 12.3, ElevationGain = 37, CommentCount = 1, KudosCount = 0, AchievementCount = 0 }); ActivitySummaries.Add(new ActivitySummary { FullName = "Bart", ProfileMediumFormatted = "../Assets/Avatars/bart.jpg", TypeImage = "", Name = "Morning Ride", StartDate = "6 hours ago", Distance = 16.1, ElevationGain = 44, CommentCount = 3, KudosCount = 5, AchievementCount = 3 }); ActivitySummaries.Add(new ActivitySummary { FullName = "Glenn", ProfileMediumFormatted = "../Assets/Avatars/glenn.jpg", TypeImage = "", Name = "Night Ride", StartDate = "1 day ago", Distance = 72.9, ElevationGain = 121, CommentCount = 13, KudosCount = 27, AchievementCount = 51 }); ActivitySummaries.Add(new ActivitySummary { FullName = "Glenn", ProfileMediumFormatted = "../Assets/Avatars/glenn.jpg", TypeImage = "", Name = "Night Ride", StartDate = "1 day ago", Distance = 2.9, ElevationGain = 77, CommentCount = 2, KudosCount = 33, AchievementCount = 0 }); ActivitySummaries.Add(new ActivitySummary { FullName = "Bart", ProfileMediumFormatted = "../Assets/Avatars/bart.jpg", TypeImage = "", Name = "Night Ride", StartDate = "1 day ago", Distance = 67.8, ElevationGain = 99, CommentCount = 12, KudosCount = 7, AchievementCount = 0 }); ActivitySummaries.Add(new ActivitySummary { FullName = "Justin", ProfileMediumFormatted = "../Assets/Avatars/justin.jpg", TypeImage = "", Name = "Night Ride", StartDate = "2 days ago", Distance = 7.9, ElevationGain = 23, CommentCount = 55, KudosCount = 12, AchievementCount = 0 }); ActivitySummaries.Add(new ActivitySummary { FullName = "Bart", ProfileMediumFormatted = "../Assets/Avatars/bart.jpg", TypeImage = "", Name = "Night Ride", StartDate = "4 days ago", Distance = 143.8, ElevationGain = 212, CommentCount = 1, KudosCount = 3, AchievementCount = 121 }); ActivitySummaries.Add(new ActivitySummary { FullName = "Glenn", ProfileMediumFormatted = "../Assets/Avatars/glenn.jpg", TypeImage = "", Name = "Afternoon Ride", StartDate = "1 day ago", Distance = 0.6, ElevationGain = 12, CommentCount = 0, KudosCount = 1, AchievementCount = 0 }); ActivitySummaries.Add(new ActivitySummary { FullName = "Glenn", ProfileMediumFormatted = "../Assets/Avatars/glenn.jpg", TypeImage = "", Name = "Night Ride", StartDate = "1 day ago", Distance = 12, ElevationGain = 50, CommentCount = 2, KudosCount = 7, AchievementCount = 2 }); }
public IHttpActionResult Post(ActivitySummaries value) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (value.source == null || value.humanId == null) { return(BadRequest()); } using (var dbContextTransaction = db.Database.BeginTransaction()) { try { tSourceService sourceServiceObj = db.tSourceServices .SingleOrDefault(x => x.ServiceName == value.source && x.SourceID == 5); if (sourceServiceObj == null) { sourceServiceObj = new tSourceService(); sourceServiceObj.ServiceName = value.source; sourceServiceObj.TypeID = 2; //Wellness sourceServiceObj.SourceID = 5; //HumanAPI db.tSourceServices.Add(sourceServiceObj); } tUserSourceService userSourceServiceObj = null; //Get credentials tCredential credentialObj = db.tCredentials.SingleOrDefault(x => x.SourceID == 5 && x.SourceUserID == value.humanId && x.SystemStatusID == 1); if (credentialObj == null) { throw new NoUserCredentialsException("Unable to find any matching HAPI user credentials"); } else { userSourceServiceObj = db.tUserSourceServices.SingleOrDefault( x => x.SourceServiceID == sourceServiceObj.ID && x.CredentialID == credentialObj.ID && x.SystemStatusID == 1); if (userSourceServiceObj == null) { userSourceServiceObj = new tUserSourceService(); userSourceServiceObj.SourceServiceID = sourceServiceObj.ID; userSourceServiceObj.UserID = credentialObj.UserID; userSourceServiceObj.CredentialID = credentialObj.ID; userSourceServiceObj.ConnectedOnDateTime = DateTime.Now; userSourceServiceObj.LastSyncDateTime = DateTime.Now; userSourceServiceObj.LatestDateTime = value.updatedAt; userSourceServiceObj.StatusID = 3; //connected userSourceServiceObj.SystemStatusID = 1; //valid userSourceServiceObj.tCredential = credentialObj; db.tUserSourceServices.Add(userSourceServiceObj); } else { //update LatestDateTime to the most recent datetime if (userSourceServiceObj.LatestDateTime == null || userSourceServiceObj.LatestDateTime < value.updatedAt) { userSourceServiceObj.LatestDateTime = value.updatedAt; } } } tUserActivity userActivity = null; userActivity = db.tUserActivities .SingleOrDefault(x => x.SourceObjectID == value.id); if (userActivity == null) { userActivity = new tUserActivity(); userActivity.UserID = credentialObj.UserID; userActivity.SourceObjectID = value.id; userActivity.UserSourceServiceID = sourceServiceObj.ID; userActivity.ActivityID = 7; //General Activity userActivity.StartDateTime = value.date; userActivity.EndDateTime = value.date; userActivity.Duration = value.duration; if (value.duration != null) { userActivity.DurationUOMID = 8; } userActivity.Distance = value.distance; if (value.distance != null) { userActivity.DistanceUOMID = 9; } userActivity.Steps = value.steps; userActivity.VigorousActivityMin = value.vigorous; userActivity.ModerateActivityMin = value.moderate; userActivity.LightActivityMin = value.light; userActivity.SedentaryActivityMin = value.sedentary; userActivity.Calories = value.calories; userActivity.SystemStatusID = 1; userActivity.tUserSourceService = userSourceServiceObj; db.tUserActivities.Add(userActivity); } else { userActivity.StartDateTime = value.date; userActivity.EndDateTime = value.date; userActivity.Duration = value.duration; if (value.duration != null) { userActivity.DurationUOMID = 8; } userActivity.Distance = value.distance; if (value.distance != null) { userActivity.DistanceUOMID = 9; } userActivity.Steps = value.steps; userActivity.VigorousActivityMin = value.vigorous; userActivity.ModerateActivityMin = value.moderate; userActivity.LightActivityMin = value.light; userActivity.SedentaryActivityMin = value.sedentary; userActivity.Calories = value.calories; userActivity.tUserSourceService = userSourceServiceObj; userActivity.LastUpdatedDateTime = DateTime.Now; } db.SaveChanges(); dbContextTransaction.Commit(); return(Ok(userActivity)); } catch (Exception ex) { dbContextTransaction.Rollback(); //Insert Error Log tUserDataErrLog userErrorLog = new tUserDataErrLog(); userErrorLog.ErrTypeID = (int)ErrorLogging.enumErrorType.Application; userErrorLog.ErrSourceID = (int)AuditLogging.enumApplication.SFCBAL; userErrorLog.Code = ex.HResult.ToString(); userErrorLog.Description = ex.Message; userErrorLog.Trace = ex.StackTrace; dbErr.tUserDataErrLogs.Add(userErrorLog); dbErr.SaveChanges(); string ErrMsg = "An error occured and we have logged the error. Please try again later."; Exception Err = new Exception(ErrMsg, ex); return(InternalServerError(Err)); } } }