Skip to content

Commit cb18564

Browse files
committed
get event registrations by event ok et rapide
1 parent 8e63ea4 commit cb18564

File tree

4 files changed

+56
-187
lines changed

4 files changed

+56
-187
lines changed

Zenergy/Zenergy/Controllers/ApiControllers/eventRegistrationsController.cs

+44-9
Original file line numberDiff line numberDiff line change
@@ -22,28 +22,63 @@ public class eventRegistrationsController : ApiController
2222

2323
// GET: api/events
2424
[HttpGet]
25-
[Route("api/events")]
25+
[Route("api/eventregistrations")]
2626
[Authorize(Roles = "Admin, Manager")]
27-
public IQueryable<@event> GetAllEventRegistrations()
27+
[ResponseType(typeof(EventRegistrationModel))]
28+
public async Task<List<EventRegistrationModel>> GetAllEventRegistrations()
2829
{
29-
return db.@event.Where(e => e.user.Count != 0);
30+
var registeredUsers = await db.user.Where(u => u.@event.Count != 0).ToListAsync();
31+
var events = new List<EventRegistrationModel>();
32+
if (registeredUsers.Any())
33+
{
34+
foreach (user registeredUser in registeredUsers)
35+
{
36+
foreach (@event evt in registeredUser.@event)
37+
{
38+
var myevent = new EventRegistrationModel()
39+
{
40+
eventId = evt.eventId,
41+
eventname = evt.eventName,
42+
userId = registeredUser.userId,
43+
username = string.Format("{0} {1}", registeredUser.firstname, registeredUser.lastname)
44+
};
45+
events.Add(myevent);
46+
}
47+
}
48+
}
49+
return events;
50+
3051
}
3152

3253

3354
//GET: api/events/GetRegistrationsByEvent?eventId=1
3455
[HttpGet]
35-
[ResponseType(typeof(EventRegistrationModel))]
56+
[ResponseType(typeof(EventRegistrationByEventModel))]
3657
[Authorize(Roles = "Admin, Manager")]
3758
[Route("api/eventsregistration/{eventId}")]
3859
public async Task<IHttpActionResult> GetRegistrationsByEvent(int eventId)
3960
{
40-
var myEvent = db.@event.Where(e => e.eventId == eventId && e.user.Count != 0);
41-
if (!myEvent.Any())
61+
var myEvent = db.@event.Where(e => e.eventId == eventId && e.user.Count != 0).FirstOrDefaultAsync().Result;
62+
if (myEvent == null)
4263
{
43-
return NotFound();
64+
return BadRequest("There are not registration to this event yet or event does not exist.");
65+
}
66+
67+
var registrations = new EventRegistrationByEventModel() { eventId = myEvent.eventId, eventname = myEvent.eventName, registeredUsers = new List<RegisteredUser>() };
68+
69+
var users = myEvent.user.ToList();
70+
foreach(user usr in users)
71+
{
72+
var registeredUser = new RegisteredUser()
73+
{
74+
userId = usr.userId,
75+
firstname = usr.firstname,
76+
lastname = usr.lastname
77+
};
78+
registrations.registeredUsers.Add(registeredUser);
4479
}
45-
var registeredUsers = myEvent.FirstAsync().Result.user.ToList();
46-
return Ok(new EventRegistrationByEventModel() { eventId = eventId, registeredUsers = registeredUsers });
80+
81+
return Ok(registrations);
4782
}
4883

4984

Zenergy/Zenergy/Models/EventModel.cs

+1-177
Original file line numberDiff line numberDiff line change
@@ -19,183 +19,7 @@ public class EventModel
1919

2020
public DateTime eventDate { get; set; }
2121

22-
public DateTime GetRegularEventDate(string day, DateTime myDate)
23-
{
24-
// var myDate = DateTime.myDate;
25-
var dayofweek = myDate.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(myDate.Year, myDate.Month, myDate.Day);
34-
break;
35-
case "Tuesday":
36-
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(1).Day);
37-
break;
38-
case "Wednesday":
39-
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(2).Day);
40-
break;
41-
case "Thursday":
42-
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(3).Day);
43-
break;
44-
case "Friday":
45-
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(4).Day);
46-
break;
47-
case "Saturday":
48-
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.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(myDate.Year, myDate.Month, myDate.AddDays(-1).Day);
58-
break;
59-
case "Tuesday":
60-
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.Day);
61-
break;
62-
case "Wednesday":
63-
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(1).Day);
64-
break;
65-
case "Thursday":
66-
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(2).Day);
67-
break;
68-
case "Friday":
69-
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(3).Day);
70-
break;
71-
case "Saturday":
72-
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.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(myDate.Year, myDate.Month, myDate.AddDays(-2).Day);
82-
break;
83-
case "Tuesday":
84-
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(-1).Day);
85-
break;
86-
case "Wednesday":
87-
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.Day);
88-
break;
89-
case "Thursday":
90-
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(1).Day);
91-
break;
92-
case "Friday":
93-
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(2).Day);
94-
break;
95-
case "Saturday":
96-
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.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(myDate.Year, myDate.Month, myDate.AddDays(-3).Day);
106-
break;
107-
case "Tuesday":
108-
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(-2).Day);
109-
break;
110-
case "Wednesday":
111-
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(-1).Day);
112-
break;
113-
case "Thursday":
114-
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.Day);
115-
break;
116-
case "Friday":
117-
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(1).Day);
118-
break;
119-
case "Saturday":
120-
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.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(myDate.Year, myDate.Month, myDate.AddDays(-4).Day);
130-
break;
131-
case "Tuesday":
132-
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(-3).Day);
133-
break;
134-
case "Wednesday":
135-
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(-2).Day);
136-
break;
137-
case "Thursday":
138-
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(-1).Day);
139-
break;
140-
case "Friday":
141-
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.Day);
142-
break;
143-
case "Saturday":
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);
169-
break;
170-
}
171-
}
172-
else
173-
{
174-
switch (day)
175-
{
176-
case "Monday":
177-
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(-6).Day);
178-
break;
179-
case "Tuesday":
180-
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(-5).Day);
181-
break;
182-
case "Wednesday":
183-
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(-4).Day);
184-
break;
185-
case "Thursday":
186-
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(-3).Day);
187-
break;
188-
case "Friday":
189-
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(-2).Day);
190-
break;
191-
case "Saturday":
192-
eventdate = new DateTime(myDate.Year, myDate.Month, myDate.AddDays(-1).Day);
193-
break;
194-
}
195-
}
196-
return eventdate;
197-
}
198-
22+
19923
}
20024

20125

Zenergy/Zenergy/Models/EventRegistrationByEventModel.cs

+9-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,14 @@ namespace Zenergy.Models
88
public class EventRegistrationByEventModel
99
{
1010
public int eventId { get; set; }
11-
public List<user> registeredUsers { get; set; }
11+
public string eventname { get; set; }
12+
public List<RegisteredUser> registeredUsers { get; set; }
13+
}
14+
15+
public class RegisteredUser
16+
{
17+
public int userId { get; set; }
18+
public string firstname { get; set; }
19+
public string lastname { get; set; }
1220
}
1321
}

Zenergy/Zenergy/Models/EventRegistrationModel.cs

+2
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,7 @@ public class EventRegistrationModel
99
{
1010
public int eventId { get; set; }
1111
public int userId { get; set; }
12+
public string eventname { get; set; }
13+
public string username { get; set; }
1214
}
1315
}

0 commit comments

Comments
 (0)