Exemplo n.º 1
0
        public async Task <IActionResult> cancleEventSignUp(int eventId, int userId)
        {
            // create object for weatherForecast controller
            var weatherObj = new ExternalServicesController();

            try
            {
                // get event details by Id

                var ev = dbContext.Events.SingleOrDefault(a => a.EventId == eventId);
                // get details of user by id

                var usr = dbContext.Users.SingleOrDefault(a => a.UserId == userId);
                // fetch the participant  for given event
                var userevent = await dbContext.UserEvents.FirstOrDefaultAsync(c => c.EventId == eventId& c.GuestId == userId);

                // send 404 if not found
                if (userevent == null)
                {
                    return(NotFound("Event not Found"));
                }
                //delete the userEvent
                dbContext.UserEvents.Remove(userevent);
                await dbContext.SaveChangesAsync();

                // send email to user
                weatherObj.SendEmail(usr.EmailAddress, usr.FirstName, ev.EventName, "unsubscribed").Wait();
                Response.Headers.Add("status", "event Cancelled Successfully");
                return(Ok(new { message = "Event canceled successfully" }));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
Exemplo n.º 2
0
        public async Task <IActionResult> postEventsByUser([FromBody] addevent ue)
        {
            // create object for weatherForecast controller
            var weatherObj = new ExternalServicesController();


            try
            {
                // get event details by Id

                var ev = dbContext.Events.SingleOrDefault(a => a.EventId == ue.EventId);
                // get event date from event id
                DateTime evDate = ev.DateTime;

                // get details of user by id

                var usr = dbContext.Users.SingleOrDefault(a => a.UserId == ue.GuestId);
                //if event is having past date show error
                if (evDate < DateTime.Today)
                {
                    return(BadRequest("Event is past and already done"));
                }
                // check if user has already signed up
                var eventExist = await dbContext.UserEvents.SingleOrDefaultAsync(c => c.GuestId == ue.GuestId& c.EventId == ue.EventId);

                //if event is already signed up by user send error
                if (eventExist != null)
                {
                    return(BadRequest("User has already signed up for the event"));
                }

                Guid g = Guid.NewGuid();
                // post userevent details to table and return RFIDTag
                var userevent = new UserEvents
                {
                    GuestId   = ue.GuestId,
                    EventId   = ue.EventId,
                    RFIDTagId = g.ToString()
                };
                // save details to database
                dbContext.UserEvents.Add(userevent);
                await dbContext.SaveChangesAsync();

                // send email to user
                weatherObj.SendEmail(usr.EmailAddress, usr.FirstName, ev.EventName, "registered").Wait();
                // add custome header
                Response.Headers.Add("RFID", userevent.RFIDTagId);
                return(Ok(new { RFID = userevent.RFIDTagId }));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }