Skip to content

Commit a7f2354

Browse files
committed
sorteventbydate ok
1 parent 7627cf9 commit a7f2354

File tree

6 files changed

+117
-52
lines changed

6 files changed

+117
-52
lines changed

Zenergy/Zenergy/Controllers/ApiControllers/accessoriesController.cs

+3-1
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ public async Task<IHttpActionResult> Getaccessory(int id)
3939
}
4040

4141
// PUT: api/accessories/5
42+
[HttpPut]
43+
[Route("api/accessories/id")]
4244
[ResponseType(typeof(void))]
4345
public async Task<IHttpActionResult> Putaccessory(int id, accessory accessory)
4446
{
@@ -49,7 +51,7 @@ public async Task<IHttpActionResult> Putaccessory(int id, accessory accessory)
4951

5052
if (id != accessory.accessoryId)
5153
{
52-
return BadRequest();
54+
return BadRequest("AccessoryId not the same in url and in json");
5355
}
5456

5557
db.Entry(accessory).State = EntityState.Modified;

Zenergy/Zenergy/Controllers/ApiControllers/eventRegistrationsController.cs

+35-11
Original file line numberDiff line numberDiff line change
@@ -57,13 +57,13 @@ public IOrderedQueryable<@event> SortEventsByActivity()
5757
}
5858

5959

60-
[HttpGet]
60+
[HttpPost]
6161
[ResponseType(typeof(List<EventModel>))]
62-
[Route("api/events/bydate/{datefilter}")]
6362
[Authorize(Roles = "Manager, Member")]
64-
public async Task<IHttpActionResult> SortEventsByDate(string filter)
63+
[Route("api/events/bydate")]
64+
public async Task<IHttpActionResult> SortEventsByDate(EventDateModel filter)
6565
{
66-
var datefilter = DateTime.Parse(filter.Replace("!",":"));
66+
var datefilter = filter.eventdate;
6767
var sortedEvents = new List<EventModel>();
6868
//Sorting punctual events;
6969
var punctualEvents = await db.ponctualEvent.Where(pe => pe.eventDate == datefilter).ToListAsync();
@@ -88,18 +88,41 @@ public async Task<IHttpActionResult> SortEventsByDate(string filter)
8888
}
8989
}
9090

91-
//sorting regular events
92-
var regularEvents = await db.regularEvent.ToListAsync();
91+
//sorting regular events by day
92+
var regularEvents = new List<regularEvent>();
93+
if (datefilter.DayOfWeek.Equals(DayOfWeek.Monday))
94+
{
95+
regularEvents = await db.regularEvent.Where(re => re.dateDay.Equals("Monday")).ToListAsync();
96+
}
97+
else if (datefilter.Day.Equals(DayOfWeek.Tuesday))
98+
{
99+
regularEvents = await db.regularEvent.Where(re => re.dateDay.Equals("Tuesday")).ToListAsync();
100+
}
101+
else if (datefilter.Day.Equals(DayOfWeek.Wednesday))
102+
{
103+
regularEvents = await db.regularEvent.Where(re => re.dateDay.Equals("Wednesday")).ToListAsync();
104+
}
105+
else if (datefilter.Day.Equals(DayOfWeek.Thursday))
106+
{
107+
regularEvents = await db.regularEvent.Where(re => re.dateDay.Equals("Thursday")).ToListAsync();
108+
}
109+
else if (datefilter.Day.Equals(DayOfWeek.Friday))
110+
{
111+
regularEvents = await db.regularEvent.Where(re => re.dateDay.Equals("Friday")).ToListAsync();
112+
}
113+
else if (datefilter.Day.Equals(DayOfWeek.Saturday))
114+
{
115+
regularEvents = await db.regularEvent.Where(re => re.dateDay.Equals("Saturday")).ToListAsync();
116+
}
117+
93118
if (regularEvents.Any())
94119
{
95120
foreach (regularEvent re in regularEvents)
96121
{
97122
//creating EventModel from punctaul events
98123
var eventmodel = new EventModel();
99-
var eventdate = eventmodel.GetRegularEventDate(re.dateDay);
100-
if (eventdate.Equals(datefilter))
101124
{
102-
eventmodel.eventDate = eventdate;
125+
eventmodel.eventDate = datefilter;
103126
eventmodel.eventId = re.eventId;
104127
eventmodel.activityId = re.@event.activityId;
105128
eventmodel.eventDescription = re.@event.eventDescription;
@@ -108,10 +131,11 @@ public async Task<IHttpActionResult> SortEventsByDate(string filter)
108131
eventmodel.eventName = re.@event.eventName;
109132
eventmodel.eventPrice = re.@event.eventPrice;
110133
eventmodel.roomId = re.@event.roomId;
111-
sortedEvents.Add(eventmodel);
112134
}
135+
sortedEvents.Add(eventmodel);
113136
}
114137
}
138+
115139
return Ok(sortedEvents);
116140
}
117141

@@ -178,7 +202,7 @@ public async Task<IHttpActionResult> PostRegisterToEvent(int userId, int eventId
178202
myEvent.user.Add(myUser);
179203
db.Entry(myEvent).State = EntityState.Modified;
180204
await db.SaveChangesAsync();
181-
return CreatedAtRoute("DefaultApi", new { id = userId }, new EventRegistrationModel() {userId = userId, eventId = eventId});
205+
return Created("api/users/{userId}/events/{eventId}/registration", new EventRegistrationModel() {userId = userId, eventId = eventId});
182206
}
183207
catch (DbUpdateException)
184208
{

Zenergy/Zenergy/Controllers/ApiControllers/roomContentsController.cs

+3-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,9 @@ public async Task<IHttpActionResult> GetroomContent(int id)
5353
/// <param name="accessoryId"></param>
5454
/// <param name="roomContent"></param>
5555
/// <returns></returns>
56-
// PUT: api/roomContents/5
56+
// PUT: api/roomContents/
57+
[HttpPut]
58+
[Route("api/roomContents")]
5759
[ResponseType(typeof(void))]
5860
public async Task<IHttpActionResult> PutroomContent(int roomId,int accessoryId, roomContent roomContent)
5961
{
+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Web;
5+
6+
namespace Zenergy.Models
7+
{
8+
public class EventDateModel
9+
{
10+
public DateTime eventdate { get; set; }
11+
}
12+
}

Zenergy/Zenergy/Models/EventModel.cs

+63-39
Original file line numberDiff line numberDiff line change
@@ -19,33 +19,33 @@ public class EventModel
1919

2020
public DateTime eventDate { get; set; }
2121

22-
public DateTime GetRegularEventDate(string day)
22+
public DateTime GetRegularEventDate(string day, DateTime myDate)
2323
{
24-
var today = DateTime.Today;
25-
var dayofweek = today.DayOfWeek;
24+
// var myDate = DateTime.myDate;
25+
var dayofweek = myDate.DayOfWeek;
2626
var eventdate = new DateTime();
2727

2828
if (dayofweek.Equals(DayOfWeek.Monday))
2929
{
3030
switch (day)
3131
{
3232
case "Monday":
33-
eventdate = new DateTime(today.Year, today.Month, today.Day);
33+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.Day);
3434
break;
3535
case "Tuesday":
36-
eventdate = new DateTime(today.Year, today.Month, today.AddDays(1).Day);
36+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(1).Day);
3737
break;
3838
case "Wednesday":
39-
eventdate = new DateTime(today.Year, today.Month, today.AddDays(2).Day);
39+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(2).Day);
4040
break;
4141
case "Thursday":
42-
eventdate = new DateTime(today.Year, today.Month, today.AddDays(3).Day);
42+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(3).Day);
4343
break;
4444
case "Friday":
45-
eventdate = new DateTime(today.Year, today.Month, today.AddDays(4).Day);
45+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(4).Day);
4646
break;
4747
case "Saturday":
48-
eventdate = new DateTime(today.Year, today.Month, today.AddDays(5).Day);
48+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(5).Day);
4949
break;
5050
}
5151
}
@@ -54,22 +54,22 @@ public DateTime GetRegularEventDate(string day)
5454
switch (day)
5555
{
5656
case "Monday":
57-
eventdate = new DateTime(today.Year, today.Month, today.AddDays(-1).Day);
57+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(-1).Day);
5858
break;
5959
case "Tuesday":
60-
eventdate = new DateTime(today.Year, today.Month, today.Day);
60+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.Day);
6161
break;
6262
case "Wednesday":
63-
eventdate = new DateTime(today.Year, today.Month, today.AddDays(1).Day);
63+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(1).Day);
6464
break;
6565
case "Thursday":
66-
eventdate = new DateTime(today.Year, today.Month, today.AddDays(2).Day);
66+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(2).Day);
6767
break;
6868
case "Friday":
69-
eventdate = new DateTime(today.Year, today.Month, today.AddDays(3).Day);
69+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(3).Day);
7070
break;
7171
case "Saturday":
72-
eventdate = new DateTime(today.Year, today.Month, today.AddDays(4).Day);
72+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(4).Day);
7373
break;
7474
}
7575
}
@@ -78,22 +78,22 @@ public DateTime GetRegularEventDate(string day)
7878
switch (day)
7979
{
8080
case "Monday":
81-
eventdate = new DateTime(today.Year, today.Month, today.AddDays(-2).Day);
81+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(-2).Day);
8282
break;
8383
case "Tuesday":
84-
eventdate = new DateTime(today.Year, today.Month, today.AddDays(-1).Day);
84+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(-1).Day);
8585
break;
8686
case "Wednesday":
87-
eventdate = new DateTime(today.Year, today.Month, today.Day);
87+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.Day);
8888
break;
8989
case "Thursday":
90-
eventdate = new DateTime(today.Year, today.Month, today.AddDays(1).Day);
90+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(1).Day);
9191
break;
9292
case "Friday":
93-
eventdate = new DateTime(today.Year, today.Month, today.AddDays(2).Day);
93+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(2).Day);
9494
break;
9595
case "Saturday":
96-
eventdate = new DateTime(today.Year, today.Month, today.AddDays(3).Day);
96+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(3).Day);
9797
break;
9898
}
9999
}
@@ -102,22 +102,22 @@ public DateTime GetRegularEventDate(string day)
102102
switch (day)
103103
{
104104
case "Monday":
105-
eventdate = new DateTime(today.Year, today.Month, today.AddDays(-3).Day);
105+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(-3).Day);
106106
break;
107107
case "Tuesday":
108-
eventdate = new DateTime(today.Year, today.Month, today.AddDays(-2).Day);
108+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(-2).Day);
109109
break;
110110
case "Wednesday":
111-
eventdate = new DateTime(today.Year, today.Month, today.AddDays(-1).Day);
111+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(-1).Day);
112112
break;
113113
case "Thursday":
114-
eventdate = new DateTime(today.Year, today.Month, today.Day);
114+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.Day);
115115
break;
116116
case "Friday":
117-
eventdate = new DateTime(today.Year, today.Month, today.AddDays(1).Day);
117+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(1).Day);
118118
break;
119119
case "Saturday":
120-
eventdate = new DateTime(today.Year, today.Month, today.AddDays(2).Day);
120+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(2).Day);
121121
break;
122122
}
123123
}
@@ -126,22 +126,46 @@ public DateTime GetRegularEventDate(string day)
126126
switch (day)
127127
{
128128
case "Monday":
129-
eventdate = new DateTime(today.Year, today.Month, today.AddDays(-4).Day);
129+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(-4).Day);
130130
break;
131131
case "Tuesday":
132-
eventdate = new DateTime(today.Year, today.Month, today.AddDays(-3).Day);
132+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(-3).Day);
133133
break;
134134
case "Wednesday":
135-
eventdate = new DateTime(today.Year, today.Month, today.AddDays(-2).Day);
135+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(-2).Day);
136136
break;
137137
case "Thursday":
138-
eventdate = new DateTime(today.Year, today.Month, today.AddDays(-1).Day);
138+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(-1).Day);
139139
break;
140140
case "Friday":
141-
eventdate = new DateTime(today.Year, today.Month, today.Day);
141+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.Day);
142142
break;
143143
case "Saturday":
144-
eventdate = new DateTime(today.Year, today.Month, today.AddDays(1).Day);
144+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(1).Day);
145+
break;
146+
}
147+
}
148+
else if (dayofweek.Equals(DayOfWeek.Saturday))
149+
{
150+
switch (day)
151+
{
152+
case "Monday":
153+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(-5).Day);
154+
break;
155+
case "Tuesday":
156+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(-4).Day);
157+
break;
158+
case "Wednesday":
159+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(-3).Day);
160+
break;
161+
case "Thursday":
162+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(-2).Day);
163+
break;
164+
case "Friday":
165+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(-1).Day);
166+
break;
167+
case "Saturday":
168+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.Day);
145169
break;
146170
}
147171
}
@@ -150,22 +174,22 @@ public DateTime GetRegularEventDate(string day)
150174
switch (day)
151175
{
152176
case "Monday":
153-
eventdate = new DateTime(today.Year, today.Month, today.AddDays(-5).Day);
177+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(-6).Day);
154178
break;
155179
case "Tuesday":
156-
eventdate = new DateTime(today.Year, today.Month, today.AddDays(-4).Day);
180+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(-5).Day);
157181
break;
158182
case "Wednesday":
159-
eventdate = new DateTime(today.Year, today.Month, today.AddDays(-3).Day);
183+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(-4).Day);
160184
break;
161185
case "Thursday":
162-
eventdate = new DateTime(today.Year, today.Month, today.AddDays(-2).Day);
186+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(-3).Day);
163187
break;
164188
case "Friday":
165-
eventdate = new DateTime(today.Year, today.Month, today.AddDays(-1).Day);
189+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(-2).Day);
166190
break;
167191
case "Saturday":
168-
eventdate = new DateTime(today.Year, today.Month, today.Day);
192+
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(-1).Day);
169193
break;
170194
}
171195
}

Zenergy/Zenergy/Zenergy.csproj

+1
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,7 @@
250250
<Compile Include="Global.asax.cs">
251251
<DependentUpon>Global.asax</DependentUpon>
252252
</Compile>
253+
<Compile Include="Models\EventDateModel.cs" />
253254
<Compile Include="Models\EventModel.cs" />
254255
<Compile Include="Models\EventRegistrationByEventModel.cs" />
255256
<Compile Include="Models\EventRegistrationModel.cs" />

0 commit comments

Comments
 (0)