Esempio n. 1
0
        public async Task <UpdateWarehauseByIdResponse> Handle(UpdateWarehauseByIdRequest request, CancellationToken cancellationToken)
        {
            if (request.AuthenticationRole == "UserLaundry")
            {
                return(new UpdateWarehauseByIdResponse
                {
                    Error = new ErrorModel(ErrorType.Forbidden)
                });
            }

            var query = new GetWarehauseQuery()
            {
                Id = request.Id
            };
            var getWarehause = await this.queryExeceutor.Execute(query);

            if (getWarehause == null)
            {
                return(new UpdateWarehauseByIdResponse
                {
                    Error = new ErrorModel(ErrorType.NotFound)
                });
            }

            var warhause = this.mapper.Map <Warehause>(request);

            var command = new UpdateWarehauseCommand()
            {
                Parameter = warhause
            };
            var updatedWarehause = await this.commandExecutor.Execute(command);

            var response = new UpdateWarehauseByIdResponse()
            {
                Data = this.mapper.Map <API.Domain.Models.Warehause>(updatedWarehause)
            };

            return(response);
        }
Esempio n. 2
0
        public async Task <GetWarehauseByIdResponse> Handle(GetWarehauseByIdRequest request, CancellationToken cancellationToken)
        {
            var query = new GetWarehauseQuery()
            {
                Id = request.WarehauseId
            };
            var getWarehause = await this.queryExecutor.Execute(query);

            if (getWarehause == null)
            {
                return(new GetWarehauseByIdResponse()
                {
                    Error = new ErrorModel(ErrorType.NotFound)
                });
            }

            var mappedWarehause = this.mapper.Map <Warehause>(getWarehause);

            return(new GetWarehauseByIdResponse()
            {
                Data = mappedWarehause
            });
        }