using Neo.Afx.Mvc; using Neo.Afx.Services.Integration; using Neo.Afx.Services.Workflows; using Neo.Afx.ViewModels; using Neo.LegitimateLicences.Common; using Neo.LegitimateLicences.Common.Helpers; using Neo.LegitimateLicences.Data.Models; using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace Neo.LegitimateLicences.MemberConsole { public partial class MemberConsoleController : Neo.LegitimateLicences.Common.ControllerBase { private const long _entityID = 1009; private const long _documentStoreLocationID = 3; #region Action Results #region Console public ActionResult Console(long memberID) { if (!SecurityHelper.UserHasAccessToSecurable(Profile.Securables.ToList(), SecurableEnum.AssociationsModule_ViewAssociationConsole)) { return RedirectToAction("ShowError", "Error", new { msg = "Security error" }); } var database = new LegitimateDatabase(); var model = new ConsoleModel() { MemberID = memberID }; //model.BrowserTitle = model.Association.AssociationName; ViewBag.Controller = "Member Details"; ViewBag.Page = "Member Details"; return View("Console", model); } #endregion #region Default public ActionResult Default(long MemberID) { if (!SecurityHelper.UserHasAccessToSecurable(Profile.Securables.ToList(), SecurableEnum.MembersModule_ViewMemberConsole)) { return RedirectToAction("ShowError", "Error", new { msg = "Security error" }); } var database = new LegitimateDatabase(); var model = new DefaultModel { Member = database.GetVerifiedMember(MemberID, Profile.UserID), entityID = _entityID, itemID = MemberID, DocumentStoreLocationID = _documentStoreLocationID }; //model.BrowserTitle = (model.Member.MemberID == -1) ? "New member" : model.Member.FullName; ViewBag.Controller = "Member Details"; ViewBag.Page = "Member Details"; return View("Default", model); } #endregion #region Vehicles public ActionResult Vehicles(long MemberID) { if (!SecurityHelper.UserHasAccessToSecurable(Profile.Securables.ToList(), SecurableEnum.MembersModule_ViewMemberConsole)) { return RedirectToAction("ShowError", "Error", new { msg = "Security error" }); } var database = new LegitimateDatabase(); var model = new VehicleModel { Member = database.GetVerifiedMember(MemberID, Profile.UserID), Vehicles = database.GetMemberVehicles(MemberID), entityID = _entityID, itemID = MemberID, DocumentStoreLocationID = _documentStoreLocationID }; //model.BrowserTitle = (model.Member.MemberID == -1) ? "New member" : model.Member.FullName; ViewBag.Controller = "Vehicles"; ViewBag.Page = "Vehicles"; return View("Vehicles", model); } #endregion #region OperatingLicences public ActionResult OperatingLicences(long MemberID) { if (!SecurityHelper.UserHasAccessToSecurable(Profile.Securables.ToList(), SecurableEnum.MembersModule_ViewMemberConsole)) { return RedirectToAction("ShowError", "Error", new { msg = "Security error" }); } var database = new LegitimateDatabase(); var model = new OperatingLicenceModel { Member = database.GetVerifiedMember(MemberID, Profile.UserID), OperatingLicences = database.GetLicencesByMember(MemberID), entityID = _entityID, itemID = MemberID, DocumentStoreLocationID = _documentStoreLocationID }; //model.BrowserTitle = (model.Member.MemberID == -1) ? "New member" : model.Member.FullName; ViewBag.Controller = "Operating Licences"; ViewBag.Page = "Operating Licences"; return View("OperatingLicences", model); } #endregion #region Accreditations public ActionResult Accreditations(long MemberID) { if (!SecurityHelper.UserHasAccessToSecurable(Profile.Securables.ToList(), SecurableEnum.MembersModule_ViewMemberConsole)) { return RedirectToAction("ShowError", "Error", new { msg = "Security error" }); } var database = new LegitimateDatabase(); var model = new AccreditationsModel { Member = database.GetVerifiedMember(MemberID, Profile.UserID), Accreditations = database.GetAccreditationsByMember(MemberID), entityID = _entityID, itemID = MemberID, DocumentStoreLocationID = _documentStoreLocationID }; //model.BrowserTitle = (model.Member.MemberID == -1) ? "New member" : model.Member.FullName; ViewBag.Controller = "Accreditations"; ViewBag.Page = "Accreditations"; return View("Accreditations", model); } #endregion #region Applications public ActionResult Applications(long MemberID) { if (!SecurityHelper.UserHasAccessToSecurable(Profile.Securables.ToList(), SecurableEnum.MembersModule_ViewMemberConsole)) { return RedirectToAction("ShowError", "Error", new { msg = "Security error" }); } var database = new LegitimateDatabase(); var model = new ApplicationsModel { Member = database.GetVerifiedMember(MemberID, Profile.UserID), Applications = database.GetMemberApplications(MemberID), entityID = _entityID, itemID = MemberID, DocumentStoreLocationID = _documentStoreLocationID }; //model.BrowserTitle = (model.Member.MemberID == -1) ? "New member" : model.Member.FullName; ViewBag.Controller = "Applications"; ViewBag.Page = "Applications"; return View("Applications", model); } #endregion #endregion #region JSON endpoints [HttpPost] public JsonResult Save(VerifiedMember value) { if (!SecurityHelper.UserHasAccessToSecurable(Profile.Securables.ToList(), SecurableEnum.MembersModule_MemberConsole_SaveMemberContactDetails)) { throw new Exception("Security error"); } var database = new LegitimateDatabase(); var errorMessage = ""; try { database.VerifiedMemberUpdate(value, Profile.UserID); } catch (Exception ex) { errorMessage = database.GetInnermostMessage(ex); } var results = new { ErrorMessage = errorMessage }; return Json(results, JsonSerializerOptions.None); } #endregion } }