OpenAuth.Net/OpenAuth.Mvc/Controllers/HomeController.cs

107 lines
3.7 KiB
C#
Raw Normal View History

2016-10-14 11:22:16 +08:00
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Mvc;
2015-11-22 21:32:38 +08:00
using Infrastructure;
using OpenAuth.App;
2016-07-19 11:44:48 +08:00
using OpenAuth.App.SSO;
2015-12-01 17:59:08 +08:00
using OpenAuth.App.ViewModel;
using OpenAuth.Mvc.Models;
2015-09-22 23:10:00 +08:00
namespace OpenAuth.Mvc.Controllers
{
public class HomeController : BaseController
{
2015-11-22 21:32:38 +08:00
private ModuleManagerApp _app;
public HomeController()
{
_app = AutofacExt.GetFromFac<ModuleManagerApp>();
2015-11-22 21:32:38 +08:00
}
2015-09-22 23:10:00 +08:00
public ActionResult Index()
2016-10-14 11:22:16 +08:00
{
ViewBag.NavBar = GetNavBar();
return View();
}
public string GetNavBar()
2015-09-22 23:10:00 +08:00
{
2016-07-19 11:44:48 +08:00
var user = AuthUtil.GetCurrentUser();
2016-10-14 11:22:16 +08:00
return BuilderNavBar(user.ModuleWithChildren);
2015-09-22 23:10:00 +08:00
}
2016-10-14 11:22:16 +08:00
public string BuilderNavBar(IEnumerable<TreeItem<ModuleView>> modules)
{
2016-10-14 11:22:16 +08:00
StringBuilder sb = new StringBuilder();
foreach (var moduleView in modules)
{
if (moduleView.Children.Any())
{
2016-10-24 17:16:16 +08:00
sb.Append("<li class=\"\" id=\""+moduleView.Item.Id+"\">\r\n");
2016-10-14 11:22:16 +08:00
sb.Append("<a href=\"#\" class=\"dropdown-toggle\">\r\n");
sb.Append("<i class=\"menu-icon fa "+moduleView.Item.IconName+"\"></i>\r\n");
sb.Append("<span class=\"menu-text\">\r\n");
sb.Append(""+moduleView.Item.Name+"\r\n");
sb.Append("</span>\r\n");
sb.Append("\r\n");
sb.Append("<b class=\"arrow fa fa-angle-down\"></b>\r\n");
sb.Append("</a>\r\n");
sb.Append("\r\n");
sb.Append("<b class=\"arrow\"></b>\r\n");
sb.Append("<ul class=\"submenu\">");
sb.Append(BuilderNavBar(moduleView.Children));
sb.Append("</ul>");
sb.Append("</li>\r\n");
}
else
{
2016-10-24 17:16:16 +08:00
sb.Append("<li class=\"\" id=\"" + moduleView.Item.Id + "\">\r\n");
2016-10-14 11:22:16 +08:00
sb.Append("<a href=\""+moduleView.Item.Url+"\">\r\n");
sb.Append("<i class=\"menu-icon fa "+moduleView.Item.IconName+"\"></i>\r\n");
sb.Append("<span class=\"menu-text\"> "+moduleView.Item.Name+ " </span>\r\n");
sb.Append("</a>\r\n");
sb.Append("\r\n");
sb.Append("<b class=\"arrow\"></b>\r\n");
sb.Append("</li>\r\n");
}
}
return sb.ToString();
}
2015-12-01 22:46:29 +08:00
public ActionResult Git()
{
return View();
}
/// <summary>
/// 所有页面按钮控制分部视图
/// </summary>
/// <returns>ActionResult.</returns>
[ChildActionOnly]
public ActionResult MenuHeader()
{
2016-10-14 11:22:16 +08:00
var sb = new StringBuilder();
foreach (var element in CurrentModule.Elements)
{
sb.Append("<button "
+ " id='" + element.DomId + "' "
+ " class='btn btn-sm " + element.Class + "' "
+ " onclick='" + element.Script + "' " + element.Attr
+ ">" + element.Name + "</button>");
}
ViewBag.Buttons = sb.ToString();
return View();
}
[ChildActionOnly]
public ActionResult Navbar()
{
ViewBag.NavBar = GetNavBar();
2016-10-24 17:16:16 +08:00
if(CurrentModule != null)
ViewBag.CurrentNav = CurrentModule.Id;
return View();
}
2015-09-22 23:10:00 +08:00
}
}