public ProcessPileDefinitionResult ProcessPileDefinition(object sourceDescriptor, object targetDescriptor) { if (!PileEngine.SourceDescriptorTypeIsValid(sourceDescriptor)) { return(ProcessPileDefinitionResult.SourceDescriptorInvalid); } if (!PileEngine.TargetDescriptorTypeIsValid(targetDescriptor)) { return(ProcessPileDefinitionResult.TargetDescriptorInvalid); } PileDefinition pileDefinition = PileEngine.ReadPileDefinition(sourceDescriptor); if (pileDefinition == null) { return(ProcessPileDefinitionResult.PileDefinitionUnreadable); } bool success = PileEngine.WritePileDefinition(pileDefinition, targetDescriptor); if (success == false) { return(ProcessPileDefinitionResult.FailedWritingPileDefinition); } return(ProcessPileDefinitionResult.Success); }
public ReadTilesResult ProcessTiles(object sourceDescriptor, object targetDescriptor, int pileId, int mediaItemGroupId, bool addTileIdAsPrefix) { if (!PileEngine.SourceDescriptorTypeIsValid(sourceDescriptor)) { return(ReadTilesResult.SourceDescriptorInvalid); } if (!PileEngine.TargetDescriptorTypeIsValid(targetDescriptor)) { return(ReadTilesResult.TargetDescriptorInvalid); } PileDefinition pileDefinition = PileEngine.ReadPileDefinition(sourceDescriptor); if (pileDefinition == null) { return(ReadTilesResult.PileDefinitionUnreadable); } bool success = PileEngine.WriteTiles(pileDefinition, sourceDescriptor, targetDescriptor, pileId, mediaItemGroupId, addTileIdAsPrefix); if (success == false) { return(ReadTilesResult.FailedWritingTiles); } return(ReadTilesResult.Success); }
public bool WritePileDefinition(PileDefinition pileDefinition, object targetDescriptor) { // TODO: Cleanup pilecreation result enum (split) and don't reuse pileCreationResult PileCreationResult pileCreationResult = PileCreationTarget.CheckPileCreationTarget(targetDescriptor); if (pileCreationResult == PileCreationResult.Ok) // TODO: use proper enum for this! { pileCreationResult = PileCreationTarget.WritePileDefinition(targetDescriptor, pileDefinition); } return(pileCreationResult == PileCreationResult.Successful); }
public PileDefinition ReadPileDefinition(object sourceDescriptor) { PileDefinition pileDefinition = null; PileSourceCheckResult pileSourceCheckResult = PileSource.CheckPileSource(sourceDescriptor); if (pileSourceCheckResult == PileSourceCheckResult.PileSourceOK) { pileDefinition = PileSource.ReadPileDefinition(sourceDescriptor); } return(pileDefinition); }
public bool WriteTiles(PileDefinition pileDefinition, object sourceDescriptor, object targetDescriptor, int pileId, int mediaItemGroupId, bool addTileIdAsPrefix) { // TODO: Cleanup pilecreation result enum (split) and don't reuse pileCreationResult PileSourceCheckResult pileSourceCheckResult = PileSource.CheckPileSource(sourceDescriptor); PileCreationResult pileCreationResult = PileCreationTarget.CheckPileCreationTarget(targetDescriptor); if (pileSourceCheckResult == PileSourceCheckResult.PileSourceOK && pileCreationResult == PileCreationResult.Ok) { // TODO: properly handle and return each result pileCreationResult = WriteValidationTiles(sourceDescriptor, targetDescriptor, pileDefinition, pileId, mediaItemGroupId, addTileIdAsPrefix); pileCreationResult = WriteExampleTiles(sourceDescriptor, targetDescriptor, pileDefinition, pileId, mediaItemGroupId, addTileIdAsPrefix); pileCreationResult = WriteExpertTiles(sourceDescriptor, targetDescriptor, pileDefinition, pileId, mediaItemGroupId, addTileIdAsPrefix); } return(pileCreationResult == PileCreationResult.Ok); }
public PileDefinition ReadPileDefinition(object sourceAccessDescriptor) { string fileName = Path.Combine((string)sourceAccessDescriptor, "pileInfo.json"); // TODO: assert format valid PileDefinition pileDefinition = null; try { pileDefinition = PileDefinition.FromJson(File.ReadAllText(fileName)); } catch (Exception e) { Console.WriteLine(e.Message); } return(pileDefinition); }
public PileCreationResult WritePileDefinition(object targetAccessDescriptor, PileDefinition pileDefinition) { string folderName = (string)targetAccessDescriptor; string targetFileName = Path.Combine(folderName, "insert_pile_definition.sql"); try { if (pileDefinition != null) { File.WriteAllText(targetFileName, pileDefinition.SqlInsert); } } catch (Exception e) { Console.WriteLine(e.Message); return(PileCreationResult.WritingPileDefinitionFailed); } return(PileCreationResult.Successful); }
public PileCreationResult WriteExpertTiles(object targetAccessDescriptor, List <ExpertTile> tiles, PileDefinition pileDefinition, int pileId, int mediaItemGroupId) { string targetFile = Path.Combine((string)targetAccessDescriptor, "insert_expert_tiles.sql"); List <string> inserts = tiles.Select(validationTile => $"select from public.gw_insert_urundata_expert_tile('{validationTile.filename}', {mediaItemGroupId}, {pileId}, {pileDefinition.GetAnswerId(validationTile.correctAnswer)});").ToList(); try { File.WriteAllLines(targetFile, inserts); } catch (Exception e) { return(PileCreationResult.WritingPileTilesFailed); } return(PileCreationResult.Successful); }
private PileCreationResult WriteValidationTiles(object sourceDescriptor, object targetDescriptor, PileDefinition pileDefinition, in int pileId, in int mediaItemGroupId, in bool addTileIdAsPrefix)