Diskuze: CSV a ASP.NET
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Maros2470:13.9.2014 9:32
Zatím to mám napsáno takto, ale data to nenačte. Chybu to nehlásí žádnou. Jen to problikne a nic.
using System;
using System.Collections.Generic;
using System.Linq;
using System.IO;
using eli_elektro.Models;
namespace eli_elektro.Admin
{
public partial class InsertCsv : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
PopulateDatabaseData();
lblMessage.Text = "Current Database Data.";
}
}
private void PopulateDatabaseData()
{
using (var dc = new PriceContext())
{
gvData.DataSource = dc.Appliances.ToList();
gvData.DataBind();
}
}
public List<Appliance> GeAppliances()
{
var db = new PriceContext();
var query = db.Appliances;
return query.ToList();
}
protected void btnImportCSV_click(object sender, EventArgs e)
{
if (FileUpload1.PostedFile.ContentType == "text/csv" || FileUpload1.PostedFile.ContentType == "application/vnd.ms-excel")
{
string fileName = Path.Combine(Server.MapPath("~/UploadDocuments"), new Guid() + ".csv");
FileUpload1.PostedFile.SaveAs(fileName);
string[] lines = File.ReadAllLines(fileName);
string[] fields;
// Odstranění hlavičky CSV
lines = lines.Skip(1).ToArray();
var emList = new List<Appliance>();
foreach (var line in lines)
{
fields = line.Split(';');
emList.Add(item: new Appliance
{
Customer = fields[0],
Place1 = fields[1],
Place2 = fields[2],
Place3 = fields[3],
Place4 = fields[4],
ApplianceId = fields[5],
Name = fields[6],
SortingKey = fields[7],
InvertoryNumber = fields[8],
SerialNumber = fields[9],
CordLength = Convert.ToDecimal(fields[10]),
RevisionInterval = Convert.ToInt16(fields[11]),
TakenIntoEvidence = Convert.ToDateTime(fields[12]),
Note = fields[13],
Group = fields[14],
ProtectionClass = fields[15],
ConnectionMethod = fields[16],
AppCategory = fields[17],
EquipmentClass = fields[18],
UserValue0Name = fields[19],
UserValue0Value = fields[20],
UserValue1Name = fields[21],
UserValue1Value = fields[22],
UserValue2Name = fields[23],
UserValue2Value = fields[24],
UserValue3Name = fields[25],
UserValue3Value = fields[26],
UserValue4Name = fields[27],
UserValue4Value = fields[28],
UserValue5Name = fields[29],
UserValue5Value = fields[30],
UserValue6Name = fields[31],
UserValue6Value = fields[32],
UserValue7Name = fields[33],
UserValue7Value = fields[34],
UserValue8Name = fields[35],
UserValue8Value = fields[36],
UserValue9Name = fields[37],
UserValue9Value = fields[38],
MeasDate = Convert.ToDateTime(fields[39]),
MPr = fields[40],
MZk = fields[41],
MRpe200mA = fields[42],
MRpe10A = fields[43],
Mu10A = fields[44],
MRiso500V = fields[45],
MRiso250V = fields[46],
MRiso100V = fields[47],
MRisoInW = fields[48],
MRisoWPe = fields[49],
MRisoInPe = fields[50],
MIpe = fields[51],
MIpeInv = fields[52],
MIpeExt = fields[53],
MIdif = fields[54],
MIdifInv = fields[55],
MIdifExt = fields[56],
MId = fields[57],
MIdDif = fields[58],
MIsub = fields[59],
MidW = fields[60],
MIdDifW = fields[61],
Mp = fields[62],
MpExt = fields[63],
Ms = fields[64],
MsExt = fields[65],
McosPhi = fields[66],
Mi = fields[67],
Mu = fields[68],
MiExt = fields[69],
MTemp = fields[70],
MRpm = fields[71],
MUoVef = fields[72],
MUoVpp = fields[73],
MimSn = fields[74],
MimPn = fields[75],
MimPp = fields[76],
MimPPz = fields[77],
MeasInspectionNote = fields[78],
MeasInspectionStatus = fields[79],
MeasFunctTestNote = fields[80],
MeasFunctTestStatus = fields[81],
MeasMeasurementsNote = fields[82],
MeasMeasurementsStatus = fields[83],
MeasGlobalNote = fields[84],
MeasGlobalStatus = fields[85],
InspectorName = fields[86],
InspectorSecondName = fields[87],
InspectorLicense = fields[88],
DeviceSerialNum = fields[89],
DeviceType = fields[90],
DeviceCalibrationNum = fields[91],
DeviceCalibrationExpire = fields[92],
SupplFirm = fields[93],
SupplIc = fields[94],
});
// Update Database Data
using (var dc = new PriceContext())
{
foreach (var i in emList)
{
var v = dc.Appliances.FirstOrDefault(a => a.Id.Equals(i.Id));
if (v != null)
{
v.Customer = i.Customer;
v.Place1 = i.Place1;
v.Place2 = i.Place2;
v.Place3 = i.Place3;
v.Place4 = i.Place4;
v.ApplianceId = i.ApplianceId;
v.Name = i.Name;
v.SortingKey = i.SortingKey;
v.InvertoryNumber = i.InvertoryNumber;
v.SerialNumber = i.SerialNumber;
v.CordLength = i.CordLength;
v.RevisionInterval = i.RevisionInterval;
v.TakenIntoEvidence = i.TakenIntoEvidence;
v.Note = i.Note;
v.Group = i.Group;
v.ProtectionClass = i.ProtectionClass;
v.ConnectionMethod = i.ConnectionMethod;
v.AppCategory = i.AppCategory;
v.EquipmentClass = i.EquipmentClass;
v.UserValue0Name = i.UserValue0Name;
v.UserValue0Value = i.UserValue0Value;
v.UserValue1Name = i.UserValue1Name;
v.UserValue1Value = i.UserValue1Value;
v.UserValue2Name = i.UserValue2Name;
v.UserValue2Value = i.UserValue2Value;
v.UserValue3Name = i.UserValue3Name;
v.UserValue3Value = i.UserValue3Value;
v.UserValue4Name = i.UserValue4Name;
v.UserValue4Value = i.UserValue4Value;
v.UserValue5Name = i.UserValue5Name;
v.UserValue5Value = i.UserValue5Value;
v.UserValue6Name = i.UserValue6Name;
v.UserValue6Value = i.UserValue6Value;
v.UserValue7Name = i.UserValue7Name;
v.UserValue7Value = i.UserValue7Value;
v.UserValue8Name = i.UserValue8Name;
v.UserValue8Value = i.UserValue8Value;
v.UserValue9Name = i.UserValue9Name;
v.UserValue9Value = i.UserValue9Value;
v.MeasDate = i.MeasDate;
v.MPr = i.MPr;
v.MZk = i.MZk;
v.MRpe200mA = i.MRpe200mA;
v.MRpe10A = i.MRpe10A;
v.Mu10A = i.Mu10A;
v.MRiso500V = i.MRiso500V;
v.MRiso250V = i.MRiso250V;
v.MRiso100V = i.MRiso100V;
v.MRisoInW = i.MRisoInW;
v.MRisoWPe = i.MRisoWPe;
v.MRisoInPe = i.MRisoInPe;
v.MIpe = i.MIpe;
v.MIpeInv = i.MIpeInv;
v.MIpeExt = i.MIpeExt;
v.MIdif = i.MIdif;
v.MIdifInv = i.MIdifInv;
v.MIdifExt = i.MIdifExt;
v.MId = i.MId;
v.MIdDif = i.MIdDif;
v.MIsub = i.MIsub;
v.MidW = i.MidW;
v.MIdDifW = i.MIdDifW;
v.Mp = i.Mp;
v.MpExt = i.MpExt;
v.Ms = i.Ms;
v.MsExt = i.MsExt;
v.McosPhi = i.McosPhi;
v.Mi = i.Mi;
v.Mu = i.Mu;
v.MiExt = i.MiExt;
v.MTemp = i.MTemp;
v.MRpm = i.MRpm;
v.MUoVef = i.MUoVef;
v.MUoVpp = i.MUoVpp;
v.MimSn = i.MimSn;
v.MimPn = i.MimPn;
v.MimPp = i.MimPp;
v.MimPPz = i.MimPPz;
v.MeasInspectionNote = i.MeasInspectionNote;
v.MeasInspectionStatus = i.MeasInspectionStatus;
v.MeasFunctTestNote = i.MeasFunctTestNote;
v.MeasFunctTestStatus = i.MeasFunctTestStatus;
v.MeasMeasurementsNote = i.MeasMeasurementsNote;
v.MeasMeasurementsStatus = i.MeasMeasurementsStatus;
v.MeasGlobalNote = i.MeasGlobalNote;
v.MeasGlobalStatus = i.MeasGlobalStatus;
v.InspectorName = i.InspectorName;
v.InspectorSecondName = i.InspectorSecondName;
v.InspectorLicense = i.InspectorLicense;
v.DeviceSerialNum = i.DeviceSerialNum;
v.DeviceType = i.DeviceType;
v.DeviceCalibrationNum = i.DeviceCalibrationNum;
v.DeviceCalibrationExpire = i.DeviceCalibrationExpire;
v.SupplFirm = i.SupplFirm;
v.SupplIc = i.SupplIc;
}
else
{
dc.Appliances.Add(i);
}
dc.SaveChanges();
//Populate Database Data
PopulateDatabaseData();
lblMessage.Text = "Data uložena!";
}
}
}
}
}
}
}
Odpovídá na Maros2470
Michal Štěpánek:13.9.2014 9:44
Michal Štěpánek:13.9.2014 9:44
http://www.dotnetportal.cz/…DataGridView
Třeba ti to v něčem pomůže
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.
Zobrazeno 5 zpráv z 5.