68 lines
2.3 KiB
C#
68 lines
2.3 KiB
C#
using API.Client;
|
|
using API.Models;
|
|
using Data;
|
|
using System;
|
|
using System.IO;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Migration {
|
|
internal class Program {
|
|
private static void Main(string[] args) {
|
|
var path = @"d:\Documents\Worship Generator\";
|
|
|
|
for (var i = 0; i < 500; i++) {
|
|
var xmlFile = Path.Combine(path, i.ToString() + ".xml");
|
|
if (!System.IO.File.Exists(xmlFile)) continue;
|
|
|
|
var ds = new SongDataset();
|
|
ds.ReadXml(xmlFile);
|
|
|
|
var source = ds.SONGLIST[0];
|
|
|
|
var song = new Song {
|
|
Name = source.NAME.TrimEnd('\r', '\n'),
|
|
Number = source.NUMBER,
|
|
SongType = MapSongType(source),
|
|
Tempo = source.IsSPEEDNull() ? (int?)null : source.SPEED,
|
|
Key = MapKey(source),
|
|
Text = source.IsPREVIEWNull() ? null : source.PREVIEW,
|
|
Comments = source.IsCOMMENTNull() ? null : source.COMMENT,
|
|
Final = source.IsFINALNull() ? false : source.FINAL
|
|
};
|
|
Console.WriteLine(song.Name);
|
|
|
|
var client = new Client();
|
|
Task.WaitAll(new[] { client.Post(song) });
|
|
}
|
|
|
|
Console.ReadKey();
|
|
|
|
}
|
|
private static SongType MapSongType(SongDataset.SONGLISTRow source) {
|
|
if (source.IsKINDNull()) return SongType.None;
|
|
switch (source.KIND) {
|
|
case "Lobpreis": return SongType.Praise;
|
|
case "Anbetung": return SongType.Worship;
|
|
default: return SongType.None;
|
|
}
|
|
}
|
|
|
|
private static string MapKey(SongDataset.SONGLISTRow source) {
|
|
if (source.IsHARMONICNull()) return null;
|
|
|
|
switch (source.HARMONIC) {
|
|
case "D": return KeysSMaj.D;
|
|
case "a": return KeysSMin.A;
|
|
case "d": return KeysSMin.D;
|
|
case "G": return KeysSMaj.G;
|
|
case "E": return KeysSMaj.E;
|
|
case "C": return KeysSMaj.C;
|
|
case "A": return KeysSMaj.A;
|
|
case "e": return KeysSMin.E;
|
|
case "fis": return KeysSMin.FS;
|
|
default: return null;
|
|
}
|
|
}
|
|
}
|
|
}
|