/// <summary>
        /// Creates a MobileToken and inserts it into the database.
        /// </summary>
        /// <param name="token">MobileToken to be created.</param>
        /// <returns>The created MobileToken.</returns>
        public MobileToken Create(MobileToken token)
        {
            var randomToken = GenerateToken();

            //Check if tokens exists
            var exists = true;

            while (exists)
            {
                if (_repo.AsQueryable().Any(x => x.Token.Equals(randomToken)))
                {
                    randomToken = GenerateToken();
                }
                else
                {
                    exists = false;
                }
            }

            token.Token  = randomToken;
            token.Guid   = Guid.NewGuid();
            token.Status = MobileTokenStatus.Created;

            if (token.Status == MobileTokenStatus.Created)
            {
                token.StatusToPresent = "Oprettet";
            }

            if (token.Status == MobileTokenStatus.Activated)
            {
                token.StatusToPresent = "Aktiveret";
            }

            var createdToken = _repo.Insert(token);

            _repo.Save();

            var _dmzTokenRepo = new GenericDmzRepository <Token>(new DmzContext());

            var dmzToken = new Token
            {
                Status      = (int)createdToken.Status,
                GuId        = createdToken.Guid.ToString(),
                TokenString = createdToken.Token,
                ProfileId   = createdToken.PersonId,
            };

            dmzToken = Encryptor.EncryptToken(dmzToken);
            _dmzTokenRepo.Insert(dmzToken);
            _dmzTokenRepo.Save();

            return(createdToken);
        }
        /// <summary>
        /// Deletes the MobileToken
        /// </summary>
        /// <param name="token">MobileToken to be deleted.</param>
        /// <returns>True if successfull, otherwise false.</returns>
        public bool Delete(MobileToken token)
        {
            var id = token.Id;

            _repo.Delete(token);

            _repo.Save();

            if (_repo.AsQueryable().Any(x => x.Id == id))
            {
                return(false);
            }

            return(true);
        }
Esempio n. 3
0
 protected void AsssertEqualEntities(MobileToken m1, MobileToken m2)
 {
     Assert.AreEqual(m1.Id, m2.Id, "ID of two mobile tokens does not match");
     Assert.AreEqual(m1.Token, m2.Token, "Token of two mobile tokens does not match");
     Assert.AreEqual(m1.Status, m2.Status, "Status of two mobile tokens does not match");
 }