Exemple #1
0
        //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));
     }
 }