public override async Task <ExecutionStatus> HandleEvent(DomainEvent @event)
        {
            JudgeCreatedEvent categoryCreateEvent = @event as JudgeCreatedEvent;

            var judge = _mapper.Map <Judge>(categoryCreateEvent);

            var execution = await _zEsJudgeRepository.AddAsync(judge);

            return(execution.RemoveGeneric());
        }
        public JudgeAggregate(Judge j)
        {
            var c = new JudgeCreatedEvent(j.Birthdate,
                                          j.Category, j.UniqueId,
                                          j.Login,
                                          j.Password,
                                          j.Name, j.Version);

            ApplyChange(c);
        }
 private void Apply(JudgeCreatedEvent e)
 {
     Version   = e.Version;
     Login     = e.Login;
     Password  = e.Password;
     Category  = e.Category;
     Birthdate = e.Birthdate;
     UniqueId  = e.UniqueId;
     Key       = e.Key;
 }
        public async void Handle(DomainEvent @event)
        {
            JudgeCreatedEvent customerCreatedEvent = (JudgeCreatedEvent)@event;

            //await readModelRepository.Create(new Judge()
            //{
            //    Id = customerCreatedEvent.Id,
            //    Email = customerCreatedEvent.Email,
            //    Name = customerCreatedEvent.Name,
            //    Age = customerCreatedEvent.Age,
            //    Phones = customerCreatedEvent.Phones.Select(x =>
            //        new Phone()
            //        {
            //            Type = x.Type,
            //            AreaCode = x.AreaCode,
            //            Number = x.Number
            //        }).ToList()
            //});

            //logger.Info("A new CustomerCreatedEvent has been processed: {0} ({1})", customerCreatedEvent.Id, customerCreatedEvent.Version);
        }