You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

111 lines
3.9 KiB

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Net;
using System.Configuration;
namespace AlabusTransfer
{
internal class Program
{
static Helper.Log Log = new Helper.Log();
static void Main(string[] args)
{
Log.insert_entry(0, 0, "Start Alabus-Abgleich");
string url = Properties.Settings.Default.URL;
CallRestMethod(url);
Log.insert_entry(0, 0, "Ende Alabus-Abgleich");
clsDB db = new clsDB();
Helper.clsMailClient mc = new Helper.clsMailClient();
mc.CreateTestMessage("QW-Tool: Autom. Alabus-Import", db.get_importstatistik());
Log.insert_entry(0, 0, "Mail versandt");
}
static void CallRestMethod(string url)
{
//var wc = new WebClient();
//var data = wc.DownloadString(url);
Log.insert_entry(0, 0, "Start Alabus-Download");
string dbconnection = Properties.Settings.Default.QWToolConnectionstring;
String userName = Properties.Settings.Default.UID;
String passWord = Properties.Settings.Default.PWD;
Uri restUri = new Uri(url);
string localTarget = Properties.Settings.Default.TransferPath + "DataDownload.gz";
// String userName = "40307";
// String passWord = "Turicum18";
string noDownload = Properties.Settings.Default.NoDownload;
if (noDownload != "YES")
{
string credentials = Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes(userName + ":" + passWord));
using (var webClient = new WebClient())
{
webClient.Headers[HttpRequestHeader.Authorization] = "Basic " + credentials;
webClient.DownloadFile(restUri, localTarget);
}
}
Log.insert_entry(0, 0, "Ende Alabus-Download");
unzip_file();
load_data();
}
static void unzip_file()/* TODO ERROR: Skipped SkippedTokensTrivia */
{
Log.insert_entry(0, 0, "Start Unzip");
string filename = "DataDownload.gz";
string targetFolder = Properties.Settings.Default.TransferPath;
filename = targetFolder + "\\" + filename;
string extension;
extension = System.IO.Path.GetExtension(filename);
if (extension == ".gz")
{
Helper.zipHelper csh = new Helper.zipHelper();
var fi = new System.IO.FileInfo(filename);
csh.Decompress(fi);
System.Data.DataSet DS = new System.Data.DataSet();
string fn;
fn = System.IO.Path.GetFileNameWithoutExtension(filename);
DS.ReadXml(targetFolder + "\\" + fn);
System.Data.DataSet dsverein = new System.Data.DataSet();
dsverein.Tables.Add(DS.Tables["account"].Copy());
System.Data.DataSet dsathlete = new System.Data.DataSet();
dsathlete.Tables.Add(DS.Tables["athlete"].Copy());
dsverein.WriteXml(targetFolder + "\\verein.xml");
dsathlete.WriteXml(targetFolder + "\\athlete.xml");
}
Log.insert_entry(0, 0, "Ende Unzipü");
}
static void load_data()
{
Log.insert_entry(0, 0, "Start Data Load");
clsDB db = new clsDB();
string targetFolder = Properties.Settings.Default.TransferPath;
db.update_verein(targetFolder);
db.update_athlete(targetFolder);
Log.insert_entry(0, 0, "Ende Data Load");
db.Import_Statistik();
Log.insert_entry(0, 0, "Statistik nachgeführt");
}
}
}