using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using Sarand.Net.Standard.Base.Bus; using Sarand.Net.Standard.Base.Utils; using Saxonite.Net.Core.Web.Admin.Models; using Saxonite.Net.Core.Web.Base.App; using Saxonite.Net.Core.Web.Base.Controllers; using Saxonite.Net.Standard.Base.Bus; using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Threading.Tasks; namespace Saxonite.Net.Core.Web.Admin.Controllers { //======================================================================= public partial class OrganisationController : SaxController_Admin { //------------------------------------------------------------------- // Construction. public OrganisationController(SaxLocaliser localiser, ILogger logger) : base(localiser, logger) { } //------------------------------------------------------------------- [HttpGet] public IActionResult Index(String sta) { // Validate session. if (!ValidUserSession) AutoLoginUser(); if (!ValidUserSession) return RedirectToAction("", ""); // Model. Model_Organisation model = new Model_Organisation(Localiser); // Stored Sport filter. model.Filter.OrganisationSportId = SessionData_Admin.Filter.SportId?.ToString() ?? null; using (SaxSport filterSport = ReferenceMgr.GetSportById(SessionData_Admin.Filter.SportId)) model.Filter.OrganisationSportName = Localiser.GetSportName(SessionData_Admin.Filter.SportId, filterSport?.Name ?? ""); // Stored Region filter. model.Filter.OrganisationRegionId = SessionData_Admin.Filter.RegionId?.ToString() ?? null; using (SaxRegion filterRegion = ReferenceMgr.GetRegionById(SessionData_Admin.Filter.RegionId)) model.Filter.OrganisationRegionName = Localiser.GetRegionName(SessionData_Admin.Filter.RegionId, filterRegion?.Name ?? ""); // Paging. model.Paging.PageNo = 1; model.Paging.PageLength = 8; // Default status. if (sta.StartsWithCI("Awa")) model.Filter.OrganisationStatusCategoryCode = nameof(SaxOrganisation.StatusCat.AwaitingOnly); return View(model); } //------------------------------------------------------------------- /// /// Organisation Members action. /// - POST action to allow Organisation Id to be supplied, eg. from Organsiations page. /// [HttpPost] public IActionResult Members(Model_OrganisationMembers model) { // Validate session. if (!ValidUserSession) AutoLoginUser(); if (!ValidUserSession) return RedirectToAction("", ""); // Retrieve organisation. SaxOrganisation organisation = AccountMgr.GetOrganisationById(model.OrganisationId.ToSysId()); if (organisation == null) RedirectToAction("", "Organisation"); model.Filter.OrganisationId= SysId.ToString(organisation.Id); model.Filter.OrganisationName = organisation.Name; // Paging. model.Paging.PageNo = 1; model.Paging.PageLength = 12; return View(model); } //------------------------------------------------------------------- /// /// Organisation Associations action. /// - POST action to allow Organisation Id to be supplied, eg. from Organsiations page. /// [HttpPost] public IActionResult Associations(Model_OrganisationAssociations model) { // Validate session. if (!ValidUserSession) AutoLoginUser(); if (!ValidUserSession) return RedirectToAction("", ""); // Retrieve organisation. SaxOrganisation organisation = AccountMgr.GetOrganisationById(model.OrganisationId.ToSysId()); if (organisation == null) RedirectToAction("", "Organisation"); model.Filter.OrganisationId = SysId.ToString(organisation.Id); model.Filter.OrganisationName = organisation.Name; // Paging. model.Paging.PageNo = 1; model.Paging.PageLength = 12; return View(model); } //------------------------------------------------------------------- } //======================================================================= }