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."; } }
partial void DeleteTransakcje(Transakcje instance);
partial void UpdateTransakcje(Transakcje instance);
partial void InsertTransakcje(Transakcje instance);
private void detach_Transakcjes(Transakcje entity) { this.SendPropertyChanging(); entity.Klient = null; }
private void attach_Transakcjes(Transakcje entity) { this.SendPropertyChanging(); entity.Klient = this; }