using System.Web.Mvc; using Neo.Legitimate.Applications.Models; using Neo.Legitimate.Data.Models; using Pilotfish.Afx.Mvc; using Neo.Legitimate.Common; using System; using System.Linq; using System.Collections.Generic; using System.Xml.Linq; using System.Xml; namespace Neo.Legitimate.Applications.Controllers { public partial class ApplicationsController : Neo.Legitimate.Common.ControllerBase { #region Action Results #region PurificationAllowedNewLicences public ActionResult PurificationViewSourceData(string olPermitNumber) { if (!SecurityHelper.UserHasAccessToSecurable(Profile.Securables.ToList(), Securable.ApplicationsModule_Purification_Manageallowednewlicencelist)) { return RedirectToAction("Default", "Applications"); } var model = new PurificationViewSourceDataModel(); model.SourceSystemResults = new List(); short sourceApplicationID = 0; short modeID = 3; bool includeActiveOnly = false; bool includeLastExpiredIfNoActiveFound = false; if (olPermitNumber.StartsWith("LK", StringComparison.InvariantCultureIgnoreCase)) { sourceApplicationID = 1; } else if (olPermitNumber.StartsWith("LG",StringComparison.InvariantCultureIgnoreCase)) { sourceApplicationID = 3; } else { sourceApplicationID = 2; } var database = new LegitimateDatabase(); var IssueNumberCnt = 0; var result = database.GetSourceXml(olPermitNumber, sourceApplicationID, modeID, includeActiveOnly, includeLastExpiredIfNoActiveFound); foreach (var x in result) { IssueNumberCnt++; var licence = new Models.OlasData(); //Vehicle Details XmlDocument VehicleObj = new XmlDocument(); VehicleObj.LoadXml(x.VehicleXML); XmlNode VehicleChassisNumberNode = VehicleObj.DocumentElement.SelectSingleNode("/vehicle/chassisnumber"); XmlNode VehicleEngineNumberNode = VehicleObj.DocumentElement.SelectSingleNode("/vehicle/enginenumber"); XmlNode VehicleMakeNode = VehicleObj.DocumentElement.SelectSingleNode("/vehicle/vehiclemake"); XmlNode VehicleRegistrationNumberNode = VehicleObj.DocumentElement.SelectSingleNode("/vehicle/registrationnumber"); //Licence Details XmlDocument LicenceObj = new XmlDocument(); LicenceObj.LoadXml(x.LicenceXML); XmlNode LicenceDateNode = LicenceObj.DocumentElement.SelectSingleNode("/licence/licencedate"); XmlNode LicenceCertificateNumberNode = LicenceObj.DocumentElement.SelectSingleNode("/licence/certificatenumber"); licence.VehicleChassisNumber = VehicleChassisNumberNode.InnerText; licence.VehicleEngineNumber = VehicleEngineNumberNode.InnerText; licence.VehicleMake = VehicleMakeNode.InnerText; licence.VehicleRegistrationNumber = VehicleRegistrationNumberNode.InnerText; licence.ApplicantIdNumber = x.IDNumber; licence.ApplicantName = x.FirstName + " " + x.LastName; licence.ApplicationNumber = x.ApplicationNumber; licence.AssociationName = x.AssociationName; licence.LicenceActive = x.LicenceActive; licence.LicenceEndDate = x.LicenceEndDate; licence.LicenceStartDate = x.LicenceStartDate; licence.LicenceIssueNumber = IssueNumberCnt; licence.LicenceNumber = x.LicenceNumber; licence.LicenceStatus = x.LicenceStatus; licence.LicenceCertificateNumber = LicenceCertificateNumberNode.InnerText; model.SourceSystemResults.Add(licence); } ViewBag.Controller = "Applications"; ViewBag.Page = "PurificationViewSourceData"; return View("PurificationViewSourceData", model); } #endregion #endregion } }