33 lines
1.4 KiB
C#
33 lines
1.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
using AyaNova.Models;
|
|
using Newtonsoft.Json.Linq;
|
|
|
|
|
|
namespace AyaNova.Biz
|
|
{
|
|
/// <summary>
|
|
/// Interface for biz objects that support importing AyaNova 7 data
|
|
/// </summary>
|
|
internal interface IImportAyaNova7Object
|
|
{
|
|
|
|
/// <summary>
|
|
/// Import from the JSON data provided
|
|
/// </summary>
|
|
/// <param name="v7ImportData">Json object containing source record</param>
|
|
/// <param name="importMap">A collection that can be used to match import records to new records, NOT persistent between imports</param>
|
|
/// <param name="JobId">JobId for logging or controlling jobs from within processor</param>
|
|
/// <param name="tagLists">All the items imported to lists of tags with matching id for attribution / tagging imported object</param>
|
|
/// <returns>True if imported, False if not imported due to invalid or other error (logged in job log)</returns>
|
|
Task<bool> ImportV7Async(JObject v7ImportData, List<ImportAyaNova7MapItem> importMap, Guid JobId, Dictionary<string, Dictionary<Guid, string>> tagLists);
|
|
|
|
/// <summary>
|
|
/// If true, relaxes validation rules so that incomplete data can be imported
|
|
/// </summary>
|
|
bool SeedOrImportRelaxedRulesMode { get; set; }
|
|
|
|
}
|
|
|
|
} |