Example #1
0
        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;
		}