//Add new event //Input: NewEventDTO //Output: EventDTO static public EventDTO AddEvent(NewEventDTO eventToAdd) { SwapDbConnection db = new SwapDbConnection(); Event myEvent; place place = db.places.FirstOrDefault(p => p.place_id == eventToAdd.place.place_id); if (place != null) { if (place.business != null || place.Event != null) { return(null); } place.name = eventToAdd.place.name; place.description = eventToAdd.place.description; } myEvent = new Event { end_date = eventToAdd.end_date, start_date = eventToAdd.start_date, place_id = eventToAdd.place.place_id, price = eventToAdd.price, place = place ?? new place { place_id = eventToAdd.place.place_id, country = eventToAdd.place.country ?? "", creation_date = DateTime.Now, description = eventToAdd.place.description, name = eventToAdd.place.name, post_code = eventToAdd.place.post_code, settlement = eventToAdd.place.settlement, state = eventToAdd.place.state, street_number = eventToAdd.place.street_number ?? "", street = eventToAdd.place.street, latitude = eventToAdd.place.latitude, longitude = eventToAdd.place.longitude, } }; db.Events.Add(myEvent); db.SaveChanges(); return(new EventDTO { country = myEvent.place.country ?? "", description = myEvent.place.description ?? "", end_date = myEvent.end_date, name = myEvent.place.name ?? "", place_id = myEvent.place_id, post_code = myEvent.place.post_code ?? "", price = myEvent.price, settlement = myEvent.place.settlement ?? "", start_date = myEvent.start_date, state = myEvent.place.state ?? "", street = myEvent.place.street ?? "", street_number = myEvent.place.street_number ?? "" }); }
public HttpResponseMessage AddEvent(NewEventDTO eventToAdd) { try { if (string.IsNullOrEmpty(eventToAdd.place.place_id) || eventToAdd.place == null) { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Illegal parameters")); } EventDTO newEvent = AdminService.AddEvent(eventToAdd); if (newEvent == null) { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Event or place exists")); } return(Request.CreateResponse(HttpStatusCode.OK, newEvent)); } catch (Exception e) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, "There was an InternalServerError: " + e)); } }