Skip to content

Commit 4e95973

Browse files
committed
fixing conflicts
2 parents 5473c88 + 4cb6ce9 commit 4e95973

20 files changed

+896
-12
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;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Data;
4+
using System.Data.Entity;
5+
using System.Data.Entity.Infrastructure;
6+
using System.Linq;
7+
using System.Net;
8+
using System.Net.Http;
9+
using System.Threading.Tasks;
10+
using System.Web.Http;
11+
using System.Web.Http.Description;
12+
using Zenergy.Models;
13+
using Zenergy.Services;
14+
15+
namespace Zenergy.Controllers.ApiControllers
16+
{
17+
[Authorize]
18+
public class activitiesController : ApiController
19+
{
20+
private ZenergyContext db = new ZenergyContext();
21+
private ActivityService activityServices;
22+
23+
public activitiesController()
24+
{
25+
activityServices = new ActivityService(db);
26+
}
27+
28+
// GET: api/activities
29+
public IQueryable<activity> Getactivity()
30+
{
31+
return db.activity;
32+
}
33+
34+
// GET: api/activities/5
35+
[ResponseType(typeof(activity))]
36+
public IHttpActionResult Getactivity(int id)
37+
{
38+
activity activity = db.activity.Find(id);
39+
if (activity == null)
40+
{
41+
return NotFound();
42+
}
43+
44+
return Ok(activity);
45+
}
46+
47+
// GET: api/activities/findByManagerId/5
48+
[Route("api/activities/findByManagerId/{managerId}")]
49+
[HttpGet]
50+
[ResponseType(typeof(activity[]))]
51+
public async Task<IHttpActionResult> findActivitiesByManagerId(int managerId)
52+
{
53+
activity[] activities = await activityServices.findActivitiesByManagerId(managerId);
54+
if (activities == null)
55+
{
56+
return NotFound();
57+
}
58+
59+
return Ok(activities);
60+
}
61+
62+
// PUT: api/activities/5
63+
[ResponseType(typeof(void))]
64+
public IHttpActionResult Putactivity(int id, activity activity)
65+
{
66+
if (!ModelState.IsValid)
67+
{
68+
return BadRequest(ModelState);
69+
}
70+
71+
if (id != activity.activityId)
72+
{
73+
return BadRequest();
74+
}
75+
76+
db.Entry(activity).State = EntityState.Modified;
77+
78+
try
79+
{
80+
db.SaveChanges();
81+
}
82+
catch (DbUpdateConcurrencyException)
83+
{
84+
if (!activityExists(id))
85+
{
86+
return NotFound();
87+
}
88+
else
89+
{
90+
throw;
91+
}
92+
}
93+
94+
return StatusCode(HttpStatusCode.NoContent);
95+
}
96+
97+
// POST: api/activities
98+
[ResponseType(typeof(activity))]
99+
public IHttpActionResult Postactivity(activity activity)
100+
{
101+
if (!ModelState.IsValid)
102+
{
103+
return BadRequest(ModelState);
104+
}
105+
106+
db.activity.Add(activity);
107+
db.SaveChanges();
108+
109+
return CreatedAtRoute("DefaultApi", new { id = activity.activityId }, activity);
110+
}
111+
112+
// DELETE: api/activities/5
113+
[ResponseType(typeof(activity))]
114+
public IHttpActionResult Deleteactivity(int id)
115+
{
116+
activity activity = db.activity.Find(id);
117+
if (activity == null)
118+
{
119+
return NotFound();
120+
}
121+
122+
db.activity.Remove(activity);
123+
db.SaveChanges();
124+
125+
return Ok(activity);
126+
}
127+
128+
protected override void Dispose(bool disposing)
129+
{
130+
if (disposing)
131+
{
132+
db.Dispose();
133+
}
134+
base.Dispose(disposing);
135+
}
136+
137+
private bool activityExists(int id)
138+
{
139+
return db.activity.Count(e => e.activityId == id) > 0;
140+
}
141+
}
142+
}

Zenergy/Zenergy/Controllers/ApiControllers/eventRegistrationsController.cs

+129-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

@@ -57,6 +92,91 @@ public IOrderedQueryable<@event> SortEventsByActivity()
5792
}
5893

5994

95+
[HttpPost]
96+
[ResponseType(typeof(List<EventModel>))]
97+
[Authorize(Roles = "Manager, Member")]
98+
[Route("api/events/bydate")]
99+
public async Task<IHttpActionResult> SortEventsByDate(EventDateModel filter)
100+
{
101+
var datefilter = filter.eventdate;
102+
var sortedEvents = new List<EventModel>();
103+
//Sorting punctual events;
104+
var punctuals = await db.ponctualEvent.ToListAsync();
105+
var punctualEvents = punctuals.Where(pe => pe.eventDate.Value.Date == datefilter.Date);
106+
if (punctualEvents.Any())
107+
{
108+
foreach (ponctualEvent pe in punctualEvents)
109+
{
110+
//creating EventModel from punctaul events
111+
var eventmodel = new EventModel()
112+
{
113+
eventId = pe.eventId,
114+
activityId = pe.@event.activityId,
115+
eventDate = pe.eventDate.Value,
116+
eventDescription = pe.@event.eventDescription,
117+
eventDurationHours = pe.@event.eventDurationHours,
118+
eventMaxPeople = pe.@event.eventMaxPeople,
119+
eventName = pe.@event.eventName,
120+
eventPrice = pe.@event.eventPrice,
121+
roomId = pe.@event.roomId
122+
};
123+
sortedEvents.Add(eventmodel);
124+
}
125+
}
126+
127+
//sorting regular events by day
128+
var regularEvents = new List<regularEvent>();
129+
if (datefilter.DayOfWeek.Equals(DayOfWeek.Monday))
130+
{
131+
regularEvents = await db.regularEvent.Where(re => re.dateDay.Equals("Monday")).ToListAsync();
132+
}
133+
else if (datefilter.Day.Equals(DayOfWeek.Tuesday))
134+
{
135+
regularEvents = await db.regularEvent.Where(re => re.dateDay.Equals("Tuesday")).ToListAsync();
136+
}
137+
else if (datefilter.Day.Equals(DayOfWeek.Wednesday))
138+
{
139+
regularEvents = await db.regularEvent.Where(re => re.dateDay.Equals("Wednesday")).ToListAsync();
140+
}
141+
else if (datefilter.Day.Equals(DayOfWeek.Thursday))
142+
{
143+
regularEvents = await db.regularEvent.Where(re => re.dateDay.Equals("Thursday")).ToListAsync();
144+
}
145+
else if (datefilter.Day.Equals(DayOfWeek.Friday))
146+
{
147+
regularEvents = await db.regularEvent.Where(re => re.dateDay.Equals("Friday")).ToListAsync();
148+
}
149+
else if (datefilter.Day.Equals(DayOfWeek.Saturday))
150+
{
151+
regularEvents = await db.regularEvent.Where(re => re.dateDay.Equals("Saturday")).ToListAsync();
152+
}
153+
154+
if (regularEvents.Any())
155+
{
156+
foreach (regularEvent re in regularEvents)
157+
{
158+
//creating EventModel from punctaul events
159+
var eventmodel = new EventModel();
160+
{
161+
eventmodel.eventDate = datefilter;
162+
eventmodel.eventId = re.eventId;
163+
eventmodel.activityId = re.@event.activityId;
164+
eventmodel.eventDescription = re.@event.eventDescription;
165+
eventmodel.eventDurationHours = re.@event.eventDurationHours;
166+
eventmodel.eventMaxPeople = re.@event.eventMaxPeople;
167+
eventmodel.eventName = re.@event.eventName;
168+
eventmodel.eventPrice = re.@event.eventPrice;
169+
eventmodel.roomId = re.@event.roomId;
170+
}
171+
sortedEvents.Add(eventmodel);
172+
}
173+
}
174+
175+
return Ok(sortedEvents);
176+
}
177+
178+
179+
60180
[HttpGet]
61181
[ResponseType(typeof(@event))]
62182
[Route("api/users/{userId}/events")]

Zenergy/Zenergy/Controllers/ApiControllers/ponctualEventsController.cs

+24
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,12 @@ namespace Zenergy.Controllers.ApiControllers
1717
public class ponctualEventsController : ApiController
1818
{
1919
private ZenergyContext db = new ZenergyContext();
20+
private EventService eventServices;
21+
22+
public ponctualEventsController()
23+
{
24+
eventServices = new EventService(db);
25+
}
2026

2127
// GET: api/ponctualEvents
2228
public IQueryable<ponctualEvent> GetponctualEvent()
@@ -37,7 +43,24 @@ public async Task<IHttpActionResult> GetponctualEvent(int id)
3743
return Ok(ponctualEvent);
3844
}
3945

46+
// GET: api/ponctualEvents/findByManagerId/5
47+
[Route("api/ponctualEvents/findByManagerId/{managerId}")]
48+
[HttpGet]
49+
[ResponseType(typeof(ponctualEvent[]))]
50+
public async Task<IHttpActionResult> findPonctualEventsByManagerId(int managerId)
51+
{
52+
ponctualEvent[] ponctualEvents = await eventServices.findPonctualEventsByManagerId(managerId);
53+
if (ponctualEvents == null)
54+
{
55+
return NotFound();
56+
}
57+
58+
return Ok(ponctualEvents);
59+
}
60+
4061
// PUT: api/ponctualEvents/5
62+
[HttpPut]
63+
[Route("api/ponctualEvents/{id}")]
4164
[ResponseType(typeof(void))]
4265
public async Task<IHttpActionResult> PutponctualEvent(int id, ponctualEvent ponctualEvent)
4366
{
@@ -51,6 +74,7 @@ public async Task<IHttpActionResult> PutponctualEvent(int id, ponctualEvent ponc
5174
return BadRequest();
5275
}
5376

77+
db.Entry(ponctualEvent.@event).State = EntityState.Modified;
5478
db.Entry(ponctualEvent).State = EntityState.Modified;
5579

5680
try

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+
}

0 commit comments

Comments
 (0)