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) }); }
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) }); }
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 }); }
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 }); }