Пример #1
0
        public void Handle(RegisteredUserEvent @event)
        {
            using (var db = new DisciturContext())
            {
                // Add new User to Read-Model
                User discuser = new User
                {
                    Name     = @event.Name,
                    Surname  = @event.Surname,
                    Email    = @event.Email,
                    UserName = @event.UserName,
                    Picture  = Constants.USER_DEFAULT_PICTURE
                };
                db.Users.Add(discuser);

                // Add new User-Activation Key to Read-Model
                UserActivation userActivation = new UserActivation
                {
                    UserName = @event.UserName,
                    Key      = @event.Id.ToString()
                };
                db.UserActivations.Add(userActivation);
                db.SaveChanges();
                _identityMapper.Map <User>(discuser.UserId, @event.Id);
            }
        }
        protected IEnumerable <T> MapRows(DataSet ds)
        {
            var rows = new List <T>();

            foreach (DataRow row in ds.Tables[0].Rows)
            {
                rows.Add(Mapper.Map(row));
            }

            return(rows);
        }
Пример #3
0
 public void Handle(CreatedToDoListEvent @event)
 {
     using (var db = new ToDoContext())
     {
         var _list = new Model.ToDoList()
         {
             Title       = @event.Title,
             Description = @event.Description
         };
         db.Lists.Add(_list);
         db.SaveChanges();
         _identityMapper.Map <ToDoList>(_list.Id, @event.ToDoListId);
     }
 }
Пример #4
0
        public void Handle(CreatedToDoListEvent @event)
        {
            using (var db = new ToDoContext())
            {
                var _list = new Model.ToDoList()
                {
                    Title       = @event.Title,
                    Description = @event.Description
                };
                db.Lists.Add(_list);
                db.SaveChanges();
                _identityMapper.Map <ToDoList>(_list.Id, @event.ToDoListId);

                Task.Run(() => notifier.CreatedToDoListEventNotify(_list)).ConfigureAwait(false);
            }
        }
Пример #5
0
        protected override Expression VisitConstant(ConstantExpression node)
        {
            if (!_needsIdentityMapping)
            {
                return(node);
            }

            var newNode = _mapper.Map(node.Value);

            return(Expression.Constant(newNode));
        }
Пример #6
0
        public void Handle(SavedNewDraftLessonEvent @event)
        {
            using (var db = new DisciturContext())
            {
                int  userId = _identityMapper.GetModelId <User>(@event.AuthorId);
                User _user  = db.Users.Find(userId);

                Lesson lesson = new Lesson();
                lesson.Title        = @event.Title;
                lesson.Discipline   = @event.Discipline;
                lesson.School       = @event.School;
                lesson.Classroom    = @event.Classroom;
                lesson.Author       = _user;
                lesson.UserId       = _user.UserId;
                lesson.Content      = @event.Content;
                lesson.Conclusion   = @event.Conclusion;
                lesson.PublishDate  = @event.CreationDate;
                lesson.CreationDate = @event.CreationDate;
                UpdateLessonArchFields(lesson, _user.UserName, @event.CreationDate, @event.Version);
                //lesson.LastModifDate = @event.CreationDate;
                //lesson.LastModifUser = _user.UserName;
                //lesson.Vers = 1;
                lesson.RecordState = Constants.RECORD_STATE_ACTIVE;

                // Create FeedBacks Collection
                if (@event.FeedBacks.ContainsKey(EntityStatus.A))
                {
                    @event.FeedBacks[EntityStatus.A].ToList()
                    .ForEach(feedback => {
                        LessonFeedback fb = new LessonFeedback()
                        {
                            Feedback           = feedback.Feedback,
                            Nature             = feedback.Nature,
                            LessonFeedbackGuid = feedback.Id
                        };
                        lesson.FeedBacks.Add(fb);
                    });
                }
                // Create Tags Collection
                if (@event.Tags.ContainsKey(EntityStatus.A))
                {
                    @event.Tags[EntityStatus.A].ToList()
                    .ForEach(tag =>
                    {
                        LessonTag t = new LessonTag()
                        {
                            LessonTagName = tag.LessonTagName
                        };
                        lesson.Tags.Add(t);
                    });
                }

                db.Lessons.Add(lesson);
                db.SaveChanges();
                //Ids mapping
                _identityMapper.Map <Lesson>(lesson.LessonId, @event.Id);
                if (lesson.FeedBacks.Count > 0)
                {
                    lesson.FeedBacks.ToList()
                    .ForEach(feedback => _identityMapper.Map <LessonFeedback>(feedback.LessonFeedbackId, feedback.LessonFeedbackGuid));
                }
            }
        }