summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Controllers/BundleController.cs5
-rw-r--r--Views/Bundle/Show.cshtml76
-rw-r--r--Views/Home/Index.cshtml318
-rw-r--r--Views/Shared/_Layout.cshtml26
-rw-r--r--libman.json7
5 files changed, 239 insertions, 193 deletions
diff --git a/Controllers/BundleController.cs b/Controllers/BundleController.cs
index 8ec1030..d8d2512 100644
--- a/Controllers/BundleController.cs
+++ b/Controllers/BundleController.cs
@@ -1,4 +1,5 @@
using Microsoft.AspNetCore.Mvc;
+using Microsoft.EntityFrameworkCore;
using MyDarling.Models;
namespace MyDarling.Controllers
@@ -10,9 +11,9 @@ namespace MyDarling.Controllers
{
this.context = context;
}
- public async Task<IActionResult> Show(int id)
+ public IActionResult Show(int id)
{
- return View(await context.UnderwearBundles.FindAsync(id));
+ return View(context.UnderwearBundles.Include(x => x.Figures).Where(x => x.Id == id).FirstOrDefault());
}
}
} \ No newline at end of file
diff --git a/Views/Bundle/Show.cshtml b/Views/Bundle/Show.cshtml
index 8d3e055..fe6ce88 100644
--- a/Views/Bundle/Show.cshtml
+++ b/Views/Bundle/Show.cshtml
@@ -1,14 +1,62 @@
-<!DOCTYPE html>
-
-<html>
-
-<head>
- <title>@Model?.Name</title>
-</head>
-
-<body>
- <p>@Model?.Name</p>
- <p>@Model?.Description</p>
-</body>
-
-</html>
+@model MyDarling.Models.UnderwearBundle;
+@{
+ Layout = "_Layout";
+}
+<nav class="navbar navbar-expand-lg navbar-dark fixed-top bg-black" id="mainNav">
+ <div class="container px-4 px-lg-5">
+ <a class="navbar-brand" href="/"><img height="40" src="/assets/img/logo.svg"></a>
+ <button class="navbar-toggler navbar-toggler-right" type="button" data-bs-toggle="collapse"
+ data-bs-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false"
+ aria-label="Toggle navigation">
+ Menu
+ <i class="fas fa-bars"></i>
+ </button>
+ <div class="collapse navbar-collapse" id="navbarResponsive">
+ <ul class="navbar-nav ms-auto">
+ <li class="nav-item"><a class="nav-link" href="/Home/Index#about">About</a></li>
+ <li class="nav-item"><a class="nav-link" href="/Home/Index#projects">Projects</a></li>
+ <li class="nav-item"><a class="nav-link" href="/Home/Index#signup">Contact</a></li>
+ </ul>
+ </div>
+ </div>
+</nav>
+<section class="projects-section bg-light">
+ <div class="container px-3 px-lg-4 mt-4">
+ <div class="row gx-4 gx-lg-5 justify-content-center ">
+ <div class="col-md">
+ <div id="carouselIndicators" class="carousel slide" data-ride="carousel">
+ <ol class="carousel-indicators">
+ <li data-target="#carouselIndicators" data-slide-to="0" class="active"></li>
+ @for (int i = 1; i < @Model?.Figures.Count(); i++)
+ {
+ <li data-target="#carouselIndicators" data-slide-to="@i"></li>
+ }
+ </ol>
+ <div class="carousel-inner">
+ <div class="carousel-item active">
+ <img class="d-block w-100" src="@Model?.Figures[0].FilePath" alt="...">
+ </div>
+ @for (int i = 1; i < @Model?.Figures.Count(); i++)
+ {
+ <div class="carousel-item">
+ <img class="d-block w-100" src="@Model?.Figures[i].FilePath" alt="...">
+ </div>
+ }
+ </div>
+ <a class="carousel-control-prev" href="#carouselIndicators" role="button" data-slide="prev">
+ <span class="carousel-control-prev-icon" aria-hidden="true"></span>
+ <span class="sr-only">Previous</span>
+ </a>
+ <a class="carousel-control-next" href="#carouselIndicators" role="button" data-slide="next">
+ <span class="carousel-control-next-icon" aria-hidden="true"></span>
+ <span class="sr-only">Next</span>
+ </a>
+ </div>
+ </div>
+ <div class="col-md">
+ <h1 class="mb-4">@Model?.Name</h1>
+ <p class="projects-section">@Model?.Description</p>
+ </div>
+ </div>
+ </div>
+</section> \ No newline at end of file
diff --git a/Views/Home/Index.cshtml b/Views/Home/Index.cshtml
index 5a368de..5cc07f3 100644
--- a/Views/Home/Index.cshtml
+++ b/Views/Home/Index.cshtml
@@ -1,192 +1,168 @@
@model IQueryable<MyDarling.Models.UnderwearBundle>;
-
-<!DOCTYPE html>
-<html lang="ru-RU">
-
-<head>
- <meta charset="utf-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
- <meta name="description" content="" />
- <meta name="author" content="" />
- <title>Grayscale - Start Bootstrap Theme</title>
- <link rel="icon" type="image/x-icon" href="assets/favicon.ico" />
- <script src="https://use.fontawesome.com/releases/v6.1.0/js/all.js" crossorigin="anonymous"></script>
- <link href="/css/styles.css" rel="stylesheet" />
-</head>
-
-<body id="page-top">
- <!-- Navigation-->
- <nav class="navbar navbar-expand-lg navbar-dark fixed-top" id="mainNav">
- <div class="container px-4 px-lg-5">
- <a class="navbar-brand" href="#page-top"><img height="40" src="assets/img/logo.svg"></a>
- <button class="navbar-toggler navbar-toggler-right" type="button" data-bs-toggle="collapse"
- data-bs-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false"
- aria-label="Toggle navigation">
- Menu
- <i class="fas fa-bars"></i>
- </button>
- <div class="collapse navbar-collapse" id="navbarResponsive">
- <ul class="navbar-nav ms-auto">
- <li class="nav-item"><a class="nav-link" href="#about">About</a></li>
- <li class="nav-item"><a class="nav-link" href="#projects">Projects</a></li>
- <li class="nav-item"><a class="nav-link" href="#signup">Contact</a></li>
- </ul>
- </div>
+@{
+ Layout = "_Layout";
+}
+<nav class="navbar navbar-expand-lg navbar-dark fixed-top" id="mainNav">
+ <div class="container px-4 px-lg-5">
+ <a class="navbar-brand" href="#page-top"><img height="40" src="/assets/img/logo.svg"></a>
+ <button class="navbar-toggler navbar-toggler-right" type="button" data-bs-toggle="collapse"
+ data-bs-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false"
+ aria-label="Toggle navigation">
+ Menu
+ <i class="fas fa-bars"></i>
+ </button>
+ <div class="collapse navbar-collapse" id="navbarResponsive">
+ <ul class="navbar-nav ms-auto">
+ <li class="nav-item"><a class="nav-link" href="/Home/Index#about">About</a></li>
+ <li class="nav-item"><a class="nav-link" href="/Home/Index#projects">Projects</a></li>
+ <li class="nav-item"><a class="nav-link" href="/Home/Index#signup">Contact</a></li>
+ </ul>
</div>
- </nav>
- <!-- Masthead-->
- <header class="masthead">
- <div class="container px-4 px-lg-5 d-flex h-100 align-items-center justify-content-center">
- <div class="d-flex justify-content-center">
- <div class="text-center">
- <h1 class="mx-auto my-0 text-uppercase">Grayscale</h1>
- <h2 class="text-white-50 mx-auto mt-2 mb-5">A free, responsive, one page Bootstrap theme created by
- Start Bootstrap.</h2>
- <a class="btn btn-primary" href="#about">Get Started</a>
- </div>
+ </div>
+</nav>
+<!-- Masthead-->
+<section class="masthead">
+ <div class="container px-4 px-lg-5 d-flex h-100 align-items-center justify-content-center">
+ <div class="d-flex justify-content-center">
+ <div class="text-center">
+ <h1 class="mx-auto my-0 text-uppercase">Grayscale</h1>
+ <h2 class="text-white-50 mx-auto mt-2 mb-5">A free, responsive, one page Bootstrap theme created by
+ Start Bootstrap.</h2>
+ <a class="btn btn-primary" href="#about">Get Started</a>
</div>
</div>
- </header>
- <!-- About-->
- <section class="about-section text-center" id="about">
- <div class="container px-4 px-lg-5">
- <div class="row gx-4 gx-lg-5 justify-content-center">
- <div class="col-lg-8">
- <h2 class="text-white mb-4">Built with Bootstrap 5</h2>
- <p class="text-white-50">
- Grayscale is a free Bootstrap theme created by Start Bootstrap. It can be yours right now,
- simply download the template on
- <a href="https://startbootstrap.com/theme/grayscale/">the preview page.</a>
- The theme is open source, and you can use it for any purpose, personal or commercial.
- </p>
- </div>
+ </div>
+</section>
+<!-- About-->
+<section class="about-section text-center" id="about">
+ <div class="container px-4 px-lg-5">
+ <div class="row gx-4 gx-lg-5 justify-content-center">
+ <div class="col-lg-8">
+ <h2 class="text-white mb-4">Built with Bootstrap 5</h2>
+ <p class="text-white-50">
+ Grayscale is a free Bootstrap theme created by Start Bootstrap. It can be yours right now,
+ simply download the template on
+ <a href="https://startbootstrap.com/theme/grayscale/">the preview page.</a>
+ The theme is open source, and you can use it for any purpose, personal or commercial.
+ </p>
</div>
- <img class="img-fluid" src="assets/img/ipad.png" alt="..." />
</div>
- </section>
- <!-- Projects-->
- <section class="projects-section bg-light" id="projects">
- <div class="container px-3 px-lg-4 mt-4">
- <div class="row gx-4 gx-lg-5 row-cols-2 row-cols-md-3 row-cols-xl-4 justify-content-center">
- @foreach (var bundle in @Model)
- {
- <div class="col mb-5">
- <div class="card h-100">
- <a href="/bundle/show/@bundle.Id"><img class="card-img-top" src="@bundle.Figures.FirstOrDefault()?.FilePath" alt="..." /></a>
- <div class="card-body p-4">
- <div class="text-center">
- <h5 class="fw-bolder">@bundle.Name</h5>
- @bundle.Price.ToString("c0")
- </div>
+ <img class="img-fluid" src="assets/img/ipad.png" alt="..." />
+ </div>
+</section>
+<!-- Projects-->
+<section class="projects-section bg-light" id="projects">
+ <div class="container px-3 px-lg-4 mt-4">
+ <div class="row gx-4 gx-lg-5 row-cols-2 row-cols-md-3 row-cols-xl-4 justify-content-center">
+ @foreach (var bundle in @Model)
+ {
+ <div class="col mb-5">
+ <div class="card h-100">
+ <a href="/bundle/show/@bundle.Id"><img class="card-img-top"
+ src="@bundle.Figures.FirstOrDefault()?.FilePath" alt="..." /></a>
+ <div class="card-body p-4">
+ <div class="text-center">
+ <h5 class="fw-bolder">@bundle.Name</h5>
+ @bundle.Price.ToString("c0")
</div>
</div>
</div>
- }
- </div>
+ </div>
+ }
</div>
- </section>
- <!-- Signup-->
- <section class="signup-section" id="signup">
- <div class="container px-4 px-lg-5">
- <div class="row gx-4 gx-lg-5">
- <div class="col-md-10 col-lg-8 mx-auto text-center">
- <i class="far fa-paper-plane fa-2x mb-2 text-white"></i>
- <h2 class="text-white mb-5">Subscribe to receive updates!</h2>
- <!-- * * * * * * * * * * * * * * *-->
- <!-- * * SB Forms Contact Form * *-->
- <!-- * * * * * * * * * * * * * * *-->
- <!-- This form is pre-integrated with SB Forms.-->
- <!-- To make this form functional, sign up at-->
- <!-- https://startbootstrap.com/solution/contact-forms-->
- <!-- to get an API token!-->
- <form class="form-signup" id="contactForm" data-sb-form-api-token="API_TOKEN">
- <!-- Email address input-->
- <div class="row input-group-newsletter">
- <div class="col"><input class="form-control" id="emailAddress" type="email"
- placeholder="Enter email address..." aria-label="Enter email address..."
- data-sb-validations="required,email" /></div>
- <div class="col-auto"><button class="btn btn-primary disabled" id="submitButton"
- type="submit">Notify Me!</button></div>
- </div>
- <div class="invalid-feedback mt-2" data-sb-feedback="emailAddress:required">An email is
- required.</div>
- <div class="invalid-feedback mt-2" data-sb-feedback="emailAddress:email">Email is not valid.
- </div>
- <!-- Submit success message-->
- <!---->
- <!-- This is what your users will see when the form-->
- <!-- has successfully submitted-->
- <div class="d-none" id="submitSuccessMessage">
- <div class="text-center mb-3 mt-2 text-white">
- <div class="fw-bolder">Form submission successful!</div>
- To activate this form, sign up at
- <br />
- <a
- href="https://startbootstrap.com/solution/contact-forms">https://startbootstrap.com/solution/contact-forms</a>
- </div>
- </div>
- <!-- Submit error message-->
- <!---->
- <!-- This is what your users will see when there is-->
- <!-- an error submitting the form-->
- <div class="d-none" id="submitErrorMessage">
- <div class="text-center text-danger mb-3 mt-2">Error sending message!</div>
+ </div>
+</section>
+<!-- Signup-->
+<section class="signup-section" id="signup">
+ <div class="container px-4 px-lg-5">
+ <div class="row gx-4 gx-lg-5">
+ <div class="col-md-10 col-lg-8 mx-auto text-center">
+ <i class="far fa-paper-plane fa-2x mb-2 text-white"></i>
+ <h2 class="text-white mb-5">Subscribe to receive updates!</h2>
+ <!-- * * * * * * * * * * * * * * *-->
+ <!-- * * SB Forms Contact Form * *-->
+ <!-- * * * * * * * * * * * * * * *-->
+ <!-- This form is pre-integrated with SB Forms.-->
+ <!-- To make this form functional, sign up at-->
+ <!-- https://startbootstrap.com/solution/contact-forms-->
+ <!-- to get an API token!-->
+ <form class="form-signup" id="contactForm" data-sb-form-api-token="API_TOKEN">
+ <!-- Email address input-->
+ <div class="row input-group-newsletter">
+ <div class="col"><input class="form-control" id="emailAddress" type="email"
+ placeholder="Enter email address..." aria-label="Enter email address..."
+ data-sb-validations="required,email" /></div>
+ <div class="col-auto"><button class="btn btn-primary disabled" id="submitButton"
+ type="submit">Notify Me!</button></div>
+ </div>
+ <div class="invalid-feedback mt-2" data-sb-feedback="emailAddress:required">An email is
+ required.</div>
+ <div class="invalid-feedback mt-2" data-sb-feedback="emailAddress:email">Email is not valid.
+ </div>
+ <!-- Submit success message-->
+ <!---->
+ <!-- This is what your users will see when the form-->
+ <!-- has successfully submitted-->
+ <div class="d-none" id="submitSuccessMessage">
+ <div class="text-center mb-3 mt-2 text-white">
+ <div class="fw-bolder">Form submission successful!</div>
+ To activate this form, sign up at
+ <br />
+ <a
+ href="https://startbootstrap.com/solution/contact-forms">https://startbootstrap.com/solution/contact-forms</a>
</div>
- </form>
- </div>
+ </div>
+ <!-- Submit error message-->
+ <!---->
+ <!-- This is what your users will see when there is-->
+ <!-- an error submitting the form-->
+ <div class="d-none" id="submitErrorMessage">
+ <div class="text-center text-danger mb-3 mt-2">Error sending message!</div>
+ </div>
+ </form>
</div>
</div>
- </section>
- <!-- Contact-->
- <section class="contact-section bg-black">
- <div class="container px-4 px-lg-5">
- <div class="row gx-4 gx-lg-5">
- <div class="col-md-4 mb-3 mb-md-0">
- <div class="card py-4 h-100">
- <div class="card-body text-center">
- <i class="fas fa-map-marked-alt text-primary mb-2"></i>
- <h4 class="text-uppercase m-0">Address</h4>
- <hr class="my-4 mx-auto" />
- <div class="small text-black-50">4923 Market Street, Orlando FL</div>
- </div>
+ </div>
+</section>
+<!-- Contact-->
+<section class="contact-section bg-black">
+ <div class="container px-4 px-lg-5">
+ <div class="row gx-4 gx-lg-5">
+ <div class="col-md-4 mb-3 mb-md-0">
+ <div class="card py-4 h-100">
+ <div class="card-body text-center">
+ <i class="fas fa-map-marked-alt text-primary mb-2"></i>
+ <h4 class="text-uppercase m-0">Address</h4>
+ <hr class="my-4 mx-auto" />
+ <div class="small text-black-50">4923 Market Street, Orlando FL</div>
</div>
</div>
- <div class="col-md-4 mb-3 mb-md-0">
- <div class="card py-4 h-100">
- <div class="card-body text-center">
- <i class="fas fa-envelope text-primary mb-2"></i>
- <h4 class="text-uppercase m-0">Email</h4>
- <hr class="my-4 mx-auto" />
- <div class="small text-black-50"><a href="#!">hello@yourdomain.com</a></div>
- </div>
+ </div>
+ <div class="col-md-4 mb-3 mb-md-0">
+ <div class="card py-4 h-100">
+ <div class="card-body text-center">
+ <i class="fas fa-envelope text-primary mb-2"></i>
+ <h4 class="text-uppercase m-0">Email</h4>
+ <hr class="my-4 mx-auto" />
+ <div class="small text-black-50"><a href="#!">hello@yourdomain.com</a></div>
</div>
</div>
- <div class="col-md-4 mb-3 mb-md-0">
- <div class="card py-4 h-100">
- <div class="card-body text-center">
- <i class="fas fa-mobile-alt text-primary mb-2"></i>
- <h4 class="text-uppercase m-0">Phone</h4>
- <hr class="my-4 mx-auto" />
- <div class="small text-black-50">+1 (555) 902-8832</div>
- </div>
+ </div>
+ <div class="col-md-4 mb-3 mb-md-0">
+ <div class="card py-4 h-100">
+ <div class="card-body text-center">
+ <i class="fas fa-mobile-alt text-primary mb-2"></i>
+ <h4 class="text-uppercase m-0">Phone</h4>
+ <hr class="my-4 mx-auto" />
+ <div class="small text-black-50">+1 (555) 902-8832</div>
</div>
</div>
</div>
- <div class="social d-flex justify-content-center">
- <a class="mx-2" href="#!"><i class="fab fa-twitter"></i></a>
- <a class="mx-2" href="#!"><i class="fab fa-facebook-f"></i></a>
- <a class="mx-2" href="#!"><i class="fab fa-github"></i></a>
- </div>
</div>
- </section>
- <!-- Footer-->
- <footer class="footer bg-black small text-center text-white-50">
- <div class="container px-4 px-lg-5">Copyright &copy; Your Website 2022</div>
- </footer>
- <!-- Bootstrap core JS-->
- <script src="/lib/bootstrap/js/bootstrap.bundle.min.js"></script>
- <!-- Core theme JS-->
- <script src="/js/scripts.js"></script>
-</body>
-
-</html> \ No newline at end of file
+ <div class="social d-flex justify-content-center">
+ <a class="mx-2" href="#!"><i class="fab fa-twitter"></i></a>
+ <a class="mx-2" href="#!"><i class="fab fa-facebook-f"></i></a>
+ <a class="mx-2" href="#!"><i class="fab fa-github"></i></a>
+ </div>
+ </div>
+</section> \ No newline at end of file
diff --git a/Views/Shared/_Layout.cshtml b/Views/Shared/_Layout.cshtml
new file mode 100644
index 0000000..e685f8d
--- /dev/null
+++ b/Views/Shared/_Layout.cshtml
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html lang="ru-RU">
+
+<head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
+ <meta name="description" content="" />
+ <meta name="author" content="" />
+ <title>Grayscale - Start Bootstrap Theme</title>
+ <link rel="icon" type="image/x-icon" href="/assets/favicon.ico" />
+ <script src="https://use.fontawesome.com/releases/v6.1.0/js/all.js" crossorigin="anonymous"></script>
+ <link href="/css/styles.css" rel="stylesheet" />
+</head>
+
+<body id="page-top">
+ @RenderBody()
+ <footer class="footer bg-black small text-center text-white-50">
+ <div class="container px-4 px-lg-5">&copy; My Darling underwear 2023</div>
+ </footer>
+ <script src="/js/scripts.js"></script>
+ <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
+ <script src="https://cdn.jsdelivr.net/npm/popper.js@1.14.7/dist/umd/popper.min.js"></script>
+ <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.3.1/dist/js/bootstrap.min.js"></script>
+</body>
+
+</html> \ No newline at end of file
diff --git a/libman.json b/libman.json
index c15368e..ceee271 100644
--- a/libman.json
+++ b/libman.json
@@ -1,10 +1,5 @@
{
"version": "1.0",
"defaultProvider": "cdnjs",
- "libraries": [
- {
- "library": "bootstrap@5.2.3",
- "destination": "wwwroot/lib/bootstrap"
- }
- ]
+ "libraries": []
} \ No newline at end of file