Example #1
0
 void handlePPDogEvent(PPEvent eventName, Dog dog)
 {
     if (eventName == PPEvent.ScoutingDogLoaded)
     {
         SendToSlot(dog, dog.ScoutingIndex);
     }
 }
Example #2
0
        public async Task <IActionResult> Update([FromHeader] string authToken, string id, PPEventUpdate update)
        {
            if (!await _authenticationService.CheckAccess(authToken, "ppEventMgr"))
            {
                return(Unauthorized());
            }

            var ppEvent = await _ppEventService.Get(id);

            if (ppEvent == null)
            {
                return(NotFound());
            }

            _ppEventService.Update(ppEvent, update);

            await _logService.Create(new Log(
                                         null,
                                         AuthenticationHelpers.GetUserIdFromToken(authToken),
                                         DateTime.UtcNow,
                                         "Document modified.",
                                         "pp.events",
                                         id,
                                         JsonSerializer.Serialize(PPEvent.FromUpdate(ppEvent, update))
                                         ));

            return(Ok());
        }
Example #3
0
        public async Task <PPEvent> Create(PPEventCreate create)
        {
            var ppEvent = PPEvent.FromCreate(create);
            await _ppEvents.InsertOneAsync(ppEvent);

            return(ppEvent);
        }
Example #4
0
        public async Task <ActionResult <List <User> > > Get([FromHeader] string authToken)
        {
            string userId = AuthenticationHelpers.GetUserIdFromToken(authToken);

            User user = await _userService.Get(userId);

            if (user.ProPoints != null)
            {
                List <Dictionary <string, object> > eventsAttended = new List <Dictionary <string, object> >();

                foreach (PPUserEntry entry in user.ProPoints)
                {
                    Dictionary <string, object> userEntry = new Dictionary <string, object>();
                    PPEvent eventt = await _ppEventService.Get(entry.EventId);

                    userEntry["eventName"]   = eventt.Name;
                    userEntry["checkInUtc"]  = entry.CheckInUtc;
                    userEntry["checkOutUtc"] = entry.CheckOutUtc;
                    userEntry["points"]      = entry.Points;
                    eventsAttended.Add(userEntry);
                }
                return(Ok(eventsAttended));
            }

            return(NotFound());
        }
Example #5
0
 void handlePPDogEvent(PPEvent gameEvent, Dog dog)
 {
     if (gameEvent == PPEvent.ClickDogSlot)
     {
         handleDogSlotClicked(dog);
     }
 }
Example #6
0
 void handlePPDogEvent(PPEvent eventType, Dog dog)
 {
     switch (eventType)
     {
     case PPEvent.DogRedeemedFromScouting:
         addDogToRoom(dog);
         break;
     }
 }
        public async Task <ActionResult> SwipeOut([FromHeader] string authToken, string techId, string eventId)
        {
            if (!await _authenticationService.CheckAccess(authToken, "ppSwipe"))
            {
                return(Unauthorized());
            }

            User user = await _userService.GetByTechId(techId);

            PPEvent ppEvent = await _ppEventService.Get(eventId);

            if (user == null)
            {
                return(NotFound("tech id not found"));
            }

            if (ppEvent == null)
            {
                return(NotFound("pro point event not found"));
            }

            PPUserEntry userEvent = user.ProPoints.Find(entry => entry.EventId == eventId);

            if (userEvent == null)
            {
                return(Problem("user never checked in"));
            }

            if (userEvent.CheckOutUtc != null)
            {
                return(Problem("user already checked out"));
            }

            DateTime now     = DateTime.UtcNow;
            TimeSpan elapsed = now - userEvent.CheckInUtc;
            int      hours   = (int)Math.Round(elapsed.TotalHours);
            int      points  = (hours * ppEvent.HourlyPointRate) + ppEvent.BasePointRate;

            userEvent.CheckOutUtc = now;
            userEvent.Points      = points;

            _userService.Update(user.Id, user);

            await _logService.Create(new Log(
                                         null,
                                         AuthenticationHelpers.GetUserIdFromToken(authToken),
                                         DateTime.UtcNow,
                                         "User checked out for Pro Point Event.",
                                         "auth.users",
                                         user.Id,
                                         JsonSerializer.Serialize(user)
                                         ));

            return(Ok());
        }
Example #8
0
 public static void Event(PPEvent gameEvent, Dog dog, bool isCallback = false)
 {
     if (hasInstance)
     {
         if (Instance.OnPPDogEvent != null)
         {
             Instance.OnPPDogEvent(gameEvent, dog);
         }
         if (Instance.alsoCallPPEventsAsStrings && !isCallback)
         {
             callPPDogEventAsString(gameEvent, dog);
         }
     }
 }
Example #9
0
        public async Task <ActionResult <PPEvent> > Create([FromHeader] string authToken, PPEventCreate create)
        {
            if (!await _authenticationService.CheckAccess(authToken, "ppEventMgr"))
            {
                return(Unauthorized());
            }

            PPEvent created = await _ppEventService.Create(create);

            await _logService.Create(new Log(
                                         null,
                                         AuthenticationHelpers.GetUserIdFromToken(authToken),
                                         DateTime.UtcNow,
                                         "Document created.",
                                         "pp.events",
                                         created.Id,
                                         JsonSerializer.Serialize(created)
                                         ));

            return(Ok(create));
        }
Example #10
0
 static void callPPDogEventAsString(PPEvent gameEvent, Dog dog)
 {
     Event(gameEvent.ToString(), dog, isCallback: true);
 }
Example #11
0
 static void callPPEventAsString(PPEvent gameEvent)
 {
     Event(gameEvent.ToString(), isCallback: true);
 }
Example #12
0
 public async void Update(PPEvent original, PPEventUpdate update) =>
 await _ppEvents.ReplaceOneAsync(ppEvent => ppEvent.Id == original.Id, PPEvent.FromUpdate(original, update));
        public async Task <ActionResult> SwipeIn([FromHeader] string authToken, string techId, string eventId)
        {
            if (!await _authenticationService.CheckAccess(authToken, "ppSwipe"))
            {
                return(Unauthorized());
            }

            User user = await _userService.GetByTechId(techId);

            PPEvent ppEvent = await _ppEventService.Get(eventId);

            if (user == null)
            {
                user = await _userService.Create(new User(
                                                     null,
                                                     techId,
                                                     null,
                                                     null,
                                                     null,
                                                     null,
                                                     null,
                                                     null,
                                                     null,
                                                     null,
                                                     false,
                                                     null,
                                                     null,
                                                     null,
                                                     null,
                                                     null,
                                                     new List <PPUserEntry>(),
                                                     null,
                                                     "Active - ProPoint Account Creation"
                                                     ));

                await _logService.Create(new Log(
                                             null,
                                             AuthenticationHelpers.GetUserIdFromToken(authToken),
                                             DateTime.UtcNow,
                                             "User created for Pro Point Event.",
                                             "auth.users",
                                             user.Id,
                                             JsonSerializer.Serialize(user)
                                             ));

                //return NotFound("tech id not found");
            }

            if (ppEvent == null)
            {
                return(NotFound("pro point event not found"));
            }

            if (user.ProPoints.Find(entry => entry.EventId == eventId) != null)
            {
                return(Problem("user is already checked in"));
            }

            user.ProPoints.Add(new PPUserEntry(
                                   eventId,
                                   DateTime.UtcNow,
                                   null,
                                   null,
                                   "Active"
                                   ));

            _userService.Update(user.Id, user);

            await _logService.Create(new Log(
                                         null,
                                         AuthenticationHelpers.GetUserIdFromToken(authToken),
                                         DateTime.UtcNow,
                                         "User checked in for Pro Point Event.",
                                         "auth.users",
                                         user.Id,
                                         JsonSerializer.Serialize(user)
                                         ));

            return(Ok());
        }