Skip to content

Commit 6a31576

Browse files
committed
Create view for index campaing and his controller method
1 parent 46db196 commit 6a31576

2 files changed

Lines changed: 105 additions & 6 deletions

File tree

src/Web/WebMVC/Controllers/CampaignsController.cs

Lines changed: 73 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@ namespace Microsoft.eShopOnContainers.WebMVC.Controllers
33
using Microsoft.AspNetCore.Authorization;
44
using Microsoft.AspNetCore.Mvc;
55
using Microsoft.eShopOnContainers.WebMVC.Services;
6+
using Microsoft.eShopOnContainers.WebMVC.ViewModels;
7+
using System;
8+
using System.Collections.Generic;
9+
using System.Threading.Tasks;
610

711
[Authorize]
812
public class CampaignsController : Controller
@@ -12,10 +16,76 @@ public class CampaignsController : Controller
1216
public CampaignsController(ICampaignService campaignService) =>
1317
_campaignService = campaignService;
1418

15-
public IActionResult Index()
19+
public async Task<IActionResult> Index()
1620
{
17-
var campaignList = _campaignService.GetCampaigns();
18-
return View();
21+
//var campaignList = await _campaignService.GetCampaigns();
22+
23+
var campaignList = new List<Campaign>
24+
{
25+
new Campaign
26+
{
27+
Id = 1,
28+
Name = "NameTest1",
29+
Description = "DescriptionTest1",
30+
From = DateTime.Now,
31+
To = DateTime.Now.AddDays(7),
32+
PictureUri = "http://localhost:5110/api/v1/campaigns/1/pic"
33+
},
34+
new Campaign
35+
{
36+
Id = 2,
37+
Name = "NameTest2",
38+
Description = "DescriptionTest2",
39+
From = DateTime.Now,
40+
To = DateTime.Now.AddDays(7),
41+
PictureUri = "http://localhost:5110/api/v1/campaigns/2/pic"
42+
},
43+
new Campaign
44+
{
45+
Id = 3,
46+
Name = "NameTest3",
47+
Description = "DescriptionTest3",
48+
From = DateTime.Now,
49+
To = DateTime.Now.AddDays(7),
50+
PictureUri = "http://localhost:5110/api/v1/campaigns/3/pic"
51+
},
52+
new Campaign
53+
{
54+
Id = 4,
55+
Name = "NameTest4",
56+
Description = "DescriptionTest4",
57+
From = DateTime.Now,
58+
To = DateTime.Now.AddDays(7),
59+
PictureUri = "http://localhost:5110/api/v1/campaigns/4/pic"
60+
},
61+
new Campaign
62+
{
63+
Id = 5,
64+
Name = "NameTest5",
65+
Description = "DescriptionTest5",
66+
From = DateTime.Now,
67+
To = DateTime.Now.AddDays(7),
68+
PictureUri = "http://localhost:5110/api/v1/campaigns/5/pic"
69+
},
70+
new Campaign
71+
{
72+
Id = 6,
73+
Name = "NameTest6",
74+
Description = "DescriptionTest6",
75+
From = DateTime.Now,
76+
To = DateTime.Now.AddDays(7),
77+
PictureUri = "http://localhost:5110/api/v1/campaigns/6/pic"
78+
}
79+
};
80+
81+
return View(campaignList);
82+
}
83+
84+
public async Task<IActionResult> Details(int id)
85+
{
86+
var campaign = await _campaignService.GetCampaignById(id);
87+
88+
return View(campaign);
1989
}
2090
}
2191
}
Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,36 @@
1-
21
@{
3-
ViewData["Title"] = "Index";
2+
ViewData["Title"] = "Campaigns";
3+
@model IEnumerable<Campaign>
44
}
55

6-
<h2>Index</h2>
6+
<section class="esh-campaigns-hero">
7+
<div class="container">
8+
<img class="esh-campaigns-title" src="~/images/main_banner_text.png" />
9+
</div>
10+
</section>
11+
12+
@Html.Partial("_Header", new List<Header>() {
13+
new Header() { Controller = "Catalog", Text = "Back to catalog" } })
714

15+
<div class="container">
16+
<div class="card-group esh-campaigns-items row">
17+
@foreach (var campaign in Model ?? Enumerable.Empty<Campaign>())
18+
{
19+
<div class="esh-campaigns-item col-md-4">
20+
<form asp-controller="Campaigns" asp-action="Details" asp-route-id="@campaign.Id">
21+
<div class="card-block">
22+
<h4 class="card-title esh-campaigns-name">@campaign.Name</h4>
23+
<p class="card-text esh-campaigns-description">@campaign.Description</p>
24+
<img class="card-img-top esh-campaigns-thumbnail" src="@campaign.PictureUri" alt="@campaign.Name">
25+
</div>
26+
<div class="card-footer">
27+
<small class="text-muted">
28+
From @campaign.From.ToString("MMMM dd, yyyy") until @campaign.To.ToString("MMMM dd, yyyy")
29+
</small>
30+
</div>
31+
<input class="esh-campaigns-button" type="submit" value="More details">
32+
</form>
33+
</div>
34+
}
35+
</div>
36+
</div>

0 commit comments

Comments
 (0)