public string UploadData(mKlient client) { using (DataClasses1DataContext context = new DataClasses1DataContext()) { try { Klient klient = new Klient { nr_konta = client.NrKonta, nazwa_klienta = client.Nazwa, waluta = client.Waluta }; string nrWyciagu = client.Transakcje.ElementAt(0).NrWyciagu; var result = from k in context.Klients where k.nr_konta == klient.nr_konta select k.nr_konta; // Jeśli klient jest już w bazie to go nie dodajemy. if(!klient.nr_konta.Equals(result.Single())) { context.Klients.InsertOnSubmit(klient); } // Sprawdzamy czy wyciąg istnieje w bazie var wyciagi = from w in context.Wyciagis where w.nr_klienta == klient.nr_konta select w.nr_wyciagu; if (!wyciagi.Contains(nrWyciagu)) { Wyciagi wyciag = new Wyciagi { nr_klienta = klient.nr_konta, nr_wyciagu = nrWyciagu }; List<Transakcje> transakcje = new List<Transakcje>(); foreach (mTransakcja t in client.Transakcje) { Transakcje transakcja = new Transakcje { nr_konta_klienta = klient.nr_konta, nrWyciagu = t.NrWyciagu, data_operacji = t.DataOperacji, data_ksiegowania = t.DataKsiegowania, opis_operacji = t.OpisOperacji, tytul = t.Tytul, nadawca_odbiorca = t.NadawcaOdbiorca, nr_konta_nadawcy_odbiorcy = t.NrKonta, kwota = t.Kwota, saldo_po_operacji = t.SaldoPoOperacji }; transakcje.Add(transakcja); } context.Wyciagis.InsertOnSubmit(wyciag); context.Transakcjes.InsertAllOnSubmit(transakcje); context.SubmitChanges(System.Data.Linq.ConflictMode.ContinueOnConflict); } else { return "Ten wyciąg jest już w bazie."; } } catch(Exception ex) { return ex.ToString(); } return "Dane zostały zapisane do bazy."; } }
private void buttonWczytajBaza_Click(object sender, EventArgs e) { try { Form2 load = new Form2(); load.ShowDialog(); if (load.DialogResult == DialogResult.OK) { buttonZapiszBaza.Enabled = false; Service1Client client = new Service1Client(); var result = client.GetClientByID(load.NrKonta, load.NrWyciagu); dataGridView1.Rows.Clear(); foreach (mTransakcja t in result.Transakcje) { string[] tmp = new string[8]; tmp[0] = t.DataOperacji.ToShortDateString(); tmp[1] = t.DataKsiegowania.ToShortDateString(); tmp[2] = t.OpisOperacji; tmp[3] = t.Tytul; tmp[4] = t.NadawcaOdbiorca; tmp[5] = t.NrKonta; tmp[6] = t.Kwota.ToString(); tmp[7] = t.SaldoPoOperacji.ToString(); dataGridView1.Rows.Add(tmp); } klient = result; if (klient.Transakcje.Length > 0) { richTextBoxMT940.Text = mt940(); } client.Close(); } } catch(Exception ex) { MessageBox.Show(ex.ToString()); } }