using CZFW.Framework.Interface; using CZFW.Framework.Model; using CZFW.Framework.Model.Entity; using CZFW.Framework.Model.ViewModel; using CZKJ.GBRS2.WebMVC.Models; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace CZKJ.GBRS2.WebMVC.ViewComponents { public class HeaderViewComponent : ViewComponent { public IViewComponentResult Invoke() { var items = GetItems(); return View(items); } private HeaderModel GetItems() { INavigation context = CZHttpContext.ServiceProvider.GetService(typeof(INavigation)) as INavigation; ISysConfig sys = CZHttpContext.ServiceProvider.GetService(typeof(ISysConfig)) as ISysConfig; var model = new HeaderModel(); model.NavigationModel = context.GetNavigationTreeByMark("0$15231983314041342$"); var result = sys.GetSysConfig("CLogo", "Llogo"); model.BigLogo = result.FirstOrDefault(x => x.Key == "CLogo").Value; model.SmallLogo = result.FirstOrDefault(x => x.Key == "Llogo").Value; var session = HttpContext.Session.GetString("GBRS2018"); if (!string.IsNullOrWhiteSpace(session)) { var user= JsonConvert.DeserializeObject(session); model.Name = user.Customer_info.Name; model.NickName = user.Nickname; model.IsLogin = true; model.Head_Url = user.Head_url; } model.BeforeUrl = $"{Request.Scheme}{Request.PathBase}{Request.Path}{Request.QueryString}"; return model; } } }