Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @model dynamic
- @using ActionAugerMVC.ViewModels
- @addTagHelper "*,Microsoft.AspNetCore.Mvc.TagHelpers"
- <div class="course__title">
- @Model.item.PageTitle
- </div>
- <p class="course__desc">
- @Html.Raw(Model.item.PageText)
- </p>
- <div class="event__price">
- <h3>@Model.item.NoticeTitle</h3>
- <p>@Model.item.NoticeNeedItem</p>
- <button type="submit" class="btn btn-accent">
- Get A Quote Now
- </button>
- </div>
- <h3 class="course_desc__title">Other Services</h3>
- <ul class="course_requirements__list multi-column">
- @foreach (var link in Model.data)
- {
- <li><i class="ion-android-arrow-forward"></i> @Html.ActionLink((string)link.PageTitle, "Page", "Plumbing", new { id = link.ID, url = link.PageURL }) </li>
- }
- </ul>
- <div class="sidebar__item">
- <p class="subheading">Instant Quote Request</p>
- <form class="register__form" role="form" asp-controller="Plumbing" asp-action="Page" method="post">
- <div class="text-danger" asp-validation-summary="All"></div>
- <div class="form-group">
- <label class="sr-only">Full Name </label>
- <input asp-for="@Model.quote.FullName" type="text" class="form-control" placeholder="Full name">
- </div>
- <div class="form-group">
- <label class="sr-only">Your phone</label>
- <input asp-for="@Model.quote.Phone" type="tel" class="form-control" placeholder="Your phone">
- <span asp-validation-for="@Model.quote.Phone" class="text-danger"></span>
- </div>
- <div class="form-group">
- <label class="sr-only">E-mail</label>
- <input asp-for="@Model.quote.Email" type="email" class="form-control" placeholder="E-mail">
- <span asp-validation-for="@Model.quote.Email" class="text-danger"></span>
- </div>
- <div class="form-group">
- <label class="sr-only">Your Message</label>
- <input asp-for="@Model.quote.Message" type="text" class="form-control" placeholder="Your Message">
- </div>
- <input type="submit" value="Get a Quote Now" class="btn btn-accent btn-block">
- </form>
- </div> <!-- .sidebar__item -->
- public class PlumbingController : Controller
- {
- private readonly ActionAugerDataContext actionAugerDbContext;
- private readonly UnitOfWork unitOfWork;
- private readonly PlumbingPageViewModel plumbingViewModel;
- public PlumbingController(ActionAugerDataContext context)
- {
- actionAugerDbContext = context;
- unitOfWork = new UnitOfWork(actionAugerDbContext);
- plumbingViewModel = new PlumbingPageViewModel(unitOfWork);
- }
- // GET: /<controller>/
- public IActionResult Index()
- {
- var data = plumbingViewModel.PlumbingContent;
- return View(data);
- }
- [HttpGet]
- [Route("plumbing/calgary-{url}")]
- public IActionResult Page(int ID, string url)
- {
- dynamic Page = new ExpandoObject();
- Page.item = unitOfWork.ContentRepository.GetById(ID);
- Page.data = plumbingViewModel.PlumbingContent;
- Page.cities = plumbingViewModel.Cities;
- // Page.quote = plumbingViewModel.Quote;
- return View(Page);
- }
- [HttpPost]
- public IActionResult Page(Quote quote)
- {
- return View();
- }
- }
- public class PlumbingPageViewModel
- {
- public IEnumerable<Content> PlumbingContent { get; set; }
- public IEnumerable<Cities> Cities { get; set; }
- public Quote Quote { get; set; }
- public PlumbingPageViewModel(UnitOfWork unitOfWork)
- {
- PlumbingContent = unitOfWork.ContentRepository
- .GetAll()
- .Where(d => d.Section == "Plumbing")
- .Where(c => c.City == "Calgary");
- Cities = unitOfWork.CitiesRepository
- .GetAll()
- .Where(c => c.HomeCity == "Calgary");
- }
- }
- public class Quote
- {
- public int ID { get; set; }
- public string FullName { get; set; }
- public string Phone { get; set; }
- public string Email { get; set; }
- public string City { get; set; }
- public string Message { get; set; }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement