Ejemplo n.º 1
0
        public async Task <CreateLaundryResponse> Handle(CreateLaundryRequest request, CancellationToken cancellationToken)
        {
            // Coś mi sie wydaje że nie koniecznie musze dostawać ostanie pranie , pomyśl nad innym rozwiązaniem
            var query = new GetLaundryQuery()
            {
                CompanyId         = request.AuthenticationCompanyId,
                LaundryId         = request.LaundryId,
                WouldLikeToCreate = true
            };
            var lastLaundry = await this.queryExecutor.Execute(query);

            if (lastLaundry != null)
            {
                lastDocNumber = lastLaundry.Number;
            }
            else
            {
                lastDocNumber = "0/0/0";
            }
            request.Number = docNumCreator.DocumentNumberCreator(lastDocNumber);

            var mappedDetails = this.mapper.Map <DataAccess.Entities.LaundryService>(request);
            var command       = new CreateLaundryCommand()
            {
                Parameter = mappedDetails
            };

            var detailsFromDB = await this.commandExecutor.Execute(command);

            return(new CreateLaundryResponse()
            {
                Data = this.mapper.Map <Domain.Models.LaundryService>(detailsFromDB)
            });
        }
Ejemplo n.º 2
0
        public async Task <UpdateLaundryResponse> Handle(UpdateLaundryByIdRequest request, CancellationToken cancellationToken)
        {
            var query = new GetLaundryQuery()
            {
                Id = request.Id
            };

            var details = await this.queryExecutor.Execute(query);

            if (details == null)
            {
                return(new UpdateLaundryResponse()
                {
                    Error = new ErrorModel(ErrorType.NotFound)
                });
            }
            //After LaundryDetails creation total valus are calculated and laundry service is updated, doc number must be reassigned
            request.Number = details.Number;
            var mappedDetails = this.mapper.Map <DataAccess.Entities.LaundryService>(request);
            var command       = new UpdateLaundryCommand()
            {
                Parameter = mappedDetails
            };

            var detailsFromDB = await this.commandExecutor.Execute(command);

            return(new UpdateLaundryResponse()
            {
                Data = this.mapper.Map <Domain.Models.LaundryService>(detailsFromDB)
            });
        }
Ejemplo n.º 3
0
        public async Task <DeleteLaundryResponse> Handle(DeleteLaundryByIdRequest request, CancellationToken cancellationToken)
        {
            var query = new GetLaundryQuery()
            {
                Id = request.Id
            };

            var details = await this.queryExecutor.Execute(query);

            if (details == null)
            {
                return(new DeleteLaundryResponse()
                {
                    Error = new ErrorModel(ErrorType.NotFound)
                });
            }

            var mappedDetails = this.mapper.Map <DataAccess.Entities.LaundryService>(request);
            var command       = new DeleteLaundryCommand()
            {
                Parameter = mappedDetails
            };

            var detailsFromDB = await this.commandExecutor.Execute(command);

            return(new DeleteLaundryResponse()
            {
                Data = detailsFromDB
            });
        }
Ejemplo n.º 4
0
        public async Task <GetLaundryByIdResponse> Handle(GetLaundryByIdRequest request, CancellationToken cancellationToken)
        {
            var query = new GetLaundryQuery()
            {
                Id = request.Id
            };
            var detail = await this.queryexecutor.Execute(query);

            if (detail == null)
            {
                return(new GetLaundryByIdResponse()
                {
                    Error = new ErrorModel(ErrorType.NotFound)
                });
            }

            var mappedDetail = this.mapper.Map <LaundryService>(detail);

            return(new GetLaundryByIdResponse()
            {
                Data = mappedDetail
            });
        }