public CourseQueue AddAwaitingUsersToCourseQueue(string courseIdentificator, ICollection <string> usersIdentificators, LogInformation logData) { GetCoursesQueue(); CourseQueue resultCourseQueue = new CourseQueue(); foreach (var userIdentificator in usersIdentificators) { CourseQueueUser user = new CourseQueueUser { UserIdentificator = userIdentificator, LogData = logData }; var filter = Builders <CourseQueue> .Filter.Where(z => z.CourseIdentificator == courseIdentificator); var update = Builders <CourseQueue> .Update.AddToSet(x => x.AwaitingUsers, user); resultCourseQueue = _coursesQueue.Find <CourseQueue>(filter).FirstOrDefault(); resultCourseQueue.AwaitingUsers.Add(new CourseQueueUser { UserIdentificator = userIdentificator }); var result = _coursesQueue.UpdateOne(filter, update); } return(resultCourseQueue); }
public CourseQueue CreateCourseQueue(string courseIdentificator) { CourseQueue courseQueue = new CourseQueue { CourseIdentificator = courseIdentificator }; GetCoursesQueue().InsertOne(courseQueue); return(courseQueue); }
public void AddCourseQueueLog(CourseQueue courseQueue, LogInformation logInfo) { var courseQueueLog = new CourseQueueLog { CourseQueueLogIdentificator = _keyGenerator.GenerateNewId(), AlteredEntity = courseQueue, LogData = logInfo }; _logRepository.AddCourseQueueLog(courseQueueLog); }