Esempio n. 1
0
        public void Update(EditableSite updated, Site site)
        {
            //TODO: make sure that SiteName is unique to every site or this is bound to fail
            var siteToUpdate = _sites.FirstOrDefault(s => s.SiteName == site.SiteName);

            if (siteToUpdate != null)
            {
                siteToUpdate.Username       = updated.Username;
                siteToUpdate.SiteName       = updated.SiteName;
                siteToUpdate.SiteURL        = updated.SiteURL;
                siteToUpdate.PasswordLength = updated.PasswordLength;
                siteToUpdate.AllowedSymbols = updated.AllowedSymbols;
                var configGetter = new Dictionary <string, bool>();
                siteToUpdate.CharacterConfig = updated.CharacterConfig.CharSettingsToDict();

                if (siteToUpdate.Password != updated.Password)
                {
                    if (siteToUpdate.Password != "" && siteToUpdate.Password != null)
                    {
                        siteToUpdate.PasswordHistory.Add(siteToUpdate.Password);
                    }

                    siteToUpdate.Password    = updated.Password;
                    siteToUpdate.LastChanged = DateTime.Now;
                }
            }

            Save();
        }
        public void GetConfiguration(Site site)
        {
            SiteCopy = new EditableSite(site);
            //Defaults
            Password = SiteCopy.Password;

            //foreach (var item in Includes)
            foreach (var item in SiteCopy.CharacterConfig)
            {
                item.PropertyChanged +=
                    delegate { GenerateCommand.RaiseCanExecuteChanged(); };

                if (item.Label == "Symbols" &&
                    SiteCopy != null &&
                    SiteCopy.AllowedSymbols == "")
                {
                    //clicking symbols checkbox when there are no allowed symbols will navigate
                    //user to the PasswordSymbolsView
                    item.PropertyChanged +=
                        delegate { if (SiteCopy.AllowedSymbols == "")
                                   {
                                       OnAdvanced(SiteCopy, SiteToChange);
                                   }
                    };

                    //uncheck symbols if it's empty
                    if (SiteCopy != null || SiteCopy.AllowedSymbols == "")
                    {
                        item.IsEnabled = false;
                    }
                }
            }
        }
Esempio n. 3
0
        public void SiteNameReturnsCorrectString()
        {
            //Arrange
            var testSite = new EditableSite
            {
                //Act
                SiteName = "Test Site"
            };

            //Assert
            Assert.AreEqual(testSite.SiteName, "Test Site");
        }
Esempio n. 4
0
        public void PasswordReturnsCorrectString()
        {
            //Arrange
            var testSite = new EditableSite
            {
                //Act
                Password = "******"
            };

            //Assert
            Assert.AreEqual(testSite.Password, "password");
        }
Esempio n. 5
0
        public void UsernameReturnsCorrectString()
        {
            //Arrange
            var testSite = new EditableSite
            {
                //Act
                Username = "******"
            };

            //Assert
            Assert.AreEqual(testSite.Username, "Username1");
        }
Esempio n. 6
0
        public void SiteURLReturnsCorrectString()
        {
            //Arrange
            var testSite = new EditableSite
            {
                //Act
                SiteURL = "http://testsite.com"
            };

            //Assert
            Assert.AreEqual(testSite.SiteURL, "http://testsite.com");
        }
Esempio n. 7
0
        private void SavePropertiesForPage(EditableSite editableSite)
        {
            editableSite.Name = ((StringProperty)SiteName.PropertyValue).Value;
            editableSite.SetChildSortDirection(int.Parse(ChildSortDirection.SelectedValue));
            editableSite.SetChildSortOrder(int.Parse(ChildSortOrder.SelectedValue));

            foreach (var propertyControl in _controls)
            {
                var propertyName  = propertyControl.PropertyName;
                var propertyValue = propertyControl.PropertyValue;

                editableSite.SetProperty(propertyName, propertyValue);
            }

            editableSite.SaveAndPublish();
        }
        private bool CanGenerate(EditableSite site)
        {
            if (site == null)
            {
                return(true);
            }

            bool enable = false;

            foreach (var item in site.CharacterConfig)
            {
                if (item.IsEnabled)
                {
                    enable = true; break;
                }
            }
            return(enable);
        }
 private void OnGenerate(EditableSite site)
 {
     if (site.CharacterConfig.FirstOrDefault(s => s.Label == "Symbols").IsEnabled)
     {
         Password = PasswordGenerator.Generate(site.PasswordLength,
                                               site.CharacterConfig.FirstOrDefault(s => s.Label == "Lowercase Letters").IsEnabled,
                                               site.CharacterConfig.FirstOrDefault(s => s.Label == "Uppercase Letters").IsEnabled,
                                               site.CharacterConfig.FirstOrDefault(s => s.Label == "Numbers").IsEnabled,
                                               site.AllowedSymbols);
     }
     else
     {
         Password = PasswordGenerator.Generate(site.PasswordLength,
                                               site.CharacterConfig.FirstOrDefault(s => s.Label == "Lowercase Letters").IsEnabled,
                                               site.CharacterConfig.FirstOrDefault(s => s.Label == "Uppercase Letters").IsEnabled,
                                               site.CharacterConfig.FirstOrDefault(s => s.Label == "Numbers").IsEnabled, "");
     }
 }
 private void NavToAdvanced(EditableSite copy, Site site)
 {
     _passwordSymbolsViewModel.SiteSave = site;
     _passwordSymbolsViewModel.SiteCopy = copy;
     CurrentViewModel = _passwordSymbolsViewModel;
 }
Esempio n. 11
0
        internal static void UpdateSite(EditableSite editableSite)
        {
            var cmsSite = Mapper.Map <CmsSite>(editableSite);

            Sites[cmsSite.SiteId] = cmsSite;
        }
 private void OnAdvanced(EditableSite copy, Site site)
 {
     AdvancedRequested(copy, site);
 }