示例#1
0
        public void Handle(AddLessonResultCommand message)
        {
            var lessonResult = Domain.Course.LessonResult.LessonResultFactory.NewlessonResultFactory(
                message.Try,
                message.Wpm,
                message.Time,
                message.Errors,
                message.EhAuthenticated,
                message.ErrorKey,
                message.Active,
                message.LessonPresentationId,
                message.UserId);

            lessonResult.SetlessonPresentation(_lessonPresentationRepository.GetById(message.LessonPresentationId));

            _lessonResultRepository.Add(lessonResult);

            if (!Commit())
            {
                return;
            }

            _bus.RaiseEvent(new LessonResultAddEvent(
                                message.Try,
                                message.Wpm,
                                message.Time,
                                message.Errors,
                                message.EhAuthenticated,
                                message.ErrorKey,
                                message.CourseId,
                                message.Active,
                                message.LessonPresentationId));
        }
示例#2
0
 private bool ExistinglessonPresentation(Guid id, string messageType)
 {
     if (_lessonPresentationRepository.GetById(id) != null)
     {
         return(true);
     }
     _bus.RaiseEvent(new DomainDotification(messageType, "Exercício não encontrado"));
     return(false);
 }
示例#3
0
        public AppViewModel GetById(Guid id)
        {
            var lessonPresentation = _lessonPresentationRepository.GetById(id);
            var lessonResults      = _lessonResultRepository.Find(l => l.LessonPresentationId == id);
            var rest      = lessonResults.Where(x => x.LessonPresentationId == id);
            var minTime   = rest.Any() ? rest.Min(x => x.Time) : null;
            var minErrors = rest.Any() ? rest.Min(x => x.Errors) : null;

            var preview = new AppViewModel
            {
                Id        = id,
                Name      = lessonPresentation.Name,
                Category  = lessonPresentation.Category,
                Started   = rest.Any(),
                Text      = lessonPresentation.Text,
                MinTime   = minTime,
                MinErrors = minErrors
            };

            return(preview);
        }
示例#4
0
 public LessonPresentationViewModel GetById(Guid id)
 {
     return(Mapper.Map <LessonPresentationViewModel>(_lessonPresentationRepository.GetById(id)));
 }