示例#1
0
        public async Task Consume(ConsumeContext <ICurriculumUpdated> context)
        {
            var curriculum    = context.Message.Curriculum;
            var curriculumDto = curriculum.MapTo <Data.Models.Curriculum>();

            _logger.LogInformation("Update curriculum {0}", JsonSerializer.Serialize(curriculum));
            _logger.LogInformation("Update curriculumDto {0}", JsonSerializer.Serialize(curriculumDto));
            var studentCurriculums =
                (await _studentCurriculumService.ListAsync(x => x.Curriculum.Id == curriculum.Id)).ToList();

            _logger.LogInformation("update {0} student curriculums with curriculum id of {1}",
                                   studentCurriculums.Count(), curriculum.Id);
            for (var i = 0; i < studentCurriculums.Count; i++)
            {
                studentCurriculums[i].Curriculum = curriculumDto;
                await _studentCurriculumService.UpdateAsync(studentCurriculums[i]);
            }

            await _hubContext.Clients.Group(EventsHub.GetGroupName(GroupType.Field, curriculum.Field.Id))
            .CurriculumUpdated(curriculum.Id, curriculumDto);
        }
示例#2
0
 public async Task Consume(ConsumeContext <ICurriculumCapacityCompleted> context)
 {
     _logger.LogInformation("curriculum capacity of {0} is completed. sending this message to socket", context.Message.CurriculumId);
     await _hubContext.Clients.Group(EventsHub.GetGroupName(GroupType.Field, context.Message.FieldId))
     .CurriculumCompleted(context.Message.CurriculumId);
 }