Esempio n. 1
0
        /// <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 dmzToken = new Token
            {
                Status      = (int)createdToken.Status,
                GuId        = createdToken.Guid.ToString(),
                TokenString = createdToken.Token,
                ProfileId   = createdToken.PersonId,
            };

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

            return(createdToken);
        }
        /// <summary>
        /// Syncs all People from OS2 database to DMZ database.
        /// </summary>
        public void SyncToDmz()
        {
            var i          = 0;
            var personList = _masterPersonRepo.AsQueryable().ToList();
            var max        = personList.Count;

            foreach (var person in personList)
            {
                i++;
                if (i % 10 == 0)
                {
                    Console.WriteLine("Syncing person " + i + " of " + max);
                }

                var dmzPerson = _dmzProfileRepo.AsQueryable().FirstOrDefault(x => x.Id == person.Id);

                var homeAddress = _personService.GetHomeAddress(person);

                var profile = new Profile
                {
                    Id            = person.Id,
                    FirstName     = person.FirstName,
                    LastName      = person.LastName,
                    HomeLatitude  = homeAddress != null ? homeAddress.Latitude : "0",
                    HomeLongitude = homeAddress != null ? homeAddress.Longitude : "0",
                    Initials      = person.Initials,
                    FullName      = person.FullName,
                    IsActive      = person.IsActive
                };

                profile = Encryptor.EncryptProfile(profile);

                if (dmzPerson == null)
                {
                    _dmzProfileRepo.Insert(profile);
                }
                else
                {
                    dmzPerson.FirstName     = profile.FirstName;
                    dmzPerson.LastName      = profile.LastName;
                    dmzPerson.HomeLatitude  = profile.HomeLatitude;
                    dmzPerson.HomeLongitude = profile.HomeLongitude;
                    dmzPerson.Initials      = profile.Initials;
                    dmzPerson.FullName      = profile.FullName;
                    dmzPerson.IsActive      = profile.IsActive;
                }
            }
            _dmzProfileRepo.Save();
            SyncEmployments();
        }
Esempio n. 3
0
        public AppLogin SyncToDmz(AppLogin appLogin)
        {
            var encryptedLogin = Encryptor.EncryptAppLogin(appLogin);
            var dmzLogin       = new UserAuth
            {
                UserName  = encryptedLogin.UserName,
                GuId      = encryptedLogin.GuId,
                Password  = encryptedLogin.Password,
                ProfileId = encryptedLogin.PersonId,
                Salt      = encryptedLogin.Salt
            };

            _dmzUserRepository.Insert(dmzLogin);
            _dmzUserRepository.Save();

            return(encryptedLogin);
        }
        /// <summary>
        /// Syncs all rates from OS2 database to DMZ database.
        /// </summary>
        public void SyncToDmz()
        {
            var i           = 0;
            var currentYear = DateTime.Now.Year;
            var rateList    = _masterRateRepo.AsQueryable().Where(x => x.Active && x.Year == currentYear).ToList();
            var max         = rateList.Count;

            foreach (var masterRate in rateList)
            {
                i++;
                if (i % 10 == 0)
                {
                    Console.WriteLine("Syncing rate " + i + " of " + max);
                }

                var rate = new Core.DmzModel.Rate()
                {
                    Id          = masterRate.Id,
                    Description = masterRate.Type.Description,
                    Year        = masterRate.Year.ToString()
                };

                var dmzRate = _dmzRateRepo.AsQueryable().FirstOrDefault(x => x.Id == rate.Id);

                if (dmzRate == null)
                {
                    _dmzRateRepo.Insert(rate);
                }
                else
                {
                    dmzRate.Description = rate.Description;
                    dmzRate.Year        = rate.Year;
                }
            }
            _dmzRateRepo.Save();
        }