Example #1
0
 public OnlineUser Create([FromBody] LogInUserMsg userInfo)
 {
     if (ModelState.IsValid)
     {
         return(_dataAccessProvider.AddOnlineUserRecord(userInfo));
     }
     return(_dataAccessProvider.AddOnlineUserRecord(userInfo));
 }
Example #2
0
        /*
         * Description:Adds an online user to OnlineUser table
         * Params:Login message with the credentials to be validated
         * Output:Succes, Bad Password, Not registered message
         */
        public OnlineUser AddOnlineUserRecord(LogInUserMsg userInfo)
        {
            OnlineUser onlineUser          = new OnlineUser();
            bool       verifiedCredentials = Connector.checkUserPass(userInfo.username, userInfo.passwordHash);

            if (_context.athletes.Any(a => a.username == userInfo.username))
            {
                string id_athlete = _context.athletes.Where(a => a.username == userInfo.username).Select(u => u.id).SingleOrDefault();
                if (verifiedCredentials)
                {
                    if (_context.onlineusers.Any(ou => ou.id_athlete_fk == id_athlete))
                    {
                        var entity = _context.onlineusers.FirstOrDefault(ou => ou.id_athlete_fk == id_athlete);
                        return(entity);
                    }
                    else
                    {
                        onlineUser.id_athlete_fk = id_athlete;

                        onlineUser.token = TokenManager.generateToken(12);
                        _context.onlineusers.Add(onlineUser);
                        _context.SaveChanges();
                        return(onlineUser);
                    }
                }
                else
                {
                    onlineUser.token = "BadPassword";
                    return(onlineUser);
                }
            }
            else if (_context.organizers.Any(o => o.username == userInfo.username))
            {
                string id_organizer = _context.organizers.Where(o => o.username == userInfo.username).Select(u => u.id).SingleOrDefault();
                if (verifiedCredentials)
                {
                    if (_context.onlineusers.Any(ou => ou.id_organizer_fk == id_organizer))
                    {
                        var entity = _context.onlineusers.FirstOrDefault(ou => ou.id_organizer_fk == id_organizer);
                        return(entity);
                    }
                    else
                    {
                        onlineUser.id_organizer_fk = id_organizer;
                        onlineUser.token           = TokenManager.generateToken(12);
                        _context.onlineusers.Add(onlineUser);
                        _context.SaveChanges();
                        return(onlineUser);
                    }
                }
                else
                {
                    onlineUser.token = "BadPassword";
                    return(onlineUser);
                }
            }
            else
            {
                Console.WriteLine("NotRegistered");
                onlineUser.token = "NotRegistered";
                return(onlineUser);
            }
        }