Beispiel #1
0
        /// <summary>Creates a specific status message</summary>
        /// <param name="viewName">Name of the view.</param>
        /// <param name="message">The message to be displayed.</param>
        /// <param name="status">The general status that is to be set.</param>
        /// <param name="model">A custom view model that is to be used.</param>
        /// <remarks>The message and status is ignored if a custom model is passed.</remarks>
        protected StatusMessageResult StatusMessage(string viewName = "", string message = "", ApplicationStatus status = ApplicationStatus.Ready, StatusViewModel model = null)
        {
            if (model == null)
                model = new StatusViewModel {Status = status, Message = message};

            var result = new StatusMessageResult {Model = model};

            FindView(viewName, ViewLevel.Normal, result);

            return result;
        }
Beispiel #2
0
        /// <summary>Sets the application status (typically displayed in a status bar).</summary>
        /// <param name="message">Message that is to be displayed</param>
        /// <param name="status">Application status</param>
        /// <param name="model">Application status view model</param>
        /// <param name="viewName">Name of a custom view to be used by the status.</param>
        /// <param name="controllerType">Type of the controller (used as a context to find views)</param>
        public static void Status(string message = "", ApplicationStatus status = ApplicationStatus.Ready, StatusViewModel model = null, string viewName = "", Type controllerType = null)
        {
            var context = new RequestContext(new RouteData("StatusMessage", new {viewName = string.Empty}));

            // If a controller type was specified, we try to use it, which provides a context to find views
            Controller controller;
            if (controllerType == null) controller = new Controller();
            else controller = Activator.CreateInstance(controllerType) as Controller;
            if (controller == null) controller = new Controller();
            context.ProcessingController = controller;

            context.Result = controller.StatusMessage(viewName, message, status, model);

            ExecuteViewHandlers(context);
        }