Exemple #1
0
            public async Task <Guid> Handle(Command request, CancellationToken cancellationToken)
            {
                DataModel.Activity activity = _mapperHelper.Map <Command, DataModel.Activity>(request);
                //Generate new Id for new Entity
                activity.Id = Guid.NewGuid();
                _unitOfWork.ActivityRepo.Add(activity);

                UserActivity hostAttendee = new UserActivity
                {
                    Activity   = activity,
                    IsHost     = true,
                    DateJoined = HelperFunc.GetCurrentDateTime(),
                    AppUserId  = _userAccessor.GetCurrentUserId()
                };

                _unitOfWork.UserActivityRepo.Add(hostAttendee);

                int insertCnt = await _unitOfWork.SaveAsync(cancellationToken);

                if (insertCnt > 0)
                {
                    return(activity.Id);
                }

                throw new Exception("Problem saving changes to database");
            }
Exemple #2
0
            public async Task <Unit> Handle(Command request, CancellationToken cancellationToken)
            {
                //Get existing activity from database
                DataModel.Activity dbActivity = await _unitOfWork.ActivityRepo.FindFirstAsync(request.ActivityId, cancellationToken);

                //Keep existing value as if user is not passing it from front end
                request.Category ??= dbActivity.Category;
                request.City ??= dbActivity.City;
                request.Date ??= dbActivity.Date;
                request.Description ??= dbActivity.Description;
                request.Title ??= dbActivity.Title;
                request.Venue ??= dbActivity.Venue;

                DataModel.Activity activity = _mapperHelper.Map <Command, DataModel.Activity>(request);

                _unitOfWork.ActivityRepo.Update(activity);

                int cnt = await _unitOfWork.SaveAsync(cancellationToken);

                if (cnt > 0)
                {
                    return(Unit.Value);
                }

                throw new Exception("Problem saving changes to database");
            }
Exemple #3
0
            public async Task <ActivityDto> Handle(Query request, CancellationToken cancellationToken)
            {
                DataModel.Activity dbResult = await _unitOfWork.ActivityRepo.FindFirstAsync(request.ActivityId, cancellationToken);

                var response = _mapperHelper.Map <DataModel.Activity, ActivityDto>(dbResult);

                return(response);
            }
        public async Task <ActivityDto> PrepareActivity(DataModel.Activity dbActivity)
        {
            if (dbActivity != null)
            {
                var result = await Prepare(new List <DataModel.Activity> {
                    dbActivity
                });

                return(result.FirstOrDefault());
            }
            return(null);
        }