using Neo.Afx.Security; using Neo.Afx.Services.Integration; using Neo.Afx.Services.Workflows.Entities; using Neo.Afx.ViewModels; using Neo.LegitimateLicences.LicenceIssueRequest.Models.Database; using Neo.LegitimateLicences.Common; using Neo.LegitimateLicences.Common.Helpers; using Neo.LegitimateLicences.Data.Models; using System.Collections.Generic; using System.Linq; using System.Web.Mvc; namespace Neo.LegitimateLicences.LicenceIssueRequest { public partial class LicenceIssueRequestController { #region Form /// /// Return LicenceIssueRequest Form /// /// public ActionResult Form() { var isNew = WebHelper.ItemID == -1; var itemId = WebHelper.ItemID; var taskId = WebHelper.TaskID; var model = new LicenceIssueRequestFormModel { UserSecurables = (Profile.Securables != null) ? Profile.Securables.ToList() : new List(), Ui = new Afx.ViewModels.WorkflowConsoleUIProperties() }; var db = new LicenceIssueDatabase(); var dbNational = new LegitimateDatabase(); var licence = db.GetLicenceIssueForm(itemId, Profile.UserID); model.Data = licence; model.Lookups = GetLookupsForFormGetLookupsFormView(); model.WorkflowInstance = WorkflowHelper.GetWorkflowInstanceView(WebHelper.EntityID, WebHelper.ItemID, Profile.UserID); model.LicenceServiceDetails = dbNational.GetVerifiedLicenceServiceDetails(licence.VerifiedLicenceID); #region Get active user task Vw_WorkflowInstanceTask activeUserTask = null; if (taskId != -1) { activeUserTask = WorkflowHelper.GetActiveUserUserTaskByID((long)EntityEnum.LicenceIssueDetails, itemId, taskId, Profile.UserID); } if (activeUserTask == null) { activeUserTask = WorkflowHelper.GetActiveUserTask(Profile.UserID, EntityEnum.LicenceIssueDetails, itemId); } #endregion model.Ui.canSave= (activeUserTask != null && activeUserTask.WorkflowTemplateStepNumber == 2); return View("Form", model); } #endregion #region GetLookups /// /// Return Lookup list /// /// public List GetLookupsForFormGetLookupsFormView() { var lookups = new List(); var integrationStore = new SqlIntegrationStore(); try { integrationStore.Open(); lookups.Add(new LookupList("VehicleTypes", integrationStore.GetDataEntities("VehicleTypes", string.Empty))); lookups.Add(new LookupList("VehicleModels", integrationStore.GetDataEntities("VehicleModels", string.Empty))); lookups.Add(new LookupList("IDTypes", integrationStore.GetDataEntities("IDTypes", string.Empty))); lookups.Add(new LookupList("BusinessTypes", integrationStore.GetDataEntities("BusinessTypes", string.Empty))); lookups.Add(new LookupList("CarryingCapacities", integrationStore.GetDataEntities("CarryingCapacities", string.Empty))); } finally { integrationStore.Close(); } return lookups; } #endregion } }