Beispiel #1
0
        protected override async Task <Result> HandleRequest(UpdateRequest request,
                                                             CancellationToken cancellationToken)
        {
            Domain.Sample.Sample item = await _sampleRepository.GetByIdAsync(request.Id);

            // sample must exist
            request.AddNotifications(item.Exists());

            if (!request.IsValid)
            {
                return(request.GetResult());
            }

            // gets random desc from adapter
            string randomDesc = await _sampleAdapter.GetRandomDescriptionAsync();

            // random desc should contain a non-empty string
            request.AddNotifications(randomDesc.NotEmpty());

            string newDescription = $"{request.Description} {randomDesc}";

            // attempts to change description and saves result in the notifications collection
            request.AddNotifications(item.ChangeDescription(newDescription));

            if (!request.IsValid)
            {
                return(request.GetResult());
            }

            await _sampleRepository.UpdateAsync(item);

            await _unitOfWork.SaveAsync();

            return(request.GetResult());
        }
Beispiel #2
0
        protected override async Task <EntityResult <SampleDto> > HandleRequest(
            GetByIdRequest request,
            CancellationToken cancellationToken)
        {
            Domain.Sample.Sample item = await _sampleRepository.GetByIdAsync(request.Id);

            request.AddNotifications(item.Exists());

            return(!request.IsValid
                ? new EntityResult <SampleDto>(request.Notifications, null)
                : new EntityResult <SampleDto>(request.Notifications, SampleDto.FromEntity(item)));
        }
Beispiel #3
0
        protected override async Task <Result> HandleRequest(DeleteRequest request,
                                                             CancellationToken cancellationToken)
        {
            Domain.Sample.Sample item = await _sampleRepository.GetByIdAsync(request.Id);

            request.AddNotifications(item.Exists());

            if (request.IsValid)
            {
                await _sampleRepository.DeleteAsync(item);

                await _unitOfWork.SaveAsync();
            }

            return(request.GetResult());
        }
Beispiel #4
0
 public static SampleDto FromEntity(Domain.Sample.Sample item)
 {
     return(new SampleDto {
         Id = item.Id, Description = item.Description
     });
 }
Beispiel #5
0
        public void Sample_Should_Be_Valid(string id, string description, bool expected)
        {
            Domain.Sample.Sample sample = new Domain.Sample.Sample(id, description);

            Assert.Equal(sample.IsValid, expected);
        }