Skip to content

Commit 3a46a47

Browse files
authored
Merge pull request #93 from green-fox-academy/development
Dev -> Patch 0.2.1
2 parents 8ad0bf2 + 06b7088 commit 3a46a47

File tree

9 files changed

+539
-49
lines changed

9 files changed

+539
-49
lines changed

hotel-booking-app/Migrations/20190715112042_hotelNoPrice.Designer.cs

Lines changed: 422 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
using Microsoft.EntityFrameworkCore.Migrations;
2+
3+
namespace HotelBookingApp.Migrations
4+
{
5+
public partial class hotelNoPrice : Migration
6+
{
7+
protected override void Up(MigrationBuilder migrationBuilder)
8+
{
9+
migrationBuilder.DropColumn(
10+
name: "Price",
11+
table: "Hotels");
12+
}
13+
14+
protected override void Down(MigrationBuilder migrationBuilder)
15+
{
16+
migrationBuilder.AddColumn<int>(
17+
name: "Price",
18+
table: "Hotels",
19+
nullable: false,
20+
defaultValue: 0);
21+
}
22+
}
23+
}

hotel-booking-app/Migrations/ApplicationContextModelSnapshot.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,6 @@ protected override void BuildModel(ModelBuilder modelBuilder)
9898
b.Property<string>("Name")
9999
.IsRequired();
100100

101-
b.Property<int>("Price");
102-
103101
b.Property<int>("PropertyTypeId");
104102

105103
b.Property<int>("StarRating");

hotel-booking-app/Models/HotelModels/Hotel.cs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,25 @@ public class Hotel
1010
[Required]
1111
public string Name { get; set; }
1212
public string Description { get; set; }
13-
public int Price { get; set; }
1413
public int StarRating { get; set; }
15-
public String TimeZoneId { get; set; }
14+
public string TimeZoneId { get; set; }
1615
public Location Location { get; set; }
1716
public int LocationId { get; set; }
1817
public PropertyType PropertyType { get; set; }
1918
public int PropertyTypeId { get; set; }
2019
public IEnumerable<Room> Rooms { get; set; }
2120
public bool Thumbnail { get; set; } = false;
2221
public string ThumbnailUrl { get; set; }
22+
23+
public string ShortDescription
24+
{
25+
get
26+
{
27+
int maxLength = 300;
28+
return Description != null && Description.Length > maxLength
29+
? Description.Substring(0, maxLength) + "..."
30+
: Description;
31+
}
32+
}
2333
}
2434
}

hotel-booking-app/Resources/Views/Home/Index.hu.resx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -138,9 +138,6 @@
138138
<data name="No results found!" xml:space="preserve">
139139
<value>Nincs találat!</value>
140140
</data>
141-
<data name="Price" xml:space="preserve">
142-
<value>Ár</value>
143-
</data>
144141
<data name="Search by city" xml:space="preserve">
145142
<value>Keresés város alapján</value>
146143
</data>

hotel-booking-app/Resources/Views/Hotels/Hotel.hu.resx

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,12 +132,18 @@
132132
<data name="Apartment" xml:space="preserve">
133133
<value>Apartman</value>
134134
</data>
135+
<data name="Beds in the room" xml:space="preserve">
136+
<value>Ágyak a szobában</value>
137+
</data>
135138
<data name="Delete Image" xml:space="preserve">
136139
<value>Kép törlése</value>
137140
</data>
138141
<data name="Edit" xml:space="preserve">
139142
<value>Szerkeszt</value>
140143
</data>
144+
<data name="full bed" xml:space="preserve">
145+
<value>francia ágy</value>
146+
</data>
141147
<data name="Gallery" xml:space="preserve">
142148
<value>Galéria</value>
143149
</data>
@@ -165,16 +171,31 @@
165171
<data name="Options" xml:space="preserve">
166172
<value>Opciók</value>
167173
</data>
174+
<data name="Price" xml:space="preserve">
175+
<value>Ár</value>
176+
</data>
168177
<data name="Reservations" xml:space="preserve">
169178
<value>Foglalások</value>
170179
</data>
171180
<data name="Reserve" xml:space="preserve">
172181
<value>Lefoglalás</value>
173182
</data>
183+
<data name="Room Name" xml:space="preserve">
184+
<value>Szoba neve</value>
185+
</data>
174186
<data name="Rooms" xml:space="preserve">
175187
<value>Szobák</value>
176188
</data>
177189
<data name="Set as thumbnail" xml:space="preserve">
178190
<value>Beállítás bélyegképként</value>
179191
</data>
192+
<data name="single bed" xml:space="preserve">
193+
<value>egyszemélyes ágy</value>
194+
</data>
195+
<data name="sofa bed" xml:space="preserve">
196+
<value>kanapé ágy</value>
197+
</data>
198+
<data name="twin bed" xml:space="preserve">
199+
<value>duplaágy</value>
200+
</data>
180201
</root>

hotel-booking-app/Services/BedService.cs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,22 @@ public async Task<Bed> FindBedById(int bedId)
3737

3838
public async Task<RoomBed> AddBed(BedViewModel model)
3939
{
40+
var roomBedFromContext = await applicationContext.RoomBeds
41+
.Where(r => r.BedId == model.BedId && r.RoomId == model.RoomId)
42+
.SingleOrDefaultAsync();
43+
4044
var roomBed = new RoomBed
4145
{
4246
RoomId = model.RoomId,
4347
BedId = model.BedId,
4448
BedNumber = model.BedNumber
4549
};
46-
await applicationContext.AddAsync(roomBed);
47-
await applicationContext.SaveChangesAsync();
50+
51+
if (roomBedFromContext == null)
52+
{
53+
await applicationContext.AddAsync(roomBed);
54+
await applicationContext.SaveChangesAsync();
55+
}
4856
return roomBed;
4957
}
5058
}

hotel-booking-app/Views/Home/Index.cshtml

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -46,16 +46,6 @@
4646
@Localizer[@Html.DisplayNameFor(model => model.Hotels.First().Description)]
4747
</a>
4848
</th>
49-
<th>
50-
<a asp-action="Index"
51-
asp-route-orderBy="Price"
52-
asp-route-desc="@Model.QueryParams.NextDesc"
53-
asp-route-pageSize="@Model.QueryParams.PageSize"
54-
asp-route-currentPage="@Model.QueryParams.CurrentPage"
55-
asp-route-search="@Model.QueryParams.Search">
56-
@Localizer[@Html.DisplayNameFor(model => model.Hotels.First().Price)]
57-
</a>
58-
</th>
5949
<th>
6050
@Localizer[@Html.DisplayNameFor(model => model.Hotels.First().Location.City)]
6151
</th>
@@ -75,14 +65,15 @@
7565
}
7666
</td>
7767
<td>
78-
<a class="nav-link" asp-controller="Hotels" asp-action="Hotel" asp-route-id="@hotel.HotelId">@hotel.Name</a>
79-
@for (int star = 0; star < hotel.StarRating; star++)
80-
{
81-
<i class="fas fa-star text-warning"></i>
82-
}
68+
<a asp-controller="Hotels" asp-action="Hotel" asp-route-id="@hotel.HotelId">@hotel.Name</a>
69+
<div class="text-center">
70+
@for (int star = 0; star < hotel.StarRating; star++)
71+
{
72+
<i class="fas fa-star text-warning"></i>
73+
}
74+
</div>
8375
</td>
84-
<td>@hotel.Description</td>
85-
<td>@hotel.Price</td>
76+
<td>@hotel.ShortDescription</td>
8677
<td>@hotel.Location.City</td>
8778
</tr>
8879
}

hotel-booking-app/Views/Hotels/Hotel.cshtml

Lines changed: 43 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@
2020
<div class="ml-3">
2121
<div>
2222
@for (int star = 0; star < @Model.Hotel.StarRating; star++)
23-
{
24-
<i class="fas fa-star text-warning"></i>
25-
}
26-
</div>
23+
{
24+
<i class="fas fa-star text-warning"></i>
25+
}
26+
</div>
2727
<div><b>@Localizer["Hotel type"]:</b> @Localizer[@Model.Hotel.PropertyType.Type]</div>
2828
<div><b>@Localizer["Address"]:</b> @Model.Hotel.Location.City, @Model.Hotel.Location.Address, @Model.Hotel.Location.Country</div>
2929
</div>
@@ -33,28 +33,48 @@
3333
<h5>@Localizer["About"] </h5>
3434
<p>@Model.Hotel.Description</p>
3535
</div>
36-
<div>
37-
<br />
38-
<b>@Localizer["Rooms"]:</b>
39-
</div>
40-
<ul>
36+
<table class="table">
37+
<tr>
38+
<th>@Localizer["Room Name"]</th>
39+
<th>@Localizer["Price"]</th>
40+
<th>@Localizer["Beds in the room"]</th>
41+
<th></th>
42+
<th></th>
43+
</tr>
4144
@foreach (var room in @Model.Hotel.Rooms)
4245
{
43-
<li>
44-
@room.Name ($@room.Price)
45-
<a asp-controller="Reservations" asp-action="Add"
46-
asp-route-hotelId="@Model.Hotel.HotelId"
47-
asp-route-roomId="@room.RoomId">
48-
@Localizer["Reserve"]
49-
</a>
50-
<a asp-controller="Rooms" asp-action="AddBed"
51-
asp-route-hotelId="@Model.Hotel.HotelId"
52-
asp-route-roomId="@room.RoomId">
53-
@Localizer["Add bed"]
54-
</a>
55-
</li>
46+
<tr>
47+
<td>@room.Name</td>
48+
<td>$@room.Price</td>
49+
<td>
50+
@foreach (var roomBed in room.RoomBeds)
51+
{
52+
<ul>
53+
<li>@Localizer[@roomBed.Bed.Type]: @roomBed.BedNumber</li>
54+
</ul>
55+
}
56+
</td>
57+
<td>
58+
<a asp-controller="Reservations" asp-action="Add"
59+
asp-route-hotelId="@Model.Hotel.HotelId"
60+
asp-route-roomId="@room.RoomId">
61+
@Localizer["Reserve"]
62+
</a>
63+
</td>
64+
<td>
65+
@if (User.IsInRole("Admin") || User.IsInRole("HotelManager"))
66+
{
67+
<a asp-controller="Rooms" asp-action="AddBed"
68+
asp-route-hotelId="@Model.Hotel.HotelId"
69+
asp-route-roomId="@room.RoomId">
70+
@Localizer["Add bed"]
71+
</a>
72+
}
73+
</td>
74+
</tr>
5675
}
57-
</ul>
76+
</table>
77+
5878
<div class="">
5979
<a class="btn btn-danger" asp-controller="Home" asp-action="Index" role="button">@Localizer["Go back"]</a>
6080
@if (User.IsInRole("Admin") || User.IsInRole("HotelManager"))

0 commit comments

Comments
 (0)