Browse Source

Create view for index campaing and his controller method

pull/223/head
Christian Arenas 7 years ago
parent
commit
6a315764a8
2 changed files with 105 additions and 6 deletions
  1. +73
    -3
      src/Web/WebMVC/Controllers/CampaignsController.cs
  2. +32
    -3
      src/Web/WebMVC/Views/Campaigns/Index.cshtml

+ 73
- 3
src/Web/WebMVC/Controllers/CampaignsController.cs View File

@ -3,6 +3,10 @@ namespace Microsoft.eShopOnContainers.WebMVC.Controllers
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.eShopOnContainers.WebMVC.Services;
using Microsoft.eShopOnContainers.WebMVC.ViewModels;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
[Authorize]
public class CampaignsController : Controller
@ -12,10 +16,76 @@ namespace Microsoft.eShopOnContainers.WebMVC.Controllers
public CampaignsController(ICampaignService campaignService) =>
_campaignService = campaignService;
public IActionResult Index()
public async Task<IActionResult> Index()
{
var campaignList = _campaignService.GetCampaigns();
return View();
//var campaignList = await _campaignService.GetCampaigns();
var campaignList = new List<Campaign>
{
new Campaign
{
Id = 1,
Name = "NameTest1",
Description = "DescriptionTest1",
From = DateTime.Now,
To = DateTime.Now.AddDays(7),
PictureUri = "http://localhost:5110/api/v1/campaigns/1/pic"
},
new Campaign
{
Id = 2,
Name = "NameTest2",
Description = "DescriptionTest2",
From = DateTime.Now,
To = DateTime.Now.AddDays(7),
PictureUri = "http://localhost:5110/api/v1/campaigns/2/pic"
},
new Campaign
{
Id = 3,
Name = "NameTest3",
Description = "DescriptionTest3",
From = DateTime.Now,
To = DateTime.Now.AddDays(7),
PictureUri = "http://localhost:5110/api/v1/campaigns/3/pic"
},
new Campaign
{
Id = 4,
Name = "NameTest4",
Description = "DescriptionTest4",
From = DateTime.Now,
To = DateTime.Now.AddDays(7),
PictureUri = "http://localhost:5110/api/v1/campaigns/4/pic"
},
new Campaign
{
Id = 5,
Name = "NameTest5",
Description = "DescriptionTest5",
From = DateTime.Now,
To = DateTime.Now.AddDays(7),
PictureUri = "http://localhost:5110/api/v1/campaigns/5/pic"
},
new Campaign
{
Id = 6,
Name = "NameTest6",
Description = "DescriptionTest6",
From = DateTime.Now,
To = DateTime.Now.AddDays(7),
PictureUri = "http://localhost:5110/api/v1/campaigns/6/pic"
}
};
return View(campaignList);
}
public async Task<IActionResult> Details(int id)
{
var campaign = await _campaignService.GetCampaignById(id);
return View(campaign);
}
}
}

+ 32
- 3
src/Web/WebMVC/Views/Campaigns/Index.cshtml View File

@ -1,7 +1,36 @@
@{
ViewData["Title"] = "Index";
ViewData["Title"] = "Campaigns";
@model IEnumerable<Campaign>
}
<h2>Index</h2>
<section class="esh-campaigns-hero">
<div class="container">
<img class="esh-campaigns-title" src="~/images/main_banner_text.png" />
</div>
</section>
@Html.Partial("_Header", new List<Header>() {
new Header() { Controller = "Catalog", Text = "Back to catalog" } })
<div class="container">
<div class="card-group esh-campaigns-items row">
@foreach (var campaign in Model ?? Enumerable.Empty<Campaign>())
{
<div class="esh-campaigns-item col-md-4">
<form asp-controller="Campaigns" asp-action="Details" asp-route-id="@campaign.Id">
<div class="card-block">
<h4 class="card-title esh-campaigns-name">@campaign.Name</h4>
<p class="card-text esh-campaigns-description">@campaign.Description</p>
<img class="card-img-top esh-campaigns-thumbnail" src="@campaign.PictureUri" alt="@campaign.Name">
</div>
<div class="card-footer">
<small class="text-muted">
From @campaign.From.ToString("MMMM dd, yyyy") until @campaign.To.ToString("MMMM dd, yyyy")
</small>
</div>
<input class="esh-campaigns-button" type="submit" value="More details">
</form>
</div>
}
</div>
</div>

Loading…
Cancel
Save