/// <summary> /// Demoteds the user. /// </summary> private void DemotedUser() { if (!ModulesHelper.IsPremiumModuleValid()) { return; } _userDialogs.ShowLoading("Usuário perdendo acesso Premium", MaskType.Gradient); Menus = new ObservableCollection <Menu> { new Menu(Constants.MenuCheckingAccount, Constants.MenuIconCheckinAccout, true), new Menu(Constants.MenuCreditCard, Constants.MenuIconCreditCard, true), new Menu(Constants.MenuLoan, Constants.MenuIconLoan, true), new Menu(Constants.MenuInvestiments, Constants.MenuIconReward, false), new Menu(Constants.MenuReward, Constants.MenuIconReward, true), new Menu(Constants.MenuExit, Constants.MenuIconExit, true), }; // Removendo assinatura para o evento _ea.GetEvent <UserProfileDemotedEvent>().Unsubscribe(() => { }); // Garantindo para a lógica total da aplicação o // descarregar do módulo Premium ModulesHelper.UnloadPremiumModule(); Xamarin.Forms.Device.BeginInvokeOnMainThread(() => { Xamarin.Forms.Device.StartTimer(TimeSpan.FromSeconds(10), () => { _userDialogs.HideLoading(); return(false); }); }); }
public override object ProcessValue() { var modules = Context.Content.GetPropertyValue <IEnumerable <IPublishedContent> >("modules"); var modulesHelper = new ModulesHelper(); var resolvedModules = modulesHelper.ResolveModules(modules); return(resolvedModules); }
/// <summary> /// Remove list of modules from user requirments. Order of modules is not important /// (it will be sort automaticaly with considering of dependencies) /// </summary> public void RemoveModules(string userId, IEnumerable <ModuleIdentity> modules) { var ordered = ModulesHelper.OrderModules(modules.Select(x => _modules.GetModule(x).ModuleInfo)).Reverse(); foreach (var moduleInfo in ordered) { RemoveModule(userId, moduleInfo.ModuleIdentity); } }
/// <summary> /// Register list of modules. /// This method will try to register modules in right order. /// </summary> public virtual void RegisterModules(IEnumerable <IModule> modules) { var enumerable = modules as IModule[] ?? modules.ToArray(); var identityToModule = enumerable.ToDictionary(x => x.ModuleInfo.ModuleIdentity, x => x); // Just for get IModule by ModuleIdentity var orderedModules = ModulesHelper.OrderModules(enumerable.Select(x => x.ModuleInfo)); foreach (var m in orderedModules) { RegisterModule(identityToModule[m.ModuleIdentity]); } }
/// <summary> /// Unregister list of modules. /// This method will try to unregister modules in right order. /// </summary> public virtual void UnregisterModules(IEnumerable <ModuleIdentity> moduleIdentities) { var identities = moduleIdentities as ModuleIdentity[] ?? moduleIdentities.ToArray(); var infos = identities.Select(x => GetModule(x).ModuleInfo); var orderedModules = ModulesHelper.OrderModules(infos).Reverse(); foreach (var m in orderedModules) { UnregisterModule(m.ModuleIdentity); } }
public void ResolveModules_should_return_empty_result_if_null_value_is_passed() { // Arrange _modulesHelper = new ModulesHelper(false, _mockedGetPropertyValueWrapper.Object, false, null); // Act var response = _modulesHelper.ResolveModules(null); // Assert Assert.NotNull(response); Assert.AreEqual(0, response.Count()); }
/// <summary> /// Remove module from required for specifed user /// </summary> public void RemoveModule(string userId, ModuleIdentity module) { var dependent = ModulesHelper.GetDependent(module, _userModules.GetModules(userId).Select(x => _modules.GetModule(x).ModuleInfo)) .ToArray(); if (dependent.Any()) { throw new ModuleIsRequiredException(module, dependent); } _userModules.RemoveModule(userId, module); }
public void ResolveModules_should_return_empty_result_if_empty_modules_list_is_passed() { // Arrange IEnumerable <IPublishedContent> modules = new List <IPublishedContent>(); _modulesHelper = new ModulesHelper(false, _mockedGetPropertyValueWrapper.Object, false, null); // Act var response = _modulesHelper.ResolveModules(modules); // Assert Assert.NotNull(response); Assert.AreEqual(0, response.Count()); }
public void Initialize() { NotificationHelper.WriteNotification("Initialisation du Module PortDuplicator."); ModulesHelper.AddLoadedModuleToList("PortDuplicator"); var regionManager = ServiceLocator.Current.GetInstance <IRegionManager>(); var container = ServiceLocator.Current.GetInstance <IUnityContainer>(); // Enregistrement du MenuItem regionManager.RegisterViewWithRegion(RegionNames.MenuModulesRegion, typeof(PortDuplicatorMenuView)); // enregistrement de la vue container.RegisterType <PortDuplicatorView>(typeof(PortDuplicatorView).ToString()); }
public void ResolveModules_should_not_resolve_Component_modules_if_option_parameter_is_false() { // Arrange var modules = _modulesTestData.SimpleListOfModules(); _modulesHelper = new ModulesHelper(false, _mockedGetPropertyValueWrapper.Object, false, null); // Act var response = _modulesHelper.ResolveModules(modules); var responseAsList = response.ToList(); // Assert Assert.NotNull(response); Assert.IsInstanceOf <IEnumerable <BaseModule> >(response); Assert.IsInstanceOf <ComponentModule>(responseAsList[2]); }
public void ResolveModules_should_return_modules_that_should_not_be_unpublished_yet() { // Arrange // We set all modules to have unpublishDate set 2 days into the future, so we expect all modules returned. _mockedGetPropertyValueWrapper .Setup(c => c.GetPropertyValue <DateTime>(It.IsAny <IPublishedContent>(), "unpublishDate")) .Returns(DateTime.Now.AddDays(2)); _modulesHelper = new ModulesHelper(false, _mockedGetPropertyValueWrapper.Object, false, null); var modules = _modulesTestData.SimpleListOfModules(); // Act var response = _modulesHelper.ResolveModules(modules); // Assert Assert.NotNull(response); Assert.AreEqual(3, response.Count()); }
public void ResolveModules_should_return_correct_types_of_modules() { // Arrange _modulesHelper = new ModulesHelper(false, _mockedGetPropertyValueWrapper.Object, false, null); var modules = _modulesTestData.SimpleListOfModules(); // Act var response = _modulesHelper.ResolveModules(modules); var responseAsList = response.ToList(); // Assert Assert.NotNull(response); Assert.IsInstanceOf <IEnumerable <BaseModule> >(response); Assert.AreEqual(3, responseAsList.Count); Assert.IsInstanceOf <TextboxModule>(responseAsList[0]); Assert.IsInstanceOf <ImageboxModule>(responseAsList[1]); Assert.IsInstanceOf <ComponentModule>(responseAsList[2]); }
public void ResolveModules_should_return_modules_that_should_be_published_with_preview_true_but_invalid_preview_date_set() { // Arrange // We set preview mode to true, and set an invalid preview date (date that cannot be parsed), // and set all modules to have publishDate 2 days back, so we expect all modules returned. _mockedGetPropertyValueWrapper .Setup(c => c.GetPropertyValue <DateTime>(It.IsAny <IPublishedContent>(), "publishDate")) .Returns(DateTime.Now.AddDays(-2)); _modulesHelper = new ModulesHelper(false, _mockedGetPropertyValueWrapper.Object, true, "2017-13-10"); var modules = _modulesTestData.SimpleListOfModules(); // Act var response = _modulesHelper.ResolveModules(modules); // Assert Assert.NotNull(response); Assert.AreEqual(3, response.Count()); }
public void ResolveModules_should_return_modules_that_should_be_published_with_a_preview_date_set() { // Arrange // We set preview mode and a preview date 2 days into the future and set all modules to have publishDate 1 day into the future, // so we expect all modules returned. _mockedGetPropertyValueWrapper .Setup(c => c.GetPropertyValue <DateTime>(It.IsAny <IPublishedContent>(), "publishDate")) .Returns(DateTime.Now.AddDays(1)); _modulesHelper = new ModulesHelper(false, _mockedGetPropertyValueWrapper.Object, true, DateTime.Now.AddDays(2).ToString("yyyy-MM-dd")); var modules = _modulesTestData.SimpleListOfModules(); // Act var response = _modulesHelper.ResolveModules(modules); // Assert Assert.NotNull(response); Assert.AreEqual(3, response.Count()); }
public void ResolveModules_should_return_modules_that_should_not_be_published_yet_with_preview_true_but_no_preview_date_set() { // Arrange // We set preview mode to true, but set no preview date, and set all modules to have publishDate 2 days into the future, // since it's preview mode we expect all modules returned. _mockedGetPropertyValueWrapper .Setup(c => c.GetPropertyValue <DateTime>(It.IsAny <IPublishedContent>(), "publishDate")) .Returns(DateTime.Now.AddDays(2)); _modulesHelper = new ModulesHelper(false, _mockedGetPropertyValueWrapper.Object, true, null); var modules = _modulesTestData.SimpleListOfModules(); // Act var response = _modulesHelper.ResolveModules(modules); // Assert Assert.NotNull(response); Assert.AreEqual(3, response.Count()); }
public string GetModuleHtml(int moduleId) { string ret = ""; try { Domain.Modules module; using (var session = new Data.DataSession()) { var repo = new Data.ModulesRepository(session.UnitOfWork); module = repo.GetSingle(moduleId); } var control = ModulesManager.GetControlFromModuleData(module); var single = (Module.SingleModule) new DefaultModuleFactory("~/Module/SingleModule.ascx").GetControl(module); single.Control = control; single.Initialize(true); var children = ModulesHelper.FlattenChildren(single); var enumerator = children.GetEnumerator(); while (enumerator.MoveNext()) { var child = enumerator.Current; if (child is ModuleUserControl) { var moduleChild = (ModuleUserControl)child; moduleChild.Initialize(true); } } ret = RenderControlToHtml(single); } catch (Exception ex) { ret = ex.ToString(); } return(ret); }
/// <summary> /// Add module as required for specifed user /// </summary> public void AddModule(string userId, ModuleIdentity module) { var t = _modules.GetModule(module)?.ModuleInfo; if (t == null) { throw new ModuleMissedException(module); } var depRes = ModulesHelper.CheckDependencies(t, GetModules(userId) ?? new ModuleIdentity[0]); if (depRes.IsCheckSuccess) { _userModules.AddModule(userId, module); } else { throw depRes.ToOneException(); } }
public void ResolveModules_should_resolve_Component_modules_if_option_parameter_is_true() { // Arrange var modules = _modulesTestData.SimpleListOfModules(); _mockedGetPropertyValueWrapper.Setup(g => g.GetPropertyValue <IEnumerable <IPublishedContent> >(It.IsAny <IPublishedContent>(), "component")) .Returns(_modulesTestData.InnerComponentModule); _modulesHelper = new ModulesHelper(true, _mockedGetPropertyValueWrapper.Object, false, null); // Act var response = _modulesHelper.ResolveModules(modules); var responseAsList = response.ToList(); // Assert Assert.NotNull(response); Assert.IsInstanceOf <IEnumerable <BaseModule> >(response); Assert.AreEqual(3, responseAsList.Count); Assert.IsInstanceOf <TextboxModule>(responseAsList[0]); Assert.IsInstanceOf <ImageboxModule>(responseAsList[1]); Assert.IsInstanceOf <TextboxModule>(responseAsList[2]); }
/// <summary> /// Loads the menus. /// </summary> private void LoadMenus() { isBusy = true; if (ModulesHelper.IsPremiumModuleValid()) { Menus = new ObservableCollection <Menu> { new Menu(Constants.MenuCheckingAccount, Constants.MenuIconCheckinAccout, true), new Menu(Constants.MenuCreditCard, Constants.MenuIconCreditCard, true), new Menu(Constants.MenuLoan, Constants.MenuIconLoan, true), new Menu(Constants.MenuInvestiments, Constants.MenuIconReward, true), new Menu(Constants.MenuReward, Constants.MenuIconReward, true), new Menu(Constants.MenuExit, Constants.MenuIconExit, true), }; } else { Menus = new ObservableCollection <Menu> { new Menu(Constants.MenuCheckingAccount, Constants.MenuIconCheckinAccout, true), new Menu(Constants.MenuCreditCard, Constants.MenuIconCreditCard, true), new Menu(Constants.MenuLoan, Constants.MenuIconLoan, true), new Menu(Constants.MenuInvestiments, Constants.MenuIconReward, false), new Menu(Constants.MenuReward, Constants.MenuIconReward, true), new Menu(Constants.MenuExit, Constants.MenuIconExit, true), }; } Xamarin.Forms.Device.BeginInvokeOnMainThread(() => { Xamarin.Forms.Device.StartTimer(TimeSpan.FromSeconds(5), () => { IsBusy = false; return(false); }); }); }
private void buttonLoadTables_Click(object sender, EventArgs e) { IKBService kbserv = UIServices.KB; KBModel kbmodel = kbserv.CurrentModel; //Create a New DataTable to store the Data DataTable Tables = new DataTable("Tables"); //Create the Columns in the DataTable DataColumn c0 = new DataColumn("Name"); DataColumn c1 = new DataColumn("Module"); System.Type typeInt32 = System.Type.GetType("System.Int32"); DataColumn c2 = new DataColumn("#Updates", typeInt32); DataColumn c3 = new DataColumn("#Readers", typeInt32); DataColumn c4 = new DataColumn("#Inserts", typeInt32); DataColumn c5 = new DataColumn("#Total", typeInt32); //Add the Created Columns to the Datatable Tables.Columns.Add(c0); Tables.Columns.Add(c1); Tables.Columns.Add(c2); Tables.Columns.Add(c3); Tables.Columns.Add(c4); Tables.Columns.Add(c5); //Create 3 rows DataRow row; foreach (KBObject obj in kbserv.CurrentModel.Objects.GetAll()) { if (obj is Table) { row = Tables.NewRow(); row["Name"] = obj.Name; row["Module"] = ModulesHelper.ObjectModule(obj); IList <KBObject> updaters = (from r in kbmodel.GetReferencesTo(obj.Key, LinkType.UsedObject) where r.ReferenceType == ReferenceType.WeakExternal // las referencias a tablas que agrega el especificador son de este tipo where ReferenceTypeInfo.HasUpdateAccess(r.LinkTypeInfo) select kbmodel.Objects.Get(r.From)).ToList(); row["#Updates"] = updaters.Count; IList <KBObject> readers = (from r in kbmodel.GetReferencesTo(obj.Key, LinkType.UsedObject) where r.ReferenceType == ReferenceType.WeakExternal // las referencias a tablas que agrega el especificador son de este tipo where ReferenceTypeInfo.HasReadAccess(r.LinkTypeInfo) select kbmodel.Objects.Get(r.From)).ToList(); row["#Readers"] = readers.Count; IList <KBObject> inserts = (from r in kbmodel.GetReferencesTo(obj.Key, LinkType.UsedObject) where r.ReferenceType == ReferenceType.WeakExternal // las referencias a tablas que agrega el especificador son de este tipo where ReferenceTypeInfo.HasInsertAccess(r.LinkTypeInfo) select kbmodel.Objects.Get(r.From)).ToList(); row["#Inserts"] = inserts.Count; row["#Total"] = updaters.Count + readers.Count + inserts.Count; Tables.Rows.Add(row); } } DataGridViewColumn c6 = dataGridTables.Columns.GetLastColumn(DataGridViewElementStates.Frozen, DataGridViewElementStates.None); dataGridTables.DataSource = Tables; dataGridTables.Sort(c6, ListSortDirection.Descending); }
/// <summary> /// Saves the properties async. /// </summary> /// <returns>The properties async.</returns> public override async Task SavePropertiesAsync() { ModulesHelper.LoadPremiumModule(); }