示例#1
0
        public void RemoveFromDmz(int personId)
        {
            var _dmzAuthRepo = new GenericDmzRepository <UserAuth>(new DmzContext());

            var rows = _dmzAuthRepo.AsQueryable().Where(x => x.ProfileId == personId).ToList();

            _dmzAuthRepo.DeleteRange(rows);
            _dmzAuthRepo.Save();
        }
        /// <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);
        }
示例#3
0
        public AppLogin SyncToDmz(AppLogin appLogin)
        {
            var _dmzAuthRepo = new GenericDmzRepository <UserAuth>(new DmzContext());

            var encryptedLogin = Encryptor.EncryptAppLogin(appLogin);
            var dmzLogin       = new UserAuth
            {
                UserName  = encryptedLogin.UserName,
                GuId      = encryptedLogin.GuId,
                Password  = encryptedLogin.Password,
                ProfileId = encryptedLogin.PersonId,
                Salt      = encryptedLogin.Salt
            };

            _dmzAuthRepo.Insert(dmzLogin);
            _dmzAuthRepo.Save();

            return(encryptedLogin);
        }
        public void DoGPSEncrypt()
        {
            try
            {
                var skipFromId = 0;
                var take       = 10000;

                while (true)
                {
                    var gpsCoordinatesRepo = new GenericDmzRepository <GPSCoordinate>(new DmzContext());

                    var gpsCoordinates = gpsCoordinatesRepo.AsQueryable()
                                         .Where(x => x.Id > skipFromId)
                                         .OrderBy(x => x.Id)
                                         .Take(take)
                                         .ToList();

                    if (!gpsCoordinates.Any())
                    {
                        break;
                    }

                    var decryptedGPSCoordinates = gpsCoordinates.Where(x =>
                                                                       ValidateLatitude(x.Latitude) &&
                                                                       ValidateLongitude(x.Longitude))
                                                  .ToList();

                    bool anyChanges = false;

                    if (decryptedGPSCoordinates.Any())
                    {
                        foreach (var gpsCoordinate in decryptedGPSCoordinates)
                        {
                            try
                            {
                                Encryptor.EncryptGPSCoordinate(gpsCoordinate);
                                anyChanges = true;
                            }
                            catch (Exception ex)
                            {
                                Console.WriteLine($"DoGPSEncrypt, failed to decrypt coordinate: {gpsCoordinate.Id} with exception: {ex}");
                                _logger.Error($"DoGPSEncrypt, failed to decrypt coordinate: {gpsCoordinate.Id}", ex);
                                throw;
                            }
                        }
                    }

                    if (anyChanges)
                    {
                        gpsCoordinatesRepo.Save();
                        Console.WriteLine($"GPSCoordinates between id: {gpsCoordinates.FirstOrDefault().Id} and id: {gpsCoordinates.LastOrDefault().Id} has been encrypted");
                        _logger.Debug($"GPSCoordinates between id: {gpsCoordinates.FirstOrDefault().Id} and id: {gpsCoordinates.LastOrDefault().Id} has been encrypted");
                    }
                    else
                    {
                        Console.WriteLine($"GPSCoordinates between id: {gpsCoordinates.FirstOrDefault().Id} and id: {gpsCoordinates.LastOrDefault().Id} are already encrypted");
                        _logger.Debug($"GPSCoordinates between id: {gpsCoordinates.FirstOrDefault().Id} and id: {gpsCoordinates.LastOrDefault().Id} are already encrypted");
                    }

                    skipFromId = gpsCoordinates.Last().Id;
                }
            }
            catch (Exception)
            {
                throw;
            }
        }