Cześć,
Uczę się sam i robię mały programik na swoje potrzeby.
Poszukuję rozwiązanie (bo moje nie działa) które usprawni mi dodawanie nowych wpisów do pliku csv. Obecnie wpis dodaje się, jednak jeśli już taki jest to powiela mimo wszystko.
Stworzyłem Class Serwery_Model
wczytuję do listy i chciałbym aby aplikacja przed dodaniem wpisu sprawdziła czy np SN jest już na liście czy nie. Jeśli jest to komunikat, jeśli nie to dodaje.
Mój kod wygląda tak:
private void Dodaj_Click(object sender, EventArgs e)
{
using (var reader = new StreamReader("Serwery.csv", true))
using (var csvread = new CsvReader(reader, CultureInfo.InvariantCulture))
{
var records = csvread.GetRecords<Serwery_Model>().ToList();
reader.Close();
bool zawiera = records.Contains(new Serwery_Model { SN = SnAdd.Text });
if (zawiera)
{
MessageBox.Show("Serwer jest już w bazie");
}
else
{
var records4 = new List<Serwery_Model>
{
new Serwery_Model { Szafa = SzafaAdd.Text, Nazwa = NazwaAdd.Text, Model = ModelAdd.Text, SN = SnAdd.Text, U = UAdd.Text, Odcinek = OdcinekAdd.Text },
};
CsvConfiguration config = new CsvConfiguration(CultureInfo.InvariantCulture)
{
HasHeaderRecord = false
};
using (var writer = new StreamWriter("Serwery.csv", true))
using (var csv = new CsvWriter(writer, config))
{
csv.WriteRecords(records4);
}
}
}
button3_Click(sender, e);
}
Czy ktoś mógłby jakoś pomóc?
Ta funkcja mimo wszystko dodaje nowy wpis do pliku.