예제 #1
0
        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);
        }
예제 #2
0
        public CourseQueue CreateCourseQueue(string courseIdentificator)
        {
            CourseQueue courseQueue = new CourseQueue
            {
                CourseIdentificator = courseIdentificator
            };

            GetCoursesQueue().InsertOne(courseQueue);

            return(courseQueue);
        }
예제 #3
0
        public void AddCourseQueueLog(CourseQueue courseQueue, LogInformation logInfo)
        {
            var courseQueueLog = new CourseQueueLog
            {
                CourseQueueLogIdentificator = _keyGenerator.GenerateNewId(),
                AlteredEntity = courseQueue,
                LogData       = logInfo
            };

            _logRepository.AddCourseQueueLog(courseQueueLog);
        }