using System.Web.Mvc; using Neo.Legitimate.Applications.Models; using Neo.Legitimate.Data.Models; using Pilotfish.Afx.Mvc; using Pilotfish.Afx.Services.Workflows; using Pilotfish.Afx.ViewModels; using System.Collections.Generic; using Pilotfish.Afx.Services.Integration; using Neo.Legitimate.Common.Helpers; using Neo.Legitimate.Common; using System.Linq; namespace Neo.Legitimate.Applications.Controllers { public partial class ApplicationsController : Neo.Legitimate.Common.ControllerBase { #region Action Results #region Status public ActionResult Status() { if (!SecurityHelper.UserHasAccessToSecurable(Profile.Securables.ToList(), Securable.ApplicationsModule_Status)) { return RedirectToAction("Default", "Applications"); } var wd = new WorkflowsDatabase(); var ld = new LegitimateDatabase(); var model = new StatusModel() { UserID = Profile.UserID, WorkflowTemplates = wd.GetActiveWorkflowTemplates(), WorkflowInstancesInProgress = ld.GetApplicationsRequestStatusView(Profile.UserID), Lookups = GetLookups() }; WebHelper.SetLastPageVisited(HttpContext, "Applications/Status"); ViewBag.Controller = "Applications"; ViewBag.Page = "Status"; return View("Status", model); } #endregion #endregion #region JSON endpoints #endregion #region GetLookups public List GetLookups() { var lookups = new List(); var integrationStore = new SqlIntegrationStore(); try { integrationStore.Open(); lookups.Add(new LookupList("ApplicationActiveWorkflows", integrationStore.GetDataEntities("ActiveWorkflows", string.Empty))); lookups.Add(new LookupList("ApplicationWorkflowInstanceStatus", integrationStore.GetDataEntities("WorkflowInstanceStatus", string.Empty))); lookups.Add(new LookupList("ApplicationWorkflowTemplateSteps", integrationStore.GetDataEntities("WorkflowTemplateSteps", string.Empty))); } finally { integrationStore.Close(); } return lookups; } #endregion } }