using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Data.Entity; using Microsoft.AspNet.Identity; using Weee.Models; using Weee.DAL; using Weee.Areas.Admin.Supports; using Weee.Filter; using Resources.Helper; using PagedList; using CScommon; using Weee.ViewModels; using Weee.Service; using Customize.ViewModels.Insynerger; using System.Configuration; namespace Weee.Controllers { [Authorize(Roles = ProgramConstants.normalcompany)] //[MvcMultilanguage]disable obsolete warning, not sure OK or not public class HomeController : QcarbonControllerBase { protected WeeeSiteInfoService _siteInfoService; private readonly string baseUrl = ""; public HomeController(WeeeDataContext db, WeeeSiteInfoService siteInfoService) :base(db) { //_db = db; _siteInfoService = siteInfoService; baseUrl = ConfigurationManager.AppSettings["InsynergerAPIurl"]; } [Route("")] [AllowAnonymous] public ActionResult Index() { return RedirectToAction("Login", "Account"); //return View(db.PublicMessages.OrderByDescending(x => x.UpdatedTime).Take(5).ToList().Select(x=>x.DisplayName)); } [Route("Insynerger")] [AllowAnonymous] public ActionResult Insynerger() { ViewBag.baseUrl = baseUrl; //這裡拿來做Qcarbon轉址思納捷的預先登入 var synergerVM=Session["synergerVM"]; InsynergerPreloginVM viewModel; if (synergerVM == null) { return RedirectToAction("WeeeCarbonFootprint", "Home", new { area = "" }); //viewModel = new InsynergerPreloginVM(); //viewModel.id = "weeerohsAdmin"; //viewModel.pd = "weeerohsAdmin"; } else viewModel = (InsynergerPreloginVM)synergerVM; ViewBag.id=viewModel.id; ViewBag.pd=viewModel.pd; return View(); } [Route("Insynerger")] [HttpPost] [AllowAnonymous] [ValidateAntiForgeryToken] public ActionResult Insynerger(InsynergerPreloginVM viewModel) { ViewBag.baseUrl = baseUrl; // 完成思納捷戰情室登入後,轉址會員首頁 //RedirectToAction("WeeeCarbonFootprint", "Home", new { area = "" }); return View(viewModel); } [Route("app")] public ActionResult WeeeCarbonFootprint() { if (User.IsInRole(ProgramConstants.admin)) return RedirectToAction("Index", "home", new { area = "admin" }); else if (User.IsInRole(ProgramConstants.certification)) return RedirectToAction("Index", "home", new { area = "certification" }); else if (User.IsInRole(ProgramConstants.normalcompany)) { var re = GetWebSiteInfo(); return View(re); } else return RedirectToAction("Forbidden", new { message = "Your Account has not yet actived" }); } public ActionResult Forbidden(string message) { return View(message); } [AllowAnonymous] [Route("PublicFiles")] public ActionResult PublicFiles(int page = 1) { var files = db.PublicReferenceFiles.OrderBy(x => x.CreatedTime); var onePageOfFiles = files.ToPagedList(page, 10); //var qry = (from a in uow.actionLogRepository.Get() // select a).AsQueryable(); return View(onePageOfFiles); } private WeeeCarbonFootprintViewModel GetWebSiteInfo() { var re = new WeeeCarbonFootprintViewModel(); var info = _siteInfoService.GetWebSiteInfo(); if(info != null) re = JsonUtl.jsonCopy(info); return re; } } }