コード例 #1
0
        public async Task <int> Handle(CreateActivityCommand request, CancellationToken cancellationToken)
        {
            var activity = new Domain.AggregatesModel.ActivityAggregate.Activity(
                request.Creator,
                request.Title,
                request.Content,
                request.EndRegisterTime,
                request.ActivityStartTime,
                request.ActivityEndTime,
                request.Address,
                request.CategoryId,
                request.AddressVisibleRuleId,
                request.LimitsNum);

            var entity = _repository.Add(activity);
            var result = await _repository.UnitOfWork.SaveEntitiesAsync();

            if (result)
            {
                var index = new ActivityIndex(entity.Id, entity.Title, entity.Content, entity.CreateTime, entity.EndRegisterTime, entity.ActivityStartTime, entity.ActivityEndTime, entity.Address.City, entity.Address.County, entity.Address.DetailAddress, entity.Address.Latitude, entity.Address.Longitude, entity.CategoryId, request.Creator.UserId, request.Creator.Nickname);
                _indexService.CreateIndex(index);
            }

            return(result ? entity.Id : 0);
        }
コード例 #2
0
 public async Task UpdateAsync(Domain.AggregatesModel.ActivityAggregate.Activity activity)
 {
     await Task.Run(() =>
     {
         _context.Entry(activity).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
     });
 }
コード例 #3
0
        public Task <bool> Handle(CreateActivityCommand request, CancellationToken cancellationToken)
        {
            var activity = new Domain.AggregatesModel.ActivityAggregate.Activity(request.Owner.UserId,
                                                                                 request.Description,
                                                                                 request.Details,
                                                                                 request.EndTime,
                                                                                 request.ActivityTime,
                                                                                 request.Address,
                                                                                 request.LimitsNum);

            foreach (var participant in request.Participants)
            {
                activity.JoinActivity(participant.UserId, participant.Nickname, participant.Avatar);
            }

            _activityRepository.AddAsync(activity);

            return(_activityRepository.UnitOfWork
                   .SaveEntitiesAsync());
        }
コード例 #4
0
 public async Task <Domain.AggregatesModel.ActivityAggregate.Activity> AddAsync(Domain.AggregatesModel.ActivityAggregate.Activity activity)
 {
     return((await _context.Activities.AddAsync(activity)).Entity);
 }
コード例 #5
0
 public Domain.AggregatesModel.ActivityAggregate.Activity Add(Domain.AggregatesModel.ActivityAggregate.Activity entity)
 {
     return(_dbContext.Activities.Add(entity).Entity);
 }