Skip to content

Commit cdffaf1

Browse files
author
PLAINCONCEPTS\ccanizares
committed
MVC: Add To Cart bug.
SPA: Add To Cart 'bug', Update Basket.
1 parent 4d58ee2 commit cdffaf1

12 files changed

Lines changed: 52 additions & 14 deletions

File tree

src/Mobile/eShopOnContainers/eShopOnContainers.TestRunner.Droid/eShopOnContainers.TestRunner.Droid.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<AndroidResgenFile>Resources\Resource.Designer.cs</AndroidResgenFile>
1717
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
1818
<AndroidUseLatestPlatformSdk>True</AndroidUseLatestPlatformSdk>
19-
<TargetFrameworkVersion>v7.0</TargetFrameworkVersion>
19+
<TargetFrameworkVersion>v6.0</TargetFrameworkVersion>
2020
<AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest>
2121
<NuGetPackageImportStamp>
2222
</NuGetPackageImportStamp>

src/Mobile/eShopOnContainers/eShopOnContainers.TestRunner.Droid/eShopOnContainers.TestRunner.Droid.csproj.bak

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<AndroidResgenFile>Resources\Resource.Designer.cs</AndroidResgenFile>
1717
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
1818
<AndroidUseLatestPlatformSdk>True</AndroidUseLatestPlatformSdk>
19-
<TargetFrameworkVersion>v6.0</TargetFrameworkVersion>
19+
<TargetFrameworkVersion>v7.0</TargetFrameworkVersion>
2020
<AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest>
2121
<NuGetPackageImportStamp>
2222
</NuGetPackageImportStamp>

src/Web/WebMVC/Controllers/CartController.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public async Task<IActionResult> Index(Dictionary<string, int> quantities, strin
5252

5353
public async Task<IActionResult> AddToCart(CatalogItem productDetails)
5454
{
55-
if (productDetails != null)
55+
if (productDetails.Id != null)
5656
{
5757
var user = _appUserParser.Parse(HttpContext.User);
5858
var product = new BasketItem()

src/Web/WebMVC/Views/Catalog/_product.cshtml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<form asp-controller="Cart" asp-action="AddToCart">
55

66
<img class="esh-catalog-thumbnail" src="@Model.PictureUri" />
7-
<input class="esh-catalog-button" type="submit" value="[ ADD TO CART ]" />
7+
<input class="esh-catalog-button @((!User.Identity.IsAuthenticated) ? "is-disabled" : "")" type="submit" value="[ ADD TO CART ]" />
88

99
<div class="esh-catalog-name">
1010
<span>@Model.Name</span>

src/Web/WebMVC/wwwroot/css/catalog/catalog.component.css

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,8 @@
8686
text-align: center;
8787
margin-bottom: 1.5rem;
8888
width: 33%;
89+
display: inline-block;
90+
float: none !important;
8991
}
9092

9193
@media screen and (max-width: 1024px) {
@@ -116,6 +118,10 @@
116118
transition: all 0.35s;
117119
width: 80%;
118120
}
121+
.esh-catalog-button.is-disabled {
122+
opacity: .5;
123+
pointer-events: none;
124+
}
119125

120126
.esh-catalog-button:hover {
121127
background-color: #4a760f;

src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/basket/basket-status/basket-status.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ export class BasketStatusComponent implements OnInit {
2424
// Subscribe to Add Basket Observable:
2525
this.basketItemAddedSubscription = this.basketEvents.addItemToBasket$.subscribe(
2626
item => {
27-
this.service.setBasket(item).subscribe(res => {
27+
this.service.addItemToBasket(item).subscribe(res => {
2828
this.service.getBasket().subscribe(basket => {
2929
if (basket)
3030
this.badge = basket.items.length;

src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/basket/basket.component.html

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,11 @@
4141
</article>
4242

4343
<article class="esh-basket-items row">
44-
<section class="esh-basket-item col-xs-9"></section>
44+
<section class="esh-basket-item col-xs-7"></section>
4545
<section class="esh-basket-item col-xs-2">
46+
<button class="btn esh-basket-checkout" (click)="update($event)">[ Update ]</button>
47+
</section>
48+
<section class="esh-basket-item col-xs-3">
4649
<div (click)="checkOut($event)" class="btn esh-basket-checkout">[ Checkout ]</div>
4750
</section>
4851
</article>

src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/basket/basket.component.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,11 @@ export class BasketComponent implements OnInit {
2626

2727
itemQuantityChanged(item: IBasketItem) {
2828
this.calculateTotalPrice();
29-
this.service.setBasket(this.basket);
29+
this.service.setBasket(this.basket).subscribe(x => console.log('basket updated: ' + x));
30+
}
31+
32+
update(event: any) {
33+
this.service.setBasket(this.basket).subscribe(x => console.log('basket updated: ' + x));
3034
}
3135

3236
checkOut(event: any) {

src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/basket/basket.service.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,14 @@ export class BasketService {
5555
});
5656
}
5757

58-
setBasket(item): Observable<boolean> {
58+
addItemToBasket(item): Observable<boolean> {
5959
this.basket.items.push(item);
60-
return this.service.post(this.basketUrl + '/', this.basket).map((response: Response) => {
60+
return this.setBasket(this.basket);
61+
}
62+
63+
setBasket(basket): Observable<boolean> {
64+
this.basket = basket;
65+
return this.service.post(this.basketUrl + '/', basket).map((response: Response) => {
6166
return true;
6267
});
6368
}

src/Web/WebSPA/eShopOnContainers.WebSPA/Client/modules/catalog/catalog.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
*ngFor="let item of catalog?.data">
3030

3131
<img class="esh-catalog-thumbnail" src="{{item.pictureUri}}" />
32-
<button class="esh-catalog-button" (click)="addToCart(item)">
32+
<button [ngClass]="{'esh-catalog-button': true, 'is-disabled': !authenticated}" (click)="addToCart(item)">
3333
[ ADD TO CART ]
3434
</button>
3535

0 commit comments

Comments
 (0)