Beispiel #1
0
 public EventAttendanceViewModel(EventAttendance eventAttendance)
 {
     Id             = eventAttendance.Id;
     Event          = new EventViewModel(eventAttendance.EventRef);
     AttendanceType = new AttendanceTypeViewModel(eventAttendance.AttendanceTypeRef);
     Price          = eventAttendance.Price;
 }
Beispiel #2
0
        public EventAttendance Update(EventAttendance dest, EventAttendanceViewModel src)
        {
            dest.Member       = DbContext.Members.Single(m => m.Id == src.Member.Id);
            dest.Attended     = src.Attended;
            dest.ServiceHours = src.ServiceHours;

            return(dest);
        }
 public UserAttendance GetEntity()
 {
     return(new UserAttendance {
         Id = Id,
         EventAttendanceRef = EventAttendance.GetEntity(),
         UserRef = User.GetEntity()
     });
 }
Beispiel #4
0
            public void WhenCreated_CreatedDateShouldBeSetToCurrentTime()
            {
                var now  = DateTime.Now;
                var e    = new EventAttendance("some conversation id", "some name");
                var then = DateTime.Now;

                Assert.IsTrue(e.CreatedDate >= now);
                Assert.IsTrue(e.CreatedDate <= then);
            }
Beispiel #5
0
 public EventAttendanceViewModel Map(EventAttendance src)
 {
     return(new EventAttendanceViewModel
     {
         Member = MemberMapper.Map(src.Member),
         Attended = src.Attended,
         ServiceHours = src.ServiceHours,
     });
 }
Beispiel #6
0
 public MemberAttendanceViewModel Map(EventAttendance src)
 {
     return(new MemberAttendanceViewModel
     {
         Event = EventMapper.Map(src.Event),
         Attended = src.Attended,
         ServiceHours = src.ServiceHours,
     });
 }
Beispiel #7
0
        public void Attend(EventAttendance attendance)
        {
            requireAuthentication();

            RequestParameters p = getParams();
            int i = (int)attendance;

            p["status"] = i.ToString(CultureInfo.InvariantCulture);
            request("event.attend", p);
        }
Beispiel #8
0
        /// <summary>
        /// Set the authenticated user's status for this event.
        /// </summary>
        /// <param name="attendance">
        /// A <see cref="EventAttendance"/>
        /// </param>
        public void SetAttendance(EventAttendance attendance)
        {
            requireAuthentication();

            RequestParameters p = getParams();
            int i = (int)attendance;

            p["status"] = i.ToString();
            request("event.attend", p);
        }
Beispiel #9
0
        public IActionResult AddAttendee(EventAttendance eventAttendance)
        {
            _service.AddAttendee(eventAttendance);

            var model = new EventViewModel
            {
                People      = _service.GetPeople(),
                MeetupEvent = _service.GetMeetupEvent(eventAttendance.MeetupEventId)
            };

            return(PartialView("~/Views/Home/Partial/_eventDetailsPartial.cshtml", model));
        }
Beispiel #10
0
        /// <summary>
        /// Set the authenticated user's status for this event.
        /// </summary>
        /// <param name="attendance">A <see cref="EventAttendance"/></param>
        public void SetAttendance(EventAttendance attendance)
        {
            RequireAuthentication();

            var parameters = GetParams();

            var i = (int)attendance;

            parameters["status"] = i.ToString();

            Request("event.attend", parameters);
        }
 public Option <string> Save(EventAttendance incoming)
 {
     return(TryExecute(db =>
     {
         db.GetCollection <EventAttendance>("events").ReplaceOne(
             e => e.ConversationId == incoming.ConversationId && e.Name == incoming.Name,
             incoming,
             new UpdateOptions {
             IsUpsert = true
         });
     }));
 }
        public async Task <IActionResult> AddNewAttendee(string userId, int eventId)
        {
            ApplicationUser user = await _userManager.FindByIdAsync(userId);

            Event eventSelected = await _context.Events.FirstOrDefaultAsync(e => e.Id == eventId);

            EventAttendanceState eventAttendaceState = await _context.EventAttendanceStates.Where(ea => ea.State == WILL_ATTEND).FirstOrDefaultAsync();

            if ((user is null) || (eventSelected is null))
            {
                return(Ok(new { success = false }));
            }

            EventAttendance eventAttendance = new EventAttendance {
                ApplicationUser        = user,
                ApplicationUserId      = user.Id,
                Event                  = eventSelected,
                EventId                = eventSelected.Id,
                EventAttendanceState   = eventAttendaceState,
                EventAttendanceStateId = eventAttendaceState.Id
            };

            try {
                if (_context.EventAttendances.Any(ea => ((ea.ApplicationUserId == userId) && (ea.EventId == eventSelected.Id))))
                {
                    EventAttendance actualEventAttendace = await _context.EventAttendances.Where(ea => ((ea.ApplicationUserId == userId) && (ea.EventId == eventSelected.Id))).AsNoTracking().FirstOrDefaultAsync();

                    eventAttendance.Id = actualEventAttendace.Id;
                    _context.EventAttendances.Update(eventAttendance);
                }
                else
                {
                    _context.EventAttendances.Add(eventAttendance);
                }
                await _context.SaveChangesAsync();

                _logger.LogInformation($"Usuario {userId} inscrito en evento {eventId}.");
            } catch (Exception e) {
                _logger.LogCritical($"EXCEPCIÓN: {e.Message}");
                return(Ok(new { success = false }));
            }

            var dictionay = new Dictionary <string, string>();

            dictionay.Add("Event New Attendee", eventAttendance.ApplicationUser.Name);
            _telemetryClient.TrackEvent("UserInteraction", dictionay);

            return(Ok(new { success = true }));
        }
Beispiel #13
0
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            EventAttendance = await _context.EventAttendances.FindAsync(id);

            if (EventAttendance == null)
            {
                return(NotFound());
            }
            return(Page());
        }
Beispiel #14
0
        public async Task <IActionResult> OnPostAsync(int id)
        {
            var user = await _userManager.GetUserAsync(User);

            var evnt = await _context.Events.FindAsync(id);

            if (user == null || evnt == null)
            {
                return(NotFound());
            }

            var studentToAdd = await _context.Students.FindAsync(user.Id);

            var exists = await _context.EventAttendances
                         .FirstOrDefaultAsync(x => x.StudentID == studentToAdd.Id &&
                                              x.EventID == evnt.EventID);

            if (studentToAdd == null ||
                exists != null)
            {
                return(Forbid());
            }

            if (await TryUpdateModelAsync <Event>(
                    evnt,
                    "event",
                    e => e.EventID
                    ))
            {
                studentToAdd.priorityRemaining++;
                var eventAtt = new EventAttendance
                {
                    Priority  = studentToAdd.priorityRemaining,
                    Event     = evnt,
                    EventID   = evnt.EventID,
                    Student   = studentToAdd,
                    StudentID = studentToAdd.Id
                };
                await _context.EventAttendances.AddAsync(eventAtt);

                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index"));
        }
Beispiel #15
0
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            EventAttendance = await _context.EventAttendances
                              .Include(e => e.Event)
                              .Include(e => e.Student)
                              .FirstOrDefaultAsync(m => m.EventAttendanceID == id);

            if (EventAttendance == null)
            {
                return(NotFound());
            }
            return(Page());
        }
Beispiel #16
0
        // To protect from overposting attacks, enable the specific properties you want to bind to, for
        // more details, see https://aka.ms/RazorPagesCRUD.
        public async Task <IActionResult> OnPostAsync()
        {
            var emptyEventAttendance = new EventAttendance();

            if (await TryUpdateModelAsync <EventAttendance>(
                    emptyEventAttendance,
                    "eventattendance",
                    e => e.Priority, e => e.Assigned, e => e.Weight, e => e.EventID, e => e.StudentID
                    ))
            {
                _context.EventAttendances.Add(emptyEventAttendance);
                await _context.SaveChangesAsync();

                return(RedirectToPage("./Index"));
            }

            return(Page());
        }
Beispiel #17
0
            public void WhenUserInForTheFirstTime_UserStatusShouldBeDisplayedAsYes()
            {
                var eventName = "some event name";
                var userName  = "******";
                var e         = new EventAttendance("some conversation id", eventName);

                e.In("user1", userName);

                var expected = $"## {eventName}" +
                               2.Lines() + $"Yes ( 1 )" +
                               1.Lines() + $"- {userName}" +
                               2.Lines() + $"No ( 0 )" +
                               1.Lines() +
                               2.Lines() + $"Maybe ( 0 )" +
                               1.Lines();

                Assert.AreEqual(expected, e.ToString());
            }
        public async Task <IActionResult> LeaveMySeat(string userId, int eventId)
        {
            try {
                EventAttendance e = await _context.EventAttendances.FirstOrDefaultAsync(ea => ea.EventId == eventId && ea.ApplicationUserId == userId);

                _context.Remove(e);
                await _context.SaveChangesAsync();
            } catch (Exception e) {
                _logger.LogCritical($"EXCEPCIÓN: {e.Message}");
                return(Json(new { success = false }));
            }

            var dictionay = new Dictionary <string, string>();

            dictionay.Add("Event Leave My Seat", $"userId : {userId}");
            _telemetryClient.TrackEvent("UserInteraction", dictionay);

            return(Json(new { success = true }));
        }
Beispiel #19
0
        public IHttpActionResult EventRSVP(int EventId, short RSVPChoice, string Name, string Email)
        {
            try
            {
                //Inserting the new attendance rec
                EventAttendance ea = new EventAttendance();
                ea.EventId     = EventId;
                ea.UserName    = Name;
                ea.UserEmail   = Email;
                ea.IsAttending = RSVPChoice;
                db.EventAttendance.Add(ea);
                db.SaveChanges();

                return(Ok("Passed"));
            }
            catch
            {
                return(BadRequest("Failed"));
            }
        }
Beispiel #20
0
        public EventAttendance InsertEventAttendance(RSVP rsvp)
        {
            EventAttendance addedEventAttendance = new EventAttendance();

            Boolean exists = _context.EventAttendance.Any(x => x.UserId == rsvp.UserId && x.EventId == rsvp.Event);

            if (exists)
            {
                return(null);
            }

            addedEventAttendance.AttendanceId = 0;
            addedEventAttendance.Event        = _context.Event.Where(x => x.EventId == rsvp.Event).FirstOrDefault();
            addedEventAttendance.UserId       = rsvp.UserId;
            addedEventAttendance.UserTypes    = _context.UserTypes.Where(x => x.UserType.ToLower() == rsvp.UserType.ToLower()).FirstOrDefault();

            _context.EventAttendance.Add(addedEventAttendance);
            _context.SaveChanges();

            return(addedEventAttendance);
        }
        public IHttpActionResult Post([FromBody] CreateEventAttendentModel model)
        {
            var attendance = new EventAttendance
            {
                AttendeeName  = model.AttendeeName,
                UserId        = model.UserId,
                UserType      = model.UserType,
                CompanyName   = model.CompanyName,
                BookingNumber = model.BookingNumber,
                ICNo          = model.ICNo,
                CheckInStatus = model.CheckInStatus,
                EventId       = model.EventId,
                CreatedBy     = model.CreatedBy,
                CreatedDate   = model.CreatedDate,
                Display       = model.Display,
            };

            db.EventAttendance.Add(attendance);
            db.SaveChanges();

            return(Ok(attendance.Id));
        }
Beispiel #22
0
        public async Task <IActionResult> OnPostAsync()
        {
            var attendances = _context.EventAttendances.Select(a => a);

            if (attendances.Count() == 0)
            {
                return(RedirectToPage("./Index"));
            }
            var events   = _context.Events.Select(e => e);
            var students = _context.Students.Select(s => s);

            Lookup LookupTable = new Lookup(events.Count());

            foreach (var evnt in events)
            {
                var attends = attendances.Where(a => a.EventID == evnt.EventID)
                              .Select(a => a);
                var studs = attends.Select(s => s.Student);

                foreach (var record in attends)
                {
                    var stud = studs.Where(s => s.Id == record.StudentID).SingleOrDefault();

                    var one   = Math.Pow(LookupTable.priorityWeights[record.Priority], 2);
                    var two   = Math.Pow(LookupTable.priorityWeights[stud.priorityRemaining], 2);
                    var three = Math.Pow(LookupTable.gradeWeights[stud.GradeLevel], 2);

                    var wght = Math.Sqrt(one + two + three);
                    record.Weight = wght * 1000d;
                }

                var sortAtt = await attends.ToListAsync();

                int n = sortAtt.Count();

                for (int i = 0; i < n - 1; i++)
                {
                    for (int j = 0; j < n - i - 1; j++)
                    {
                        if (sortAtt[j].Weight < sortAtt[j + 1].Weight)
                        {
                            EventAttendance temp = sortAtt[j];
                            sortAtt[j]     = sortAtt[j + 1];
                            sortAtt[j + 1] = temp;
                        }
                    }
                }

                int signed = 0;
                foreach (var record in sortAtt)
                {
                    if (signed < evnt.MaxAttendance)
                    {
                        record.Assigned = true;
                        signed++;
                    }
                    else
                    {
                        var stu = record.Student;
                        if (stu.priorityRemaining > 1)
                        {
                            stu.priorityRemaining--;
                        }
                        //_context.Update(stu);
                        record.Assigned = false;
                    }
                }

                try
                {
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    throw;
                }
            }

            return(RedirectToPage("./Index"));
        }
 public bool AddAttendee(EventAttendance eventAttendance)
 {
     return(_repository.AddAttendee(eventAttendance));
 }
 public bool AddAttendee(EventAttendance eventAttendance)
 {
     // TODO : demonstrate entity changes after insert.
     _context.EventAttendances.Add(eventAttendance);
     return(_context.SaveChanges() == 1);
 }
Beispiel #25
0
        public bool IsAttending(ItemKey member, EventAttendance attendance)
        {
            if (member != null)
            {
                SelectQuery query = EventInvite.GetSelectQueryStub(core, typeof(EventInvite));
                query.AddCondition("event_id", EventId);
                query.AddCondition("item_id", member.Id);
                query.AddCondition("item_type_id", member.TypeId);
                query.AddCondition("item_type_id", (byte)attendance);

                if (db.Query(query).Rows.Count > 0)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
            else
            {
                return false;
            }
        }