Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
islater
cowboy-cafe
Commits
e8d6e0f3
Commit
e8d6e0f3
authored
May 06, 2020
by
IJSlater
Browse files
added dynamic site and linq
parent
8681b369
Changes
4
Hide whitespace changes
Inline
Side-by-side
Data/Menu.cs
View file @
e8d6e0f3
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
namespace
CowboyCafe.Data
{
public
static
class
Menu
{
p
rivate
static
List
<
IOrderItem
>
entrees
;
p
rivate
static
List
<
IOrderItem
>
sides
;
p
rivate
static
List
<
IOrderItem
>
drinks
;
p
ublic
static
List
<
IOrderItem
>
entrees
;
p
ublic
static
List
<
IOrderItem
>
sides
;
p
ublic
static
List
<
IOrderItem
>
drinks
;
public
static
List
<
IOrderItem
>
FilterEntrees
(
string
check
,
string
name
,
string
mincal
,
string
maxcal
,
string
minprice
,
string
maxprice
)
{
...
...
Website/Pages/Index.cshtml
View file @
e8d6e0f3
...
...
@@ -26,75 +26,104 @@
<span>
Max Price
</span><input
type=
"number"
name=
"MaxPrice"
value=
"@Model.MaxPrice"
/><br
/>
</form>
<p><a
href=
"/handlerexample"
class=
"btn btn-default"
>
Click to Get
</a></p>
<div
class=
"menu"
>
<div
class=
"entrees"
>
<h2>
Entrees
</h2>
<div
class=
"
entrees
"
>
<h2>
Entrees
</h2>
@foreach (IOrderItem entree in Model.
entrees
)
{
@foreach (IOrderItem entree in Model.entrees)
{
@entree.ToString()
<span>
Price:
</span>
@entree.Price
<span>
Calories:
</span>
@entree.Calories
<br><br
/>
@entree.ToString()
<span>
Price:
</span>
@entree.Price
<span>
Calories:
</span>
@entree.Calories
<br
/
><br/>
}
</div>
<div
class=
"sides"
>
<h2>
Sides
</h2>
}
</div>
<div
class=
"sides"
>
<h2>
Sides
</h2>
@foreach (Side sides in Model.sides)
{
@foreach (Side sides in Model.sides)
{
{@sides.ToString().Substring(6)}
<br
/>
{@sides.ToString().Substring(6)}
<br
/>
<span>
Price | Small: $
</span>
@sides.Price
{ sides.Size = Size.Medium; }
<span>
Medium: $
</span>
@sides.Price
<span>
Price | Small: $
</span>
@sides.Price
{ sides.Size = Size.Medium; }
<span>
Medium: $
</span>
@sides.Price
{ sides.Size = Size.Large; }
<span>
Large: $
</span>
@sides.Price
<br
/>
{ sides.Size = Size.Large; }
<span>
Large: $
</span>
@sides.Price
<br
/>
{ sides.Size = Size.Small; }
<span>
Calories | Small:
</span>
@sides.Calories
{ sides.Size = Size.Medium; }
<span>
Medium:
</span>
@sides.Calories
{ sides.Size = Size.Large; }
<span>
Large:
</span>
@sides.Calories
<br
/><br
/>
{ sides.Size = Size.Small; }
<span>
Calories | Small:
</span>
@sides.Calories
{ sides.Size = Size.Medium; }
<span>
Medium:
</span>
@sides.Calories
{ sides.Size = Size.Large; }
<span>
Large:
</span>
@sides.Calories
<br
/><br
/>
}
</div>
<div
class=
"drinks"
>
<h2>
Drinks
</h2>
}
</div>
<div
class=
"drinks"
>
<h2>
Drinks
</h2>
@foreach (Drink drinks in Model.drinks)
{
@foreach (Drink drinks in Model.drinks)
{
{@drinks.ToString().Substring(6)}
<br
/>
<span>
Price | Small: $
</span>
@drinks.Price
{@drinks.ToString().Substring(6)}
<br
/>
<span>
Price | Small: $
</span>
@drinks.Price
{ drinks.Size = Size.Medium; }
<span>
Medium: $
</span>
@drinks.Price
{ drinks.Size = Size.Medium; }
<span>
Medium: $
</span>
@drinks.Price
{ drinks.Size = Size.Large; }
<span>
Large: $
</span>
@drinks.Price
<br
/>
{ drinks.Size = Size.Large; }
<span>
Large: $
</span>
@drinks.Price
<br
/>
{ drinks.Size = Size.Small; }
<span>
Calories | Small:
</span>
@drinks.Calories
{ drinks.Size = Size.Medium; }
<span>
Medium:
</span>
@drinks.Calories
{ drinks.Size = Size.Large; }
<span>
Large:
</span>
@drinks.Calories
<br
/><br
/>
{ drinks.Size = Size.Small; }
<span>
Calories | Small:
</span>
@drinks.Calories
{ drinks.Size = Size.Medium; }
<span>
Medium:
</span>
@drinks.Calories
{ drinks.Size = Size.Large; }
<span>
Large:
</span>
@drinks.Calories
<br
/><br
/>
}
}
</div>
</div>
</div>
</div>
\ No newline at end of file
<style>
.entrees
{
float
:
left
;
width
:
30%
;
}
.sides
{
float
:
left
;
width
:
30%
;
}
.drinks
{
float
:
left
;
width
:
30%
;
}
@
@media
(
max-width
:
490px
)
{
.entrees
{
float
:
none
;
}
.sides
{
float
:
none
;
}
.drinks
{
float
:
none
;
}
}
</style>
\ No newline at end of file
Website/Pages/Index.cshtml.cs
View file @
e8d6e0f3
...
...
@@ -6,6 +6,7 @@ using Microsoft.AspNetCore.Mvc;
using
Microsoft.AspNetCore.Mvc.RazorPages
;
using
Microsoft.Extensions.Logging
;
using
CowboyCafe.Data
;
using
Microsoft.VisualStudio.Web.CodeGenerators.Mvc.View
;
namespace
Website.Pages
{
...
...
@@ -17,9 +18,9 @@ namespace Website.Pages
{
_logger
=
logger
;
}
public
List
<
IOrderItem
>
entrees
=
(
List
<
IOrderItem
>)
Menu
.
Entrees
();
public
List
<
IOrderItem
>
sides
=
(
List
<
IOrderItem
>)
Menu
.
Sides
();
public
List
<
IOrderItem
>
drinks
=
(
List
<
IOrderItem
>)
Menu
.
Drinks
();
public
IEnumerable
<
IOrderItem
>
entrees
=
Menu
.
Entrees
();
public
IEnumerable
<
IOrderItem
>
sides
=
Menu
.
Sides
();
public
IEnumerable
<
IOrderItem
>
drinks
=
Menu
.
Drinks
();
public
string
SearchTerms
{
get
;
set
;
}
=
"Search for Item"
;
public
string
EntreeCheck
{
get
;
set
;
}
public
string
DrinkCheck
{
get
;
set
;
}
...
...
@@ -40,9 +41,9 @@ namespace Website.Pages
public
void
OnPost
()
{
entrees
=
(
List
<
IOrderItem
>)
Menu
.
Entrees
();
sides
=
(
List
<
IOrderItem
>)
Menu
.
Sides
();
drinks
=
(
List
<
IOrderItem
>)
Menu
.
Drinks
();
entrees
=
Menu
.
Entrees
();
sides
=
Menu
.
Sides
();
drinks
=
Menu
.
Drinks
();
if
(
Request
.
Form
[
"EntreeCheck"
]
==
"on"
)
EntreeCheck
=
"checked"
;
...
...
@@ -52,14 +53,14 @@ namespace Website.Pages
}
if
(
Request
.
Form
[
"SideCheck"
]
==
"on"
)
Entre
eCheck
=
"checked"
;
Sid
eCheck
=
"checked"
;
else
{
SideCheck
=
null
;
}
if
(
Request
.
Form
[
"DrinkCheck"
]
==
"on"
)
Entree
Check
=
"checked"
;
Drink
Check
=
"checked"
;
else
{
DrinkCheck
=
null
;
...
...
@@ -69,14 +70,20 @@ namespace Website.Pages
MaxCal
=
Request
.
Form
[
"MaxCalories"
];
MinPrice
=
Request
.
Form
[
"MinPrice"
];
MaxPrice
=
Request
.
Form
[
"MaxPrice"
];
entrees
=
Menu
.
FilterEntrees
(
Request
.
Form
[
"EntreeCheck"
],
Request
.
Form
[
"SearchTerms"
],
Request
.
Form
[
"MinCalories"
],
Request
.
Form
[
"MaxCalories"
],
Request
.
Form
[
"MinPrice"
],
Request
.
Form
[
"MaxPrice"
]);
sides
=
Menu
.
FilterSides
(
Request
.
Form
[
"SideCheck"
],
Request
.
Form
[
"SearchTerms"
],
Request
.
Form
[
"MinCalories"
],
Request
.
Form
[
"MaxCalories"
],
Request
.
Form
[
"MinPrice"
],
Request
.
Form
[
"MaxPrice"
]);
drinks
=
Menu
.
FilterDrinks
(
Request
.
Form
[
"DrinkCheck"
],
Request
.
Form
[
"SearchTerms"
],
Request
.
Form
[
"MinCalories"
],
Request
.
Form
[
"MaxCalories"
],
Request
.
Form
[
"MinPrice"
],
Request
.
Form
[
"MaxPrice"
]);
string
hold
=
Request
.
Form
[
"SearchTerms"
];
if
(
EntreeCheck
!=
null
)
entrees
=
from
item
in
Menu
.
Entrees
()
where
item
.
ToString
().
ToLower
().
Contains
(
hold
.
ToLower
())
&&
item
.
Calories
>=
Convert
.
ToUInt32
(
Request
.
Form
[
"MinCalories"
])
&&
item
.
Calories
<=
Convert
.
ToUInt32
(
Request
.
Form
[
"MaxCalories"
])
&&
item
.
Price
>=
Convert
.
ToDouble
(
Request
.
Form
[
"MinPrice"
])
&&
item
.
Price
<=
Convert
.
ToDouble
(
Request
.
Form
[
"MaxPrice"
])
select
item
;
if
(
DrinkCheck
!=
null
)
drinks
=
from
item
in
Menu
.
Drinks
()
where
item
.
ToString
().
Contains
(
hold
.
ToLower
())
&&
item
.
Calories
>=
Convert
.
ToUInt32
(
Request
.
Form
[
"MinCalories"
])
&&
item
.
Calories
<=
Convert
.
ToUInt32
(
Request
.
Form
[
"MaxCalories"
])
&&
item
.
Price
>=
Convert
.
ToDouble
(
Request
.
Form
[
"MinPrice"
])
&&
item
.
Price
<=
Convert
.
ToDouble
(
Request
.
Form
[
"MaxPrice"
])
select
item
;
if
(
SideCheck
!=
null
)
sides
=
from
item
in
Menu
.
Sides
()
where
item
.
ToString
().
Contains
(
hold
.
ToLower
())
&&
item
.
Calories
>=
Convert
.
ToUInt32
(
Request
.
Form
[
"MinCalories"
])
&&
item
.
Calories
<=
Convert
.
ToUInt32
(
Request
.
Form
[
"MaxCalories"
])
&&
item
.
Price
>=
Convert
.
ToDouble
(
Request
.
Form
[
"MinPrice"
])
&&
item
.
Price
<=
Convert
.
ToDouble
(
Request
.
Form
[
"MaxPrice"
])
select
item
;
}
}
}
Website/wwwroot/css/site.css
View file @
e8d6e0f3
...
...
@@ -35,6 +35,10 @@ html {
}
}
.border-top
{
border-top
:
1px
solid
#e5e5e5
;
}
...
...
@@ -69,3 +73,6 @@ body {
white-space
:
nowrap
;
line-height
:
60px
;
/* Vertically center the text there */
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment