public static bool GenerateNewCommunications(Guid userId) { var newComm = false; using (var dbContext = new ActivityTrackerDbContext()) { var comms = dbContext.Communications.ToList(); var userComms = dbContext.UserCommunications.Where(x => x.UserID == userId).ToList(); foreach (var comm in comms) { if (checkIfUserHasCommunication(userId, comm, userComms)) { var userComm = new UserCommunication(); userComm.CommunicationID = comm.CommunicationID; userComm.UserID = userId; userComm.Date = DateTime.UtcNow; dbContext.UserCommunications.Add(userComm); newComm = true; } } dbContext.SaveChanges(); } return(newComm); }
public static void GeneraterNewBadges(Guid userId) { using (var dbContext = new ActivityTrackerDbContext()) { var badges = dbContext.Badges.ToList(); var userBadges = dbContext.UserBadges.Where(x => x.UserID == userId).ToList(); foreach (var badge in badges) { if (userBadges.FirstOrDefault(x => x.BadgeID == badge.BadgeID) == null) { if (CheckIfUserWonThisBadge(userId, badge)) { var userBadge = new UserBadge(); userBadge.UserID = userId; userBadge.BadgeID = badge.BadgeID; userBadge.Date = DateTime.UtcNow; dbContext.UserBadges.Add(userBadge); } } } dbContext.SaveChanges(); } }
/// <summary> /// Méthode réutilisable pour créer une activité /// </summary> /// <param name="user"></param> /// <param name="createActivityParameter"></param> private void CreateUserActivity(User user, CreateActivityParameter createActivityParameter) { var type = GetActivityTypeByCode(createActivityParameter.ActivityTypeCode); ValidateUserActivityCreation(user, type, createActivityParameter); var activity = new UserActivity { UserID = user.UserID, ActivityTypeID = type.ActivityTypeID, Date = createActivityParameter.CreationDate ?? DateTime.UtcNow, Quantity = createActivityParameter.Quantity, ExternalID = createActivityParameter.ExternalId }; AdjustHealthPoints(activity, type); using (var dbContext = new ActivityTrackerDbContext()) { dbContext.UserActivities.Add(activity); dbContext.SaveChanges(); } }