Skip to content

Commit ee5994b

Browse files
committed
CheckOut process finished
1 parent c00ccfe commit ee5994b

18 files changed

+427
-55
lines changed

AspnetRunBasics/Entities/Cart.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,19 @@ public class Cart
77
public int Id { get; set; }
88
public string UserName { get; set; }
99
public List<CartItem> Items { get; set; } = new List<CartItem>();
10+
11+
public decimal TotalPrice
12+
{
13+
get
14+
{
15+
decimal totalprice = 0;
16+
foreach (var item in Items)
17+
{
18+
totalprice += item.Price * item.Quantity;
19+
}
20+
21+
return totalprice;
22+
}
23+
}
1024
}
1125
}

AspnetRunBasics/Entities/Order.cs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,28 @@ public class Order
55
public int Id { get; set; }
66
public string UserName { get; set; }
77
public decimal TotalPrice { get; set; }
8+
9+
// BillingAddress
10+
public string FirstName { get; set; }
11+
public string LastName { get; set; }
12+
public string EmailAddress { get; set; }
13+
public string AddressLine { get; set; }
14+
public string Country { get; set; }
15+
public string State { get; set; }
16+
public string ZipCode { get; set; }
17+
18+
// Payment
19+
public string CardName { get; set; }
20+
public string CardNumber { get; set; }
21+
public string Expiration { get; set; }
22+
public string CVV { get; set; }
23+
public PaymentMethod PaymentMethod { get; set; }
24+
}
25+
26+
public enum PaymentMethod
27+
{
28+
CreditCard = 1,
29+
DebitCard = 2,
30+
Paypal = 3
831
}
932
}

AspnetRunBasics/Migrations/20200217075909_Initial.Designer.cs renamed to AspnetRunBasics/Migrations/20200218071258_Initial.Designer.cs

Lines changed: 37 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

AspnetRunBasics/Migrations/20200217075909_Initial.cs renamed to AspnetRunBasics/Migrations/20200218071258_Initial.cs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,19 @@ protected override void Up(MigrationBuilder migrationBuilder)
5757
Id = table.Column<int>(nullable: false)
5858
.Annotation("SqlServer:Identity", "1, 1"),
5959
UserName = table.Column<string>(nullable: true),
60-
TotalPrice = table.Column<decimal>(nullable: false)
60+
TotalPrice = table.Column<decimal>(nullable: false),
61+
FirstName = table.Column<string>(nullable: true),
62+
LastName = table.Column<string>(nullable: true),
63+
EmailAddress = table.Column<string>(nullable: true),
64+
AddressLine = table.Column<string>(nullable: true),
65+
Country = table.Column<string>(nullable: true),
66+
State = table.Column<string>(nullable: true),
67+
ZipCode = table.Column<string>(nullable: true),
68+
CardName = table.Column<string>(nullable: true),
69+
CardNumber = table.Column<string>(nullable: true),
70+
Expiration = table.Column<string>(nullable: true),
71+
CVV = table.Column<string>(nullable: true),
72+
PaymentMethod = table.Column<int>(nullable: false)
6173
},
6274
constraints: table =>
6375
{

AspnetRunBasics/Migrations/AspnetRunContextModelSnapshot.cs

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,12 +123,48 @@ protected override void BuildModel(ModelBuilder modelBuilder)
123123
.HasColumnType("int")
124124
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
125125

126+
b.Property<string>("AddressLine")
127+
.HasColumnType("nvarchar(max)");
128+
129+
b.Property<string>("CVV")
130+
.HasColumnType("nvarchar(max)");
131+
132+
b.Property<string>("CardName")
133+
.HasColumnType("nvarchar(max)");
134+
135+
b.Property<string>("CardNumber")
136+
.HasColumnType("nvarchar(max)");
137+
138+
b.Property<string>("Country")
139+
.HasColumnType("nvarchar(max)");
140+
141+
b.Property<string>("EmailAddress")
142+
.HasColumnType("nvarchar(max)");
143+
144+
b.Property<string>("Expiration")
145+
.HasColumnType("nvarchar(max)");
146+
147+
b.Property<string>("FirstName")
148+
.HasColumnType("nvarchar(max)");
149+
150+
b.Property<string>("LastName")
151+
.HasColumnType("nvarchar(max)");
152+
153+
b.Property<int>("PaymentMethod")
154+
.HasColumnType("int");
155+
156+
b.Property<string>("State")
157+
.HasColumnType("nvarchar(max)");
158+
126159
b.Property<decimal>("TotalPrice")
127160
.HasColumnType("decimal(18,2)");
128161

129162
b.Property<string>("UserName")
130163
.HasColumnType("nvarchar(max)");
131164

165+
b.Property<string>("ZipCode")
166+
.HasColumnType("nvarchar(max)");
167+
132168
b.HasKey("Id");
133169

134170
b.ToTable("Orders");

AspnetRunBasics/Pages/Cart.cshtml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<nav aria-label="breadcrumb">
1111
<ol class="breadcrumb">
1212
<li class="breadcrumb-item"><a asp-page="Index">Home</a></li>
13-
<li class="breadcrumb-item active" aria-current="page">Shopping Cart</li>
13+
<li class="breadcrumb-item active" aria-current="page">Cart</li>
1414
</ol>
1515
</nav>
1616
</div>
@@ -60,7 +60,7 @@
6060
<td></td>
6161
<td></td>
6262
<td><strong>Total</strong></td>
63-
<td class="text-right"><strong>@Model.TotalPrice $</strong></td>
63+
<td class="text-right"><strong>@Model.Cart.TotalPrice $</strong></td>
6464
</tr>
6565
</tbody>
6666
</table>
@@ -74,7 +74,7 @@
7474
</div>
7575
<div class="col-sm-12 col-md-6 text-right">
7676
@*<button class="btn btn-lg btn-block btn-danger text-uppercase">CheckOut</button>*@
77-
<a asp-page="CheckOut" asp-route-cartId="@Model.Cart.Id" class="btn btn-lg btn-block btn-danger text-uppercase">CheckOut</a>
77+
<a asp-page="CheckOut" class="btn btn-lg btn-block btn-danger text-uppercase">CheckOut</a>
7878
</div>
7979
</div>
8080
</div>

AspnetRunBasics/Pages/Cart.cshtml.cs

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,11 @@ public CartModel(ICartRepository cartRepository)
1616
_cartRepository = cartRepository ?? throw new ArgumentNullException(nameof(cartRepository));
1717
}
1818

19-
public Entities.Cart Cart { get; set; } = new Entities.Cart();
20-
public decimal TotalPrice { get; set; } = 0;
19+
public Entities.Cart Cart { get; set; } = new Entities.Cart();
2120

2221
public async Task<IActionResult> OnGetAsync()
2322
{
24-
Cart = await _cartRepository.GetCartByUserName("test");
25-
CalculateTotalPrice(Cart);
23+
Cart = await _cartRepository.GetCartByUserName("test");
2624

2725
return Page();
2826
}
@@ -31,14 +29,6 @@ public async Task<IActionResult> OnPostRemoveToCartAsync(int cartId, int cartIte
3129
{
3230
await _cartRepository.RemoveItem(cartId, cartItemId);
3331
return RedirectToPage();
34-
}
35-
36-
private void CalculateTotalPrice(Cart cart)
37-
{
38-
foreach (var item in cart.Items)
39-
{
40-
TotalPrice += item.Price * item.Quantity;
41-
}
42-
}
32+
}
4333
}
4434
}

0 commit comments

Comments
 (0)