Beispiel #1
0
        public int GetLoggedOnTravellerId(string userId)
        {
            //LoginTraveller login = _accountRepository.LoginTravellers.Where( x => x.Id == userId).FirstOrDefault();
            LoginTraveller login = _accountRepository.Find(userId);

            return(login.ForeignTravellerKey);
        }
        public int?GetTravellerId(string email, string securityCode)
        {
            LoginTraveller lt = _dbContext.LoginTravellers.Where(x => x.Id == email && x.SecurityToken == securityCode && x.SecurityTokenExpires > DateTime.Now.ToUniversalTime()).FirstOrDefault();

            if (lt != null)
            {
                return(lt.ForeignTravellerKey);
            }
            return(null);
        }
Beispiel #3
0
        public int?GetTravellerId(string email, string securityCode)
        {
            //LoginTraveller lt = _accountRepository.GetTravellers.Where( x => x.Id == email && x.SecurityToken == securityCode && x.SecurityTokenExpires > DateTime.Now.ToUniversalTime()).FirstOrDefault();
            LoginTraveller lt = _accountRepository.FindByEmailAndSecurityCode(email, securityCode);

            if (lt != null)
            {
                return(lt.ForeignTravellerKey);
            }
            return(null);
        }
Beispiel #4
0
        //-- update the logintraveller with a created-datetime, to indicate that the user is active
        public bool CreateLoginTraveller(string internalId, int foreignTravellerKey)
        {
            //LoginTraveller lt = _accountRepository.LoginTravellers.Where( x => x.Id == internalId && x.ForeignTravellerKey == foreignTravellerKey).FirstOrDefault();
            LoginTraveller lt = _accountRepository.FindByIdAndFK(internalId, foreignTravellerKey);

            if (lt != null)
            {
                lt.CreatedDateTime = DateTime.UtcNow;
                _accountRepository.SaveChanges();
                return(true);
            }
            return(false);
        }
Beispiel #5
0
        public async Task <bool> EmailSecurityCodeToNewUserAsync(string email, string firstname, string returnUrl)
        {
            //-- validate that the email and firstname is to be found in the travellerdetails table
            //-- if yes, generate a new security-token with a time-to-live = 2 hours. Email the
            //-- security token to the email.
            try {
                //-- lookup email and firstname from travellerDetails table
                string securityCode = GenerateSecurityCode();
                var    traveller    = _dapperUnitOfWork.TravellerRepository.GetByEmail(email).Where(x => x.Firstname == firstname).FirstOrDefault();
                if (traveller != null && traveller.Firstname.ToLower() == firstname.ToLower())
                {
                    //-- create or update the LoginTraveller with the new security code
                    DateTime       expiraryDateTime = DateTime.Now.AddHours(2);
                    LoginTraveller lt;
                    //lt = _accountRepository.LoginTravellers.Where( x=> x.ForeignTravellerKey == traveller.TUID).FirstOrDefault();
                    lt = _accountRepository.FindByFK(traveller.TUID);
                    if (lt == null)
                    {
                        lt = new LoginTraveller()
                        {
                            ForeignTravellerKey = traveller.TUID, SecurityToken = securityCode, SecurityTokenExpires = expiraryDateTime, Id = email
                        };
                        _accountRepository.Add(lt);
                    }
                    else
                    {
                        lt.SecurityToken        = securityCode;
                        lt.SecurityTokenExpires = DateTime.Now.AddHours(2).ToUniversalTime();
                    }
                    //--persist the changes to the DB
                    _accountRepository.SaveChanges();

                    //-- lastly, send an email to the new user, with the security-token
                    EmailSecurityTokenToUserAsync(email, securityCode, returnUrl);
                    return(true);
                }
            }
            catch (Exception ex) {
                _logger.LogWarning(ex.Message);
                throw ex;
            }
            return(false);
        }
 public void Add(LoginTraveller entity)
 {
     _dbContext.LoginTravellers.Add(entity);
 }