Skip to content

Commit 4bc5e8f

Browse files
committed
juste pour pouvoir pull
1 parent 7f8ec03 commit 4bc5e8f

File tree

3 files changed

+239
-1
lines changed

3 files changed

+239
-1
lines changed

Diff for: Zenergy/Zenergy/Controllers/ApiControllers/eventRegistrationsController.cs

+60
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,66 @@ public IOrderedQueryable<@event> SortEventsByActivity()
5757
}
5858

5959

60+
[HttpGet]
61+
[ResponseType(typeof(List<EventModel>))]
62+
[Route("api/events/bydate/{datefilter}")]
63+
[Authorize(Roles = "Manager, Member")]
64+
public async Task<IHttpActionResult> SortEventsByDate(string filter)
65+
{
66+
var datefilter = DateTime.Parse(filter.Replace("!",":"));
67+
var sortedEvents = new List<EventModel>();
68+
//Sorting punctual events;
69+
var punctualEvents = await db.ponctualEvent.Where(pe => pe.eventDate == datefilter).ToListAsync();
70+
if (punctualEvents.Any())
71+
{
72+
foreach (ponctualEvent pe in punctualEvents)
73+
{
74+
//creating EventModel from punctaul events
75+
var eventmodel = new EventModel()
76+
{
77+
eventId = pe.eventId,
78+
activityId = pe.@event.activityId,
79+
eventDate = pe.eventDate.Value,
80+
eventDescription = pe.@event.eventDescription,
81+
eventDurationHours = pe.@event.eventDurationHours,
82+
eventMaxPeople = pe.@event.eventMaxPeople,
83+
eventName = pe.@event.eventName,
84+
eventPrice = pe.@event.eventPrice,
85+
roomId = pe.@event.roomId
86+
};
87+
sortedEvents.Add(eventmodel);
88+
}
89+
}
90+
91+
//sorting regular events
92+
var regularEvents = await db.regularEvent.ToListAsync();
93+
if (regularEvents.Any())
94+
{
95+
foreach (regularEvent re in regularEvents)
96+
{
97+
//creating EventModel from punctaul events
98+
var eventmodel = new EventModel();
99+
var eventdate = eventmodel.GetRegularEventDate(re.dateDay);
100+
if (eventdate.Equals(datefilter))
101+
{
102+
eventmodel.eventDate = eventdate;
103+
eventmodel.eventId = re.eventId;
104+
eventmodel.activityId = re.@event.activityId;
105+
eventmodel.eventDescription = re.@event.eventDescription;
106+
eventmodel.eventDurationHours = re.@event.eventDurationHours;
107+
eventmodel.eventMaxPeople = re.@event.eventMaxPeople;
108+
eventmodel.eventName = re.@event.eventName;
109+
eventmodel.eventPrice = re.@event.eventPrice;
110+
eventmodel.roomId = re.@event.roomId;
111+
sortedEvents.Add(eventmodel);
112+
}
113+
}
114+
}
115+
return Ok(sortedEvents);
116+
}
117+
118+
119+
60120
[HttpGet]
61121
[ResponseType(typeof(@event))]
62122
[Route("api/users/{userId}/events")]

Diff for: Zenergy/Zenergy/Models/EventModel.cs

+178
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,178 @@
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 EventModel
9+
{
10+
public int eventId { get; set; }
11+
public int roomId { get; set; }
12+
public int activityId { get; set; }
13+
public string eventName { get; set; }
14+
public Nullable<decimal> eventPrice { get; set; }
15+
public Nullable<decimal> eventDurationHours { get; set; }
16+
public Nullable<int> eventMaxPeople { get; set; }
17+
public string eventDescription { get; set; }
18+
public Nullable<System.TimeSpan> timeBegin { get; set; }
19+
20+
public DateTime eventDate { get; set; }
21+
22+
public DateTime GetRegularEventDate(string day)
23+
{
24+
var today = DateTime.Today;
25+
var dayofweek = today.DayOfWeek;
26+
var eventdate = new DateTime();
27+
28+
if (dayofweek.Equals(DayOfWeek.Monday))
29+
{
30+
switch (day)
31+
{
32+
case "Monday":
33+
eventdate = new DateTime(today.Year, today.Month, today.Day);
34+
break;
35+
case "Tuesday":
36+
eventdate = new DateTime(today.Year, today.Month, today.AddDays(1).Day);
37+
break;
38+
case "Wednesday":
39+
eventdate = new DateTime(today.Year, today.Month, today.AddDays(2).Day);
40+
break;
41+
case "Thursday":
42+
eventdate = new DateTime(today.Year, today.Month, today.AddDays(3).Day);
43+
break;
44+
case "Friday":
45+
eventdate = new DateTime(today.Year, today.Month, today.AddDays(4).Day);
46+
break;
47+
case "Saturday":
48+
eventdate = new DateTime(today.Year, today.Month, today.AddDays(5).Day);
49+
break;
50+
}
51+
}
52+
else if (dayofweek.Equals(DayOfWeek.Tuesday))
53+
{
54+
switch (day)
55+
{
56+
case "Monday":
57+
eventdate = new DateTime(today.Year, today.Month, today.AddDays(-1).Day);
58+
break;
59+
case "Tuesday":
60+
eventdate = new DateTime(today.Year, today.Month, today.Day);
61+
break;
62+
case "Wednesday":
63+
eventdate = new DateTime(today.Year, today.Month, today.AddDays(1).Day);
64+
break;
65+
case "Thursday":
66+
eventdate = new DateTime(today.Year, today.Month, today.AddDays(2).Day);
67+
break;
68+
case "Friday":
69+
eventdate = new DateTime(today.Year, today.Month, today.AddDays(3).Day);
70+
break;
71+
case "Saturday":
72+
eventdate = new DateTime(today.Year, today.Month, today.AddDays(4).Day);
73+
break;
74+
}
75+
}
76+
else if (dayofweek.Equals(DayOfWeek.Wednesday))
77+
{
78+
switch (day)
79+
{
80+
case "Monday":
81+
eventdate = new DateTime(today.Year, today.Month, today.AddDays(-2).Day);
82+
break;
83+
case "Tuesday":
84+
eventdate = new DateTime(today.Year, today.Month, today.AddDays(-1).Day);
85+
break;
86+
case "Wednesday":
87+
eventdate = new DateTime(today.Year, today.Month, today.Day);
88+
break;
89+
case "Thursday":
90+
eventdate = new DateTime(today.Year, today.Month, today.AddDays(1).Day);
91+
break;
92+
case "Friday":
93+
eventdate = new DateTime(today.Year, today.Month, today.AddDays(2).Day);
94+
break;
95+
case "Saturday":
96+
eventdate = new DateTime(today.Year, today.Month, today.AddDays(3).Day);
97+
break;
98+
}
99+
}
100+
else if (dayofweek.Equals(DayOfWeek.Thursday))
101+
{
102+
switch (day)
103+
{
104+
case "Monday":
105+
eventdate = new DateTime(today.Year, today.Month, today.AddDays(-3).Day);
106+
break;
107+
case "Tuesday":
108+
eventdate = new DateTime(today.Year, today.Month, today.AddDays(-2).Day);
109+
break;
110+
case "Wednesday":
111+
eventdate = new DateTime(today.Year, today.Month, today.AddDays(-1).Day);
112+
break;
113+
case "Thursday":
114+
eventdate = new DateTime(today.Year, today.Month, today.Day);
115+
break;
116+
case "Friday":
117+
eventdate = new DateTime(today.Year, today.Month, today.AddDays(1).Day);
118+
break;
119+
case "Saturday":
120+
eventdate = new DateTime(today.Year, today.Month, today.AddDays(2).Day);
121+
break;
122+
}
123+
}
124+
else if (dayofweek.Equals(DayOfWeek.Friday))
125+
{
126+
switch (day)
127+
{
128+
case "Monday":
129+
eventdate = new DateTime(today.Year, today.Month, today.AddDays(-4).Day);
130+
break;
131+
case "Tuesday":
132+
eventdate = new DateTime(today.Year, today.Month, today.AddDays(-3).Day);
133+
break;
134+
case "Wednesday":
135+
eventdate = new DateTime(today.Year, today.Month, today.AddDays(-2).Day);
136+
break;
137+
case "Thursday":
138+
eventdate = new DateTime(today.Year, today.Month, today.AddDays(-1).Day);
139+
break;
140+
case "Friday":
141+
eventdate = new DateTime(today.Year, today.Month, today.Day);
142+
break;
143+
case "Saturday":
144+
eventdate = new DateTime(today.Year, today.Month, today.AddDays(1).Day);
145+
break;
146+
}
147+
}
148+
else
149+
{
150+
switch (day)
151+
{
152+
case "Monday":
153+
eventdate = new DateTime(today.Year, today.Month, today.AddDays(-5).Day);
154+
break;
155+
case "Tuesday":
156+
eventdate = new DateTime(today.Year, today.Month, today.AddDays(-4).Day);
157+
break;
158+
case "Wednesday":
159+
eventdate = new DateTime(today.Year, today.Month, today.AddDays(-3).Day);
160+
break;
161+
case "Thursday":
162+
eventdate = new DateTime(today.Year, today.Month, today.AddDays(-2).Day);
163+
break;
164+
case "Friday":
165+
eventdate = new DateTime(today.Year, today.Month, today.AddDays(-1).Day);
166+
break;
167+
case "Saturday":
168+
eventdate = new DateTime(today.Year, today.Month, today.Day);
169+
break;
170+
}
171+
}
172+
return eventdate;
173+
}
174+
175+
}
176+
177+
178+
}

Diff for: Zenergy/Zenergy/Zenergy.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,6 @@
176176
</Reference>
177177
</ItemGroup>
178178
<ItemGroup>
179-
180179
<Compile Include="Controllers\ApiControllers\activitiesController.cs" />
181180
<Compile Include="Controllers\ApiControllers\adminsController.cs" />
182181
<Compile Include="Controllers\ApiControllers\categoriesController.cs" />
@@ -251,6 +250,7 @@
251250
<Compile Include="Global.asax.cs">
252251
<DependentUpon>Global.asax</DependentUpon>
253252
</Compile>
253+
<Compile Include="Models\EventModel.cs" />
254254
<Compile Include="Models\EventRegistrationByEventModel.cs" />
255255
<Compile Include="Models\EventRegistrationModel.cs" />
256256
<Compile Include="Models\manager.cs">

0 commit comments

Comments
 (0)