Exemple #1
0
        public void Bind()
        {
            //如果为空
            if (user.Course == null)
            {
                user.Course = new List <D4LValue>();
                this.CreateNew();
                return;
            }

            dv = user.Course.FirstOrDefault(c => c.ClassId == this.classId && c.DsId == dsId);

            if (dv == null)
            {
                this.CreateNew();
                return;
            }


            if (taskId == null)
            {
                return;
            }


            if (dv.TaskToPage != null && dv.TaskToPage.TryGetValue(taskId, out Guid pId))
            {
                this.pageId = pId;

                return;
            }

            this.CreateNewPage();
        }
Exemple #2
0
        void CreateNew()
        {
            dv = new D4LValue
            {
                ClassId   = classId,
                DsId      = dsId,
                SectionId = Guid.NewGuid()
            };

            user.AddEvent(new CourseNotesCreated
            {
                ClassId   = classId,
                Creator   = user.UserId,
                DsId      = dsId,
                SectionId = dv.SectionId
            });


            //Guid pid = Guid.Empty;

            if (taskId != Guid.Empty)
            {
                this.CreateNewPage();
            }
            user.Course.Add(dv);
        }
Exemple #3
0
        private async Task SetNotesForCourseAsync(UserObj u)
        {
            var relationDb = await this._reaer.NotesForCourse
                             .Qa()
                             .Where(n => n.Creator == u.UserId)
                             .ToListAsync();

            if (relationDb == null || relationDb.Count == 0)
            {
                return;
            }

            u.Course = new List <D4LValue>();

            foreach (var item in relationDb.Where(r => r.TaskId == Guid.Empty))
            {
                var dv = new D4LValue
                {
                    ClassId   = item.ClassId,
                    DsId      = item.DsId,
                    SectionId = item.SectionId
                };


                dv.TaskToPage = new Dictionary <Guid, Guid>();

                // 同班级同学程下任务
                foreach (var task in relationDb.Where(r => r.TaskId != Guid.Empty && r.DsId == item.DsId && r.ClassId == item.ClassId))
                {
                    dv.TaskToPage.TryAdd(task.TaskId, task.PageId);
                }

                u.Course.Add(dv);
            }
        }