Пример #1
0
 //Конструктор
 public ModulePresenter(IModuleView moduleView, IPresenterFactory factory)
 {
     _moduleView                = moduleView;
     _factory                   = factory;
     _moduleView.StoreStart    += delegate { Store(); };
     _moduleView.CalenderStart += delegate { Calender(); };
 }
Пример #2
0
        /// <summary>
        /// Loads the modules into the view if authorization passes.
        /// </summary>
        /// <param name="modules"></param>
        private void LoadModules(IList <Module> modules)
        {
            // Get reference to view's module containers.
            IDictionary <string, Control> moduleContainers = _view.ModuleContainers;

            // Now go through all the modules and determine if ok to add.
            foreach (Module module in modules)
            {
                // Ensure security.
                string roles = module.Instance.Roles;
                if (string.IsNullOrEmpty(roles) || Auth.IsUserInRoles(module.Instance.Roles))
                {
                    // Have the view load instance of module.
                    Control     control    = _view.LoadModule(module);
                    IModuleView moduleView = control as IModuleView;

                    if (moduleView != null)
                    {
                        // Set moduleview(UI component) reference to the module.
                        moduleView.Module = module;

                        // Now get it's container name.
                        string containerName = module.Instance.ContainerName.ToLower().Trim();
                        if (moduleContainers.ContainsKey(containerName))
                        {
                            // Add to container.
                            Control container = moduleContainers[containerName];
                            container.Controls.Add(control);
                        }
                    }
                }
            }
        }
Пример #3
0
 public static MvcHtmlString RenderModule(this HtmlHelper helper, IModule module, IDictionary <string, object> args,
                                          IModuleView view, object model, string moduleInstanceId,
                                          bool allowAnonym)
 {
     return(helper.RenderModule(module, args, view, model, moduleInstanceId, new[] { new AuthorizeAttribute {
                                                                                         AllowAnonym = allowAnonym
                                                                                     } }, null));
 }
Пример #4
0
 private void InternalRegisterView(IModuleView view)
 {
     if (view is null)
     {
         return;
     }
     _containerRegistry.RegisterForNavigation(view.ViewType, view.ViewType.GUID.ToString());
 }
 public PagesDisplayer(IOptionSelector optionSelector,
                       IStudentView studentView,
                       IModuleView moduleView,
                       IStudentModuleView studentModuleView)
 {
     _optionSelector    = optionSelector;
     _studentView       = studentView;
     _moduleView        = moduleView;
     _studentModuleView = studentModuleView;
 }
Пример #6
0
 public static MvcHtmlString RenderModule(this HtmlHelper helper, IModule module, IDictionary <string, object> args,
                                          IModuleView view, object model, string moduleInstanceId,
                                          IEnumerable <string> AllowRoles,
                                          IEnumerable <string> AllowUsers = null,
                                          IEnumerable <string> DenyUsers  = null,
                                          IEnumerable <string> DenyRoles  = null)
 {
     return(helper.RenderModule(module, args, view, model, moduleInstanceId, new[] { new AuthorizeAttribute {
                                                                                         AllowUsers = AllowUsers, AllowRoles = AllowRoles, DenyUsers = DenyUsers, DenyRoles = DenyRoles
                                                                                     } }, null));
 }
Пример #7
0
 public StudentModuleView(IStudentModulePresenter studentModulePresenter,
                          IStudentPresenter studentPresenter,
                          IModulePresenter modulePresenter,
                          IOptionSelector optionSelector,
                          IStudentView studentView,
                          IModuleView moduleView)
 {
     _studentModulePresenter = studentModulePresenter;
     _studentPresenter       = studentPresenter;
     _modulePresenter        = modulePresenter;
     _optionSelector         = optionSelector;
     _studentView            = studentView;
     _moduleView             = moduleView;
 }
Пример #8
0
        public static string GetExt(this IModuleView view)
        {
            var v = view as ModuleAutoView;

            if (v != null)
            {
                if (v.Type == Contracts.CSSView || v.Type == Contracts.JavascriptView)
                {
                    return("." + v.Type);
                }
                else if (v.Type == Contracts.OnceView)
                {
                    return(".-once");
                }
            }

            return(null);
        }
Пример #9
0
        /// <summary>
        /// Loads the modules into the view if authorization passes.
        /// </summary>
        /// <param name="modules"></param>
        private void LoadModule(Module module)
        {
            string roles = module.Instance.Roles;

            if (string.IsNullOrEmpty(roles) || RoleHelper.IsUserInRoles(module.Instance.Roles))
            {
                Control     control    = _view.LoadModule(module);
                IModuleView moduleView = control as IModuleView;

                if (moduleView != null)
                {
                    moduleView.Module = module;

                    // Always load to the body container.
                    _view.ModuleContainerMain.Controls.Add(control);
                }
            }
        }
Пример #10
0
 public LightModulePresenterBase(IModuleView pView, ILightState pLightState)
     : this(pLightState)
 {
     mModuleView = pView;
 }
Пример #11
0
 public static bool IsEmpty(this IModuleView view)
 {
     return(view == null || string.IsNullOrEmpty(view.Value));
 }
Пример #12
0
 public static IModuleView GetFallBack(this IModuleView view)
 {
     return(view != null && view is FallBackModuleView ? (view as FallBackModuleView).FallBackView : null);
 }
Пример #13
0
 public static bool IsDefault(this IModuleView view)
 {
     return(view != null && view is ModuleDefaultView);
 }
Пример #14
0
 public static bool IsAuto(this IModuleView view)
 {
     return(view != null && view is ModuleAutoView);
 }
Пример #15
0
 public void RegisterView(IModuleView moduleView)
 {
     InternalRegisterView(moduleView);
 }
Пример #16
0
 public object ResolveView(IModuleView moduleView)
 {
     return(_containerRegistry.Resolve(moduleView.ViewType));
 }
Пример #17
0
        public virtual PreRenderFilterResult Exec(HtmlHelper helper, string moduleInstanceId, IDictionary <string, object> args, string renderedViewName, IModuleView view)
        {
            if (!IsAuthenticated(helper, moduleInstanceId, args, renderedViewName, view))
            {
                return(PreRenderFilterResult.DontRender);
            }

            return(null);
        }
Пример #18
0
 public static MvcHtmlString RenderModule(this HtmlHelper helper, IModule module, IDictionary <string, object> args,
                                          IModuleView view, object model, string moduleInstanceId,
                                          AuthorizeAttribute auth)
 {
     return(helper.RenderModule(module, args, view, model, moduleInstanceId, new[] { auth }, null));
 }
Пример #19
0
 public WebExModuleNotFoundModel(string module, IModuleView view, object model = null)
 {
     _module = module;
     _view   = view;
     _model  = model;
 }
Пример #20
0
        protected virtual bool IsAuthenticated(HtmlHelper helper, string moduleInstanceId, IDictionary <string, object> args, string renderedViewName, IModuleView view)
        {
            var curUser = helper.ViewContext.HttpContext.User;

            bool res = true;

            if (curUser == null && !AllowAnonym)
            {
                return(false);
            }

            if (DenyUsers != null)
            {
                if (curUser != null)
                {
                    foreach (var user in DenyUsers)
                    {
                        if (user == curUser.Identity.Name)
                        {
                            return(false);
                        }
                    }
                }
            }

            if (DenyRoles != null)
            {
                if (curUser != null)
                {
                    foreach (var role in DenyRoles)
                    {
                        if (curUser.IsInRole(role))
                        {
                            return(false);
                        }
                    }
                }
            }

            if (AllowRoles != null)
            {
                foreach (var role in AllowRoles)
                {
                    res = false;

                    if (curUser != null && curUser.IsInRole(role))
                    {
                        return(true);
                    }
                }
            }

            if (AllowUsers != null)
            {
                foreach (var user in AllowUsers)
                {
                    res = false;

                    if (curUser != null && user == curUser.Identity.Name)
                    {
                        return(true);
                    }
                }
            }

            return(res);
        }
Пример #21
0
        public PreRenderFilterResult Exec(HtmlHelper helper, string moduleInstanceId, IDictionary <string, object> args, string renderedViewName, IModuleView view)
        {
            if (!_condition)
            {
                return(PreRenderFilterResult.DontRender);
            }

            return(null);
        }
Пример #22
0
 public static MvcHtmlString RenderModule(this HtmlHelper helper, string moduleFolder, IModuleView view, bool allowAnonym, object model = null,
                                          bool ignoreCase = false, string moduleInstanceId = null, IDictionary <string, object> args = null)
 {
     return(helper.RenderModule(moduleFolder, view, model, ignoreCase, moduleInstanceId, args, new[] { new AuthorizeAttribute {
                                                                                                           AllowAnonym = allowAnonym
                                                                                                       } }, null));
 }
 public LightModulePresenterBase(IModuleView pView, ILightState pLightState)
     : this(pLightState)
 {
     mModuleView = pView;
 }