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 Neo.Legitimate.Data.Models.Ltps; namespace Neo.Legitimate.Applications.Controllers { public partial class ApplicationsController : Neo.Legitimate.Common.ControllerBase { #region Action Results #region PurificationUpdateMemberData public ActionResult PurificationUpdateMemberData() { if (!SecurityHelper.UserHasAccessToSecurable(Profile.Securables.ToList(), Securable.ApplicationsModule_Purification_Updatemembercontactdetails)) { return RedirectToAction("Default", "Applications"); } var database = new LegitimateDatabase(); var ltpsDatabase = new LtpsDatabase(); var model = new PurificationUpdateMemberDataModel(); ViewBag.Controller = "Applications"; ViewBag.Page = "Purification"; return View("PurificationUpdateMemberData", model); } #endregion #endregion #region JSON endpoints [HttpPost] public JsonResult FindMemberByID(string idNumber) { if (!SecurityHelper.UserHasAccessToSecurable(Profile.Securables.ToList(), Securable.ApplicationsModule_Purification_Updatemembercontactdetails)) { throw new Exception("Security error"); } var errorMessage = ""; var success = false; var database = new LegitimateDatabase(); var searchResult = new PurificationUpdateMemberDataModel_SearchResult(); try { var member = database.Purification_FindMember(idNumber, Profile.UserID); if (member != null) { searchResult.Email = member.Email; searchResult.FirstNames = member.FirstNames; searchResult.IDNumber = member.IDNumber; searchResult.MemberDataSource = member.MemberDataSource; searchResult.PhysicalAddress = member.PhysicalAddress; searchResult.PhysicalAddressCode = member.PhysicalAddressCode; searchResult.PostalAddress = member.PostalAddress; searchResult.PostalAddressCode = member.PostalAddressCode; searchResult.RecordsThatWillBeAffectedByUpdate = member.RecordsThatWillBeAffectedByUpdate; searchResult.SARSIncomeTaxNumber = member.SARSIncomeTaxNumber; searchResult.SARSReasonIfNoTaxNumber = member.SARSReasonIfNoTaxNumber; searchResult.Surname = member.SurnameOrCompanyName; searchResult.TelCell = member.TelCell; searchResult.TelFax = member.TelFax; searchResult.TelPhone = member.TelPhone; searchResult.TradeName = member.TradeName; searchResult.BusinessTypeID = member.BusinessTypeID; success = true; } else { errorMessage = "Member not found"; } } catch (Exception ex) { errorMessage = database.GetInnermostMessage(ex); } var results = new { Success = success, Member = searchResult, ErrorMessage = errorMessage }; return Json(results, JsonSerializerOptions.None); } [HttpPost] public JsonResult SaveMemberData(string idNumber, string surname, string firstNames, string tradeName, string postalAddress, string postalAddressCode, string physicalAddress, string physicalAddressCode, string telPhone, string telCell, string telFax, string email, string sarsIncomeTaxNumber, string sarsReasonIfNoTaxNumber, long? businessTypeID) { if (!SecurityHelper.UserHasAccessToSecurable(Profile.Securables.ToList(), Securable.ApplicationsModule_Purification_Updatemembercontactdetails)) { throw new Exception("Security error"); } var errorMessage = ""; var success = false; var database = new LegitimateDatabase(); try { database.Purification_UpdateMember(idNumber, surname, firstNames, tradeName, postalAddress, postalAddressCode, physicalAddress, physicalAddressCode, telPhone, telCell, telFax, email, sarsIncomeTaxNumber, sarsReasonIfNoTaxNumber, businessTypeID, Profile.UserID); success = true; } catch (Exception ex) { errorMessage = database.GetInnermostMessage(ex); } var results = new { Success = success, ErrorMessage = errorMessage }; return Json(results, JsonSerializerOptions.None); } #endregion } }