diff --git a/server/AyaNova/Controllers/XXX_DEPRECATED_ImportAyaNova7Controller.cs b/server/AyaNova/Controllers/XXX_DEPRECATED_ImportAyaNova7Controller.cs
new file mode 100644
index 00000000..52ea3e97
--- /dev/null
+++ b/server/AyaNova/Controllers/XXX_DEPRECATED_ImportAyaNova7Controller.cs
@@ -0,0 +1,270 @@
+// using System;
+// using System.Threading.Tasks;
+// using Microsoft.AspNetCore.Http;
+// using Microsoft.AspNetCore.Mvc;
+// using Microsoft.AspNetCore.Routing;
+// using Microsoft.AspNetCore.Authorization;
+// using Microsoft.Extensions.Logging;
+// using Microsoft.EntityFrameworkCore;
+// using System.Globalization;
+// using System.IO;
+// using System.Text;
+// using Microsoft.AspNetCore.Http.Features;
+// using Microsoft.AspNetCore.Mvc.ModelBinding;
+// using Microsoft.AspNetCore.WebUtilities;
+// using Microsoft.Net.Http.Headers;
+// using System.Collections.Generic;
+// using System.Linq;
+// using Newtonsoft.Json.Linq;
+// using AyaNova.Models;
+// using AyaNova.Api.ControllerHelpers;
+// using AyaNova.Util;
+// using AyaNova.Biz;
+
+
+//*******************************************************************************************************************************************
+//*******************************************************************************************************************************************
+//**************** COMMENTED OUT BUT KEPT AS AN EXAMPLE IN CASE NEED FOR OTHER TYPES OF FILE HANDLING OR IMPORT IN FUTURE ******************
+//*******************************************************************************************************************************************
+//*******************************************************************************************************************************************
+
+
+// namespace AyaNova.Api.Controllers
+// {
+
+
+// ///
+// /// Import AyaNova 7 data controller
+// ///
+// [ApiController]
+// [ApiVersion("8.0")]
+// [Route("api/v{version:apiVersion}/[controller]")]
+// [Produces("application/json")]
+// [Authorize]
+// public class ImportAyaNova7Controller : ControllerBase
+// {
+// private readonly AyContext ct;
+// private readonly ILogger log;
+// private readonly ApiServerState serverState;
+
+
+// ///
+// ///
+// ///
+// ///
+// ///
+// ///
+// public ImportAyaNova7Controller(AyContext dbcontext, ILogger logger, ApiServerState apiServerState)
+// {
+// ct = dbcontext;
+// log = logger;
+// serverState = apiServerState;
+// }
+
+
+
+// ///
+// /// Upload AyaNova 7 import file
+// ///
+// /// NameValue list of filenames and id's
+// [HttpPost]
+// [DisableFormValueModelBinding]
+// [RequestSizeLimit(10737418241)]//10737418240 = 10gb https://github.com/aspnet/Announcements/issues/267
+// public async Task Upload()
+// {
+// //outright closed then not allowed
+// if (serverState.IsClosed)
+// return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
+
+// if (!Authorized.HasCreateRole(HttpContext.Items, AyaType.AyaNova7Import))
+// {
+// return StatusCode(403, new ApiNotAuthorizedResponse());
+// }
+
+// var returnList = new List();
+
+// try
+// {
+// if (!MultipartRequestHelper.IsMultipartContentType(Request.ContentType))
+// {
+// return BadRequest(new ApiErrorResponse(ApiErrorCode.INVALID_OPERATION, "FileUploadAttempt", $"Expected a multipart request, but got {Request.ContentType}"));
+// }
+
+// var uploadFormData = await ApiUploadProcessor.ProcessUtilityFileUploadAsync(HttpContext);
+
+// bool badRequest = false;
+
+// string errorMessage = string.Empty;
+
+// //are these the right files?
+// if (uploadFormData.UploadedFiles.Count > 0)
+// {
+// foreach (UploadedFileInfo a in uploadFormData.UploadedFiles)
+// {
+// //should look like this: ayanova.data.dump.2018-04-2--12-30-57.zip
+// string lwr = a.OriginalFileName.ToLowerInvariant();
+// if (!(lwr.StartsWith("ayanova.data.dump") && lwr.EndsWith(".zip")))
+// {
+// badRequest = true;
+// errorMessage = $"File uploaded \"{lwr}\" does not appear to be an AyaNova 7 data dump file. The name should start with \"ayanova.data.dump\" have a date in the middle and end with \".zip\". Upload process is terminated without saving.";
+// }
+// }
+// }
+
+
+// if (badRequest)
+// {
+// //delete temp files
+// if (uploadFormData.UploadedFiles.Count > 0)
+// {
+// foreach (UploadedFileInfo a in uploadFormData.UploadedFiles)
+// {
+// System.IO.File.Delete(a.InitialUploadedPathName);
+// }
+// }
+// //return bad request
+// return BadRequest(new ApiErrorResponse(ApiErrorCode.VALIDATION_INVALID_VALUE, null, errorMessage));
+// }
+
+
+// //We have our files and a confirmed AyObject, ready to attach and save permanently
+// if (uploadFormData.UploadedFiles.Count > 0)
+// {
+// foreach (UploadedFileInfo a in uploadFormData.UploadedFiles)
+// {
+// returnList.Add(a.OriginalFileName);
+// }
+// }
+// }
+// catch (InvalidDataException ex)
+// {
+// return BadRequest(new ApiErrorResponse(ApiErrorCode.INVALID_OPERATION, "FileUploadAttempt", ex.Message));
+// }
+
+// //Return the list of attachment ids and filenames
+// return Ok(ApiOkResponse.Response(returnList, true));
+// }
+
+
+// ///
+// /// Delete import file
+// ///
+// ///
+// /// Ok
+// [HttpDelete("{filename}")]
+// public ActionResult Delete([FromRoute] string filename)
+// {
+// if (serverState.IsClosed)
+// return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
+
+// if (!ModelState.IsValid)
+// {
+// return BadRequest(new ApiErrorResponse(ModelState));
+// }
+
+
+// if (!Authorized.HasDeleteRole(HttpContext.Items, AyaType.AyaNova7Import))
+// {
+// return StatusCode(403, new ApiNotAuthorizedResponse());
+// }
+
+// //do the delete
+// //this handles removing the file if there are no efs left and also the db record for the attachment
+// FileUtil.DeleteUtilityFile(filename);
+
+// return NoContent();
+// }
+
+
+// ///
+// /// Get AyaNova 7 data dump uploaded files list
+// ///
+// /// List of uploaded data dump files
+// [HttpGet]
+// public ActionResult List()
+// {
+// if (serverState.IsClosed)
+// return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
+
+// if (!Authorized.HasReadFullRole(HttpContext.Items, AyaType.AyaNova7Import))
+// {
+// return StatusCode(403, new ApiNotAuthorizedResponse());
+// }
+
+// if (!ModelState.IsValid)
+// {
+// return BadRequest(new ApiErrorResponse(ModelState));
+// }
+
+// //dump file name example: ayanova.data.dump.XXX.zip
+// List l = FileUtil.UtilityFileList("ayanova.data.dump.*.zip");
+// return Ok(ApiOkResponse.Response(l, true));
+// }
+
+
+// ///
+// /// *ERASE DATABASE and start import of previously uploaded import file
+// /// **This will permanently erase all current data in database without further warning as the first step in the import process**
+// ///
+// ///
+// /// Ok
+// [HttpPost("EraseDatabaseAndStartImport/{filename}")]
+// public async Task EraseDatabaseAndStartImport([FromRoute] string filename)
+// {
+// if (serverState.IsClosed)
+// return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
+
+// if (!serverState.IsOpsOnly)
+// return BadRequest(new ApiErrorResponse(ApiErrorCode.INVALID_OPERATION, null, "Server must be set to Operations Only mode before importing"));
+
+// if (!ModelState.IsValid)
+// {
+// return BadRequest(new ApiErrorResponse(ModelState));
+// }
+
+// //UPDATE: I think it should be ok so commenting this out for now pending something coming up in testing
+// // //LOOKAT: I decided not to allow trial to import v7 data.
+// // //This was a snap decision, I didn't think about it much other than
+// // //I'm concerned right now as of April 17 2018 during development that
+// // //a trial user will import their old AyaNova data and then ... well somehow continue to use it I guess,
+// // //maybe it's a non-issue as a trial will only work so long anyway
+// // #if (!DEBUG)
+// // if (AyaNova.Core.License.LicenseIsTrial)
+// // {
+// // return BadRequest(new ApiErrorResponse(ApiErrorCode.INVALID_OPERATION, null, "Current license is a trial license key. Only a licensed database can be used with import."));
+// // }
+// // #endif
+
+// //Create, in that they are creating new data in AyaNova
+// if (!Authorized.HasCreateRole(HttpContext.Items, AyaType.AyaNova7Import))
+// {
+// return StatusCode(403, new ApiNotAuthorizedResponse());
+// }
+
+// //does the file even exist?
+// if (!FileUtil.UtilityFileExists(filename))
+// {
+// return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND, "filename", "File not found, ensure the name via the GET route endpoint list of previously uploaded import files"));
+// }
+
+
+// //Create the job here
+// dynamic jobInfo = new JObject();
+// jobInfo.ImportFileName = filename;
+
+// OpsJob j = new OpsJob();
+// j.Name = $"Import AyaNova7 data (import file \"{filename}\"";
+// j.JobType = JobType.ImportV7Data;
+// //j.O wnerId = UserIdFromContext.Id(HttpContext.Items);
+// j.JobInfo = jobInfo.ToString();
+// await JobsBiz.AddJobAsync(j, ct);
+// return Accepted(new { JobId = j.GId });//202 accepted
+// }
+
+// ////////////////////////////////////////////////////////////////////////////////////
+
+
+
+// }//eoc
+// }//eons
+