#1631 Refactor - Removed Search Service from Checkout Review Component

This commit is contained in:
Nino Righi
2021-04-19 17:18:20 +02:00
parent 550bd52e61
commit c62e9c6136

View File

@@ -3,7 +3,6 @@ import { Router } from '@angular/router';
import { ApplicationService } from '@core/application';
import { AvailabilityService } from '@domain/availability';
import { DomainCheckoutService } from '@domain/checkout';
import { SearchService } from '@swagger/cat';
import { AvailabilityDTO, DestinationDTO, ShoppingCartItemDTO } from '@swagger/checkout';
import { UiMessageModalComponent, UiModalService } from '@ui/modal';
import { PrintCartComponent } from '@modal/printer';
@@ -118,7 +117,6 @@ export class CheckoutReviewComponent {
private domainCheckoutService: DomainCheckoutService,
private applicationService: ApplicationService,
private availabilityService: AvailabilityService,
private search: SearchService,
private uiModal: UiModalService,
private sso: SsoService,
private router: Router,
@@ -144,12 +142,6 @@ export class CheckoutReviewComponent {
async changeItem(shoppingCartItem: ShoppingCartItemDTO) {
this.showChangeButtonSpinnerItemId = shoppingCartItem.id;
const item = await this.search
.SearchSearch({
input: { qs: shoppingCartItem.product.ean },
})
.pipe(map((response) => response?.result[0]))
.toPromise();
const quantity = shoppingCartItem.quantity;
@@ -165,7 +157,11 @@ export class CheckoutReviewComponent {
const takeAwayAvailability = await this.availabilityService
.getTakeAwayAvailability({
item: { itemId: item.id, ean: item.product.ean, price: item.catalogAvailability.price },
item: {
itemId: Number(shoppingCartItem.product.catalogProductNumber),
ean: shoppingCartItem.product.ean,
price: shoppingCartItem.availability.price,
},
quantity,
branch,
})
@@ -173,7 +169,11 @@ export class CheckoutReviewComponent {
const pickupAvailability = await this.availabilityService
.getPickUpAvailability({
item: { itemId: item.id, ean: item.product.ean, price: item.catalogAvailability.price },
item: {
itemId: Number(shoppingCartItem.product.catalogProductNumber),
ean: shoppingCartItem.product.ean,
price: shoppingCartItem.availability.price,
},
branch,
quantity,
})
@@ -181,22 +181,33 @@ export class CheckoutReviewComponent {
const digAvailability = await this.availabilityService
.getDigDeliveryAvailability({
item: { itemId: item.id, ean: item.product.ean, price: item.catalogAvailability.price },
item: {
itemId: Number(shoppingCartItem.product.catalogProductNumber),
ean: shoppingCartItem.product.ean,
price: shoppingCartItem.availability.price,
},
quantity,
})
.toPromise();
const b2bAvailability = await this.availabilityService
.getB2bDeliveryAvailability({
item: { itemId: item.id, ean: item.product.ean, price: item.catalogAvailability.price },
item: {
itemId: Number(shoppingCartItem.product.catalogProductNumber),
ean: shoppingCartItem.product.ean,
price: shoppingCartItem.availability.price,
},
quantity,
branch,
})
.toPromise();
const downloadAvailability = await this.availabilityService
.getDownloadAvailability({
item: { itemId: item.id, ean: item.product.ean, price: item.catalogAvailability.price },
item: {
itemId: Number(shoppingCartItem.product.catalogProductNumber),
ean: shoppingCartItem.product.ean,
price: shoppingCartItem.availability.price,
},
})
.toPromise();
@@ -230,7 +241,14 @@ export class CheckoutReviewComponent {
if (availableOptions.includes('dig-delivery') && availableOptions.includes('b2b-delivery')) {
let shippingAvailability = await this.availabilityService
.getDeliveryAvailability({ item: { itemId: item.id, ean: item.product.ean, price: item.catalogAvailability.price }, quantity })
.getDeliveryAvailability({
item: {
itemId: Number(shoppingCartItem.product.catalogProductNumber),
ean: shoppingCartItem.product.ean,
price: shoppingCartItem.availability.price,
},
quantity,
})
.toPromise();
if (shippingAvailability && this.availabilityService.isAvailable({ availability: shippingAvailability })) {
availableOptions.push('delivery');
@@ -269,7 +287,11 @@ export class CheckoutReviewComponent {
content: PurchasingOptionsModalComponent,
data: {
availableOptions,
item,
item: {
itemId: Number(shoppingCartItem.product.catalogProductNumber),
ean: shoppingCartItem.product.ean,
price: shoppingCartItem.availability.price,
},
shoppingCartItem,
branchNo: branch.branchNumber,
processId: this.applicationService.activatedProcessId,
@@ -297,13 +319,6 @@ export class CheckoutReviewComponent {
let availability: AvailabilityDTO;
if (quantity) {
const item = await this.search
.SearchSearch({
input: { qs: shoppingCartItem.product.ean },
})
.pipe(map((response) => response?.result[0]))
.toPromise();
const branch = shoppingCartItem?.destination?.data?.targetBranch?.data;
if (orderType) {
@@ -312,7 +327,11 @@ export class CheckoutReviewComponent {
availability = await this.availabilityService
.getTakeAwayAvailability({
branch,
item: { itemId: item.id, ean: item.product.ean, price: item.catalogAvailability.price },
item: {
itemId: Number(shoppingCartItem.product.catalogProductNumber),
ean: shoppingCartItem.product.ean,
price: shoppingCartItem.availability.price,
},
quantity,
})
.toPromise();
@@ -321,7 +340,11 @@ export class CheckoutReviewComponent {
availability = await this.availabilityService
.getPickUpAvailability({
branch,
item: { itemId: item.id, ean: item.product.ean, price: item.catalogAvailability.price },
item: {
itemId: Number(shoppingCartItem.product.catalogProductNumber),
ean: shoppingCartItem.product.ean,
price: shoppingCartItem.availability.price,
},
quantity,
})
.toPromise();
@@ -329,7 +352,11 @@ export class CheckoutReviewComponent {
case 'Versand':
availability = await this.availabilityService
.getDeliveryAvailability({
item: { itemId: item.id, ean: item.product.ean, price: item.catalogAvailability.price },
item: {
itemId: Number(shoppingCartItem.product.catalogProductNumber),
ean: shoppingCartItem.product.ean,
price: shoppingCartItem.availability.price,
},
quantity,
})
.toPromise();
@@ -337,7 +364,11 @@ export class CheckoutReviewComponent {
case 'DIG-Versand':
availability = await this.availabilityService
.getDigDeliveryAvailability({
item: { itemId: item.id, ean: item.product.ean, price: item.catalogAvailability.price },
item: {
itemId: Number(shoppingCartItem.product.catalogProductNumber),
ean: shoppingCartItem.product.ean,
price: shoppingCartItem.availability.price,
},
quantity,
})
.toPromise();
@@ -345,15 +376,24 @@ export class CheckoutReviewComponent {
case 'B2B-Versand':
availability = await this.availabilityService
.getB2bDeliveryAvailability({
item: { itemId: item.id, ean: item.product.ean, price: item.catalogAvailability.price },
item: {
itemId: Number(shoppingCartItem.product.catalogProductNumber),
ean: shoppingCartItem.product.ean,
price: shoppingCartItem.availability.price,
},
quantity,
branch,
})
.toPromise();
break;
case 'Download':
availability = await this.availabilityService
.getDownloadAvailability({ item: { itemId: item.id, ean: item.product.ean, price: item.catalogAvailability.price } })
.getDownloadAvailability({
item: {
itemId: Number(shoppingCartItem.product.catalogProductNumber),
ean: shoppingCartItem.product.ean,
price: shoppingCartItem.availability.price,
},
})
.toPromise();
break;
}