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.
QW2021/Resultate/Resultat_Upload.aspx.cs

148 lines
4.8 KiB

using GenericParsing;
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace QW2021C.Resultate
{
public partial class Resultat_Upload : System.Web.UI.Page
{
Helper.Log log = new Helper.Log();
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Upload1_Complete(object sender, Syncfusion.JavaScript.Web.UploadBoxCompleteEventArgs e)
{
log.insert_entry(2, Convert.ToInt32(Session["UserID"]), "Resultate hochgeladen " + e.Name);
this.Tab1.SelectedItemIndex = 2;
//this.target.Visible = true;
this.hiddenfilename.Value= e.Name;
}
protected void UploadBox2_Init(object sender, EventArgs e)
{
this.lblError1.Text = "";
}
protected void btnweiter1_Click(object Sender, Syncfusion.JavaScript.Web.ButtonEventArgs e)
{
try
{
if (this.cbboxOrt.Text == "")
{
this.lblError1.Text = "Bitte ein Ort auswählen.";
return;
}
}
catch
{
this.lblError1.Text = "Bitte ein Ort auswählen.";
return;
}
clsDB db = new clsDB();
db.Get_Tabledata("Select * from res_ort where ort = '" + cbboxOrt.Text.ToString() + "'", false, true);
if (db.dsdaten.Tables[0].Rows.Count < 1)
{
this.lblError1.Text = "Eigegebener Ort ist ungültig!";
return;
}
this.hiddenortnr.Value = db.dsdaten.Tables[0].Rows[0][0].ToString();
this.hiddenortname.Value= db.dsdaten.Tables[0].Rows[0][1].ToString();
this.hiddendeletedata.Value = this.chkdelresdata.Checked.ToString();
this.Tab1.SelectedItemIndex = 1;
}
protected void btnweiter2_Click(object Sender, Syncfusion.JavaScript.Web.ButtonEventArgs e)
{
string filename = this.hiddenfilename.Value;
string targetFolder = HttpContext.Current.Server.MapPath("~/Upload");
filename = targetFolder + "\\" + filename;
string fn;
GenericParserAdapter Parser = new GenericParserAdapter(filename,System.Text.Encoding.GetEncoding("Windows-1252"));
DataSet ds = new DataSet();
Parser.ColumnDelimiter = Convert.ToChar(";");
Parser.FirstRowHasHeader = true;
ds = Parser.GetDataSet();
clsDB db = new clsDB();
db.truncate_table("dbo.res_taf_import");
db.dsdaten.Tables.Clear();
db.Get_Tabeldata_for_Update("Select * from dbo.res_taf_import", false, true);
foreach (System.Data.DataRow r in ds.Tables[0].Rows )
{
System.Data.DataRow rn = db.dsdaten.Tables[0].NewRow();
for (int i = 0; i < 24; i++)
{
rn[i] = r[i];
}
rn[24] = this.hiddenortnr.Value.ToString();
rn[25] = 0;
rn[26] = r[24];
db.dsdaten.Tables[0].Rows.Add(rn);
}
string result = "";
db.Update_Tabeldata();
result=db.migrate_taf_resultate(this.hiddenortnr.Value, this.hiddendeletedata.Value);
this.lblimporterror.Text = "";
if (result.Substring(0, 5) == "Fehl")
{
this.lblimporterror.Text = "Achtung - beim Import sind fehler aufgetreten. Bitte prüfen?";
}
else
{
var json = result;
var res = json.Trim('{', '}').Split(',').Select(x => x.Split('=')).ToDictionary(x => x[0], x => int.Parse(x[1]));
this.lblstatistik.Text = string.Join("\r\n", res.Select(x => x.Key + " : " + x.Value+"<br>"));
}
this.Tab1.SelectedItemIndex = 3;
}
protected byte[] GetCSVFileContent(string fileName)
{
StringBuilder sb = new StringBuilder();
using (StreamReader sr = new StreamReader(fileName, Encoding.Default, true))
{
String line;
// Read and display lines from the file until the end of
// the file is reached.
while ((line = sr.ReadLine()) != null)
{
sb.AppendLine(line);
}
}
string allines = sb.ToString();
UTF8Encoding utf8 = new UTF8Encoding();
var preamble = utf8.GetPreamble();
var data = utf8.GetBytes(allines);
return data;
}
}
}