public IHttpActionResult Accept(Guid id) { try { var registration = _registrationRepository.GetById(id); var visitor = _visitorRepository.GetById(registration.Visitor.Id); var eventItem = _eventRepository.GetById(registration.Event.Id); var scan = Scan.Create(DateTime.Now, "Alsnog geaccepteerd", registration); registration.Scans.Add(scan); var body = new CheckinBody() { Name = visitor.Name, City = visitor.City, Email = visitor.Email, NumberOfVisitors = registration.NumberOfVisitors, Postcode = visitor.Postcode, TimeSlot = eventItem.TimeRange.ToString() }; var message = new CheckinMessage() { Status = 200, Description = "Alsnog geaccepteerd" }; var response = new CheckinResponse() { Data = body, Message = message }; registration.Visited = true; _registrationRepository.Update(registration); return(Ok(response)); } catch (Exception) { throw; } }
public IHttpActionResult Checkin(Guid id) { try { var registration = _registrationRepository.GetById(id); if (registration == null) { var message = new CheckinMessage() { Status = 602, Description = "Onbekende ticket" }; var response = new CheckinResponse() { Data = null, Message = message }; return(Content(HttpStatusCode.BadRequest, response)); } var visitor = _visitorRepository.GetById(registration.Visitor.Id); var eventItem = _eventRepository.GetById(registration.Event.Id); var currentDate = DateTime.Now; if (registration.Visited) { var scan = Scan.Create(DateTime.Now, "Ticket is al gebruikt", registration); registration.Scans.Add(scan); _registrationRepository.Update(registration); var body = new CheckinBody() { Name = visitor.Name, City = visitor.City, Email = visitor.Email, NumberOfVisitors = registration.NumberOfVisitors, Postcode = visitor.Postcode, TimeSlot = eventItem.TimeRange.ToString() }; var message = new CheckinMessage() { Status = 601, Description = "Ticket is al gebruikt" }; var response = new CheckinResponse() { Data = body, Message = message }; return(Content(HttpStatusCode.BadRequest, response)); } if (currentDate >= eventItem.TimeRange.Start && currentDate <= eventItem.TimeRange.End) { var scan = Scan.Create(DateTime.Now, "Geaccepteerd", registration); registration.Scans.Add(scan); var body = new CheckinBody() { Name = visitor.Name, City = visitor.City, Email = visitor.Email, NumberOfVisitors = registration.NumberOfVisitors, Postcode = visitor.Postcode, TimeSlot = eventItem.TimeRange.ToString() }; var message = new CheckinMessage() { Status = 200, Description = "Geaccepteerd" }; var response = new CheckinResponse() { Data = body, Message = message }; registration.Visited = true; _registrationRepository.Update(registration); return(Ok(response)); } else { var scan = Scan.Create(DateTime.Now, "Ticket valt buiten de toegestane timeslot", registration); registration.Scans.Add(scan); _registrationRepository.Update(registration); var body = new CheckinBody() { Name = visitor.Name, City = visitor.City, Email = visitor.Email, NumberOfVisitors = registration.NumberOfVisitors, Postcode = visitor.Postcode, TimeSlot = eventItem.TimeRange.ToString() }; var message = new CheckinMessage() { Status = 600, Description = "Ticket valt buiten de toegestane timeslot" }; var response = new CheckinResponse() { Data = body, Message = message }; return(Content(HttpStatusCode.BadRequest, response)); } } catch (Exception) { throw; } }