private void WykonajKomunikatSplata(Komunikator komunikat) { splacanaPozyczka.KwotaPozostala -= komunikat.Wartosc; if (splacanaPozyczka.KwotaPozostala <= 0) { splacanaPozyczka.Splacona = true; } var operacja = new Operacja { Id = Guid.NewGuid(), Data = DateTime.Now, Kwota = komunikat.Wartosc, Typ = Operacja.TypOperacji.SplataPozyczki, NrElementuOperacji = splacanaPozyczka.NumerPozyczki, Opis = $"Spłata raty pożyczki nr {splacanaPozyczka.NumerPozyczki}" }; BazaDanych.ObiektBazyDanych.Operacje.Add(operacja); BazaDanych.ZapiszZmianyWBazie(); MessageBox.Show($"Pozyczka nr {splacanaPozyczka.NumerPozyczki} została pomniejszona o kwotę {komunikat.Wartosc} zł"); Messenger.Default.Send <Komunikator, MainViewModel>(new Komunikator { Typ = Operacja.TypOperacji.SplataPozyczki, Wartosc = komunikat.Wartosc }); splacanaPozyczka = null; Odswiez(); }
private void PrzyciskOperacji_Click(object sender, RoutedEventArgs e) // Zainicjalizowanie przyciskow operacji { if ((Operacja.brakOperacji != ostatnioWybranaOperacja) || (Operacja.wynik != ostatnioWybranaOperacja)) { PrzyciskWyniku_Click(this, e); } Button oButton = (Button)sender; switch (oButton.Content.ToString()) { case "+": ostatnioWybranaOperacja = Operacja.dodawanie; break; case "-": ostatnioWybranaOperacja = Operacja.odejmowanie; break; case "*": ostatnioWybranaOperacja = Operacja.mnozenie; break; case "/": ostatnioWybranaOperacja = Operacja.dzielenie; break; default: MessageBox.Show("Nieznana operacja!", "Błąd", MessageBoxButton.OK, MessageBoxImage.Error); return; } txtWyswietlany2.Text = txtWyswietlany.Text; txtOperacja.Text = oButton.Content.ToString(); txtWyswietlany.Text = string.Empty; }
private void PrzyciskCzyszczenia(object sender, RoutedEventArgs e) { txtWyswietlany.Text = string.Empty; txtWyswietlany2.Text = string.Empty; txtOperacja.Text = string.Empty; ostatnioWybranaOperacja = Operacja.brakOperacji; }
public void Wplata(double kwota, DateTime data) { stanKonta += kwota; Operacja o = new Operacja(data, kwota, typOperacji.wplata); LO.dodajOperacje(o); }
private void PrzyciskCzyszczenia_Click(object sender, RoutedEventArgs e) // Czysci zawartosci, ktore sa wyswietlane i zeruje operacje { txtWyswietlany.Text = string.Empty; txtWyswietlany2.Text = string.Empty; txtOperacja.Text = string.Empty; ostatnioWybranaOperacja = Operacja.brakOperacji; }
/// <summary> /// Przystosowanie okna modyfikacji pracownika do wykonywanej operacji /// </summary> /// <param name="operacja">Operacja okna</param> /// <param name="pracownik">Obiekt Pracownika.</param> public void TrybOkna(Operacja operacja, Pracownik pracownik = null) { switch (operacja) { case Operacja.Dodaj: // Ustawienie tytulu okna Text = "Dodawanie pracownika"; // Przypisanie funkcji dodawania pracownika do przycisku operacji buttonOperacja.Click += buttonOperacjaDodaj_Click; // Ustawienie nazwy przycisku operacyjnego buttonOperacja.Text = "Dodaj pracownika"; break; case Operacja.Edytuj: // Ustawienie tytulu okna Text = "Edycja pracownika"; // Przypisanie funkcji edycji pracownika do przycisku operacji buttonOperacja.Click += buttonOperacjaEdytuj_Click; // Ustawienie wlasciwosci pracownika w formularzu do edycji textBoxImie.Text = pracownik.Imie; textBoxNazwisko.Text = pracownik.Nazwisko; textBoxWiek.Text = pracownik.Wiek.ToString(); // Ustawienie nazwy przycisku operacyjnego buttonOperacja.Text = "Edytuj pracownika"; // Przypisanie pracownika z parametru do obiektu tej klasy this.pracownik = pracownik; break; } }
private void dataGridView2_CellClick(object sender, DataGridViewCellEventArgs e) { //MessageBox.Show(e.ColumnIndex.ToString()); if (e.ColumnIndex == dataGridView2.Columns["Sell"].Index) { // MessageBox.Show("Row:"+(e.RowIndex + 1) + " Column: " + (e.ColumnIndex + 1) + " Column button clicked "); // kup daną inwestycję //Inwestycja inv = (Inwestycja)dataGridView2.Rows[e.RowIndex].DataBoundItem; // MessageBox.Show(inv.ToString()); //Kup inwestycję: DateTime data_aktualna = DateTime.Parse(czas_aktualny.Text); if (!data_aktualna.IsHoliday()) { string nazwa = dataGridView2.Rows[e.RowIndex].Cells[dataGridView2.Columns["Nazwa"].Index].Value.ToString(); var inv = (from tmp1 in ctx.Inwestycja where tmp1.Data.Day == data_aktualna.Day where tmp1.Nazwa == nazwa select tmp1).First(); var user = (from tmp in ctx.Użytkownik where tmp.Hasło == userPasswd select tmp).First(); try { int ilość = Int32.Parse(dataGridView2.Rows[e.RowIndex].Cells[dataGridView2.Columns["Ilość"].Index].Value.ToString()); var rekord = (from tmp in Portfel.Rekords where tmp.Nazwa == inv.Nazwa select tmp).First(); if (rekord.Liczba >= ilość) { Operacja operation = new Operacja() { Transakcja = transakcja.sprzedaż, StempelCzasowy = data_aktualna, Ilość = ilość, Inwestycja = inv }; user.Operacja.Add(operation); user.StanKonta += ilość * inv.Kurs * inv.Przelicznik; MessageBox.Show("sprzedałeś inwestycje " + inv.Nazwa); } else { MessageBox.Show("Nie masz tylu produktów!"); } ctx.SaveChanges(); } catch (Exception ex) { MessageBox.Show("Uzupełnij: pole ilość " + ex); } } else { MessageBox.Show("Jest weekend - mam wolne"); } } } //cell_click event
private void OperationsDeselect_Click(object sender, RoutedEventArgs e) { if (SelectedOperationsListView.SelectedIndex != -1) { Operacja o = (Operacja)SelectedOperationsListView.SelectedItem; WybraneOperacje.Remove(o); PozostaleOperacje.Add(o); } CheckSelectedTableAndGetOperations(); }
public Rekord(Operacja Operacja, DateTime CzasAktualny) { if (CzasAktualny.IsHoliday()) { CzasAktualny = CzasAktualny.GetLastWorkingDay(); MessageBox.Show("CzasAktualny " + CzasAktualny); } try { Nazwa = Operacja.Inwestycja.Nazwa; using (var ctx = new GameDbContext()) { try { var aktualny = (from tmp in ctx.Inwestycja where tmp.Nazwa == Nazwa where tmp.Data.Day == CzasAktualny.Day //DateTime.Today select tmp).First(); KursAktualny = aktualny.Kurs; } catch (Exception ex) { MessageBox.Show("Brak danych! Uzupełnij dane w bazie"); } //KursAktualny = 10000000; } Przelicznik = Operacja.Inwestycja.Przelicznik; using (var ctx = new GameDbContext()) { var grupa = (from tmp in ctx.Grupa where tmp.Id == Operacja.Inwestycja.GrupaId select tmp).First(); Typ = grupa.Name; } Liczba = ((Operacja.Transakcja == transakcja.kupno) ? 1 : (-1)) * Operacja.Ilość; ŚredniKursKupna = Operacja.Inwestycja.Kurs; OkresInwestycji = Convert.ToInt32((CzasAktualny - Operacja.StempelCzasowy).TotalDays); using (var ctx = new GameDbContext()) { var data = (from inv in ctx.Inwestycja where inv.Data.Day == CzasAktualny.Day select inv).First(); Zysk = (data.Kurs - Operacja.Inwestycja.Kurs) * Liczba; } } catch (Exception ex) { throw; } }
private void PrzyciskNumer_Click(object sender, RoutedEventArgs e) // Okreslenie dzialan dla przyciskow z numerami { if (Operacja.wynik == ostatnioWybranaOperacja) // Jezeli wynik jest rowny ostatnio wybranej operacji 0 lub innej { txtWyswietlany.Text = string.Empty; // To tekst wyswietlony bedzie pusty. ostatnioWybranaOperacja = Operacja.brakOperacji; } Button oButton = (Button)sender; txtWyswietlany.Text += oButton.Content; }
public void dodajOperacje(Operacja o) { if (lista[0] == null) { lista[0] = o; } else { Array.Resize(ref lista, lista.Length + 1); lista[lista.Length - 1] = o; } }
public void Wyplata(double kwota, DateTime data) { if (kwota <= stanKonta) { stanKonta -= kwota; Operacja o = new Operacja(data, kwota, typOperacji.wyplata); LO.dodajOperacje(o); } else { Console.WriteLine("Nie masz tyle pieniędzy na koncie"); } }
private void PrzyciskDodajacyZnak_Click(object sender, RoutedEventArgs e) // Dodaje znak przecinka do liczb zmienno przecinkowych { if (Operacja.wynik == ostatnioWybranaOperacja) { txtWyswietlany.Text = string.Empty; ostatnioWybranaOperacja = Operacja.brakOperacji; } if ((txtWyswietlany.Text.Contains(',')) || // jezeli wyswietlany tekst zawiera przecinek badz jeglo dlugosc jest rowna 0 to zwraca ten tekst (0 == txtWyswietlany.Text.Length)) { return; } txtWyswietlany.Text += ","; // Dodaje do tekstu znak przecinka }
private void ZatwierdzPozyczke() { try { var nowaLokata = new Lokata { Id = Guid.NewGuid(), NrLokaty = nowyNrLokaty.ToString(), PostFix = DateTime.Now.Year.ToString(), Opis = Opis_, Kwota = Kwota_, IleDni = IleDni_, DataOtwarcia = DataZalozenia_, Zamknieta = false }; BazaDanych.ObiektBazyDanych.Lokaty.Add(nowaLokata); // var nowaOperacja = new Operacja { Id = Guid.NewGuid(), Data = DateTime.Now, Typ = Operacja.TypOperacji.RozchodNaLokate, Opis = $"Założenie lokaty nr {nowyNrLokaty}/LOK/{DateTime.Now.Year} (od {DataZalozenia_.ToShortDateString()} na {IleDni_} dni).", Kwota = Kwota_, NrElementuOperacji = $"{nowyNrLokaty}/LOK/{DateTime.Now.Year}" }; BazaDanych.ObiektBazyDanych.Operacje.Add(nowaOperacja); // BazaDanych.ZapiszZmianyWBazie(); // Messenger.Default.Send <Komunikator, MainViewModel>(new Komunikator { Typ = Operacja.TypOperacji.RozchodNaLokate, Wartosc = Kwota_ }); Tools.ZamknijOkno("Nowa Lokata"); } catch (Exception e) { MessageBox.Show($"Błąd zapisu do bazy danych! \n({e.Message})"); } finally { nowyNrLokaty++; Kwota_ = 0; Opis_ = "..."; IleDni_ = 90; DataZalozenia_ = DateTime.Today; RaisePropertyChanged(nameof(NumerLokaty_)); RaisePropertyChanged(nameof(Kwota_)); RaisePropertyChanged(nameof(Opis_)); RaisePropertyChanged(nameof(IleDni_)); RaisePropertyChanged(nameof(DataZalozenia_)); } }
private void ZatwierdzPozyczke() { try { var nowaPozyczka = new Pozyczka { Id = Guid.NewGuid(), NrPozyczki = nrPozyczki, PostFix = aktualnyRok, Pozyczkobiorca = Pozyczkobiorca_, KwotaCalkowita = Kwota_, DataWyplaty = DataWyplaty_, PozostaloDoSplaty = Kwota_, Splacona = false, Uwagi = Uwagi_ }; BazaDanych.ObiektBazyDanych.Pozyczki.Add(nowaPozyczka); // var nowaOperacja = new Operacja { Id = Guid.NewGuid(), Data = DateTime.Now, Typ = Operacja.TypOperacji.WyplataPozyczki, Opis = $"Wypła pożyczki nr {NumerPozyczki}", Kwota = Kwota_, NrElementuOperacji = NumerPozyczki }; BazaDanych.ObiektBazyDanych.Operacje.Add(nowaOperacja); // BazaDanych.ZapiszZmianyWBazie(); // Messenger.Default.Send <Komunikator, MainViewModel>(new Komunikator { Typ = Operacja.TypOperacji.WyplataPozyczki, Wartosc = Kwota_ }); Tools.ZamknijOkno("Nowa Pożyczka"); } catch (Exception e) { MessageBox.Show($"Błąd zapisu do bazy danych! \n({e.Message})"); } finally { nrPozyczki++; Kwota_ = 0; Uwagi_ = "..."; Pozyczkobiorca_ = null; DataWyplaty_ = DateTime.Now; } }
private void WykonajKomunikatZamknijLokate(Komunikator komunikat) { var operacja = new Operacja { Id = Guid.NewGuid(), Data = DateTime.Now, Kwota = komunikat.Wartosc, Typ = Operacja.TypOperacji.PrzychodZLokaty, NrElementuOperacji = $"{zamykanaLokata.NrLokaty}/LOK/{zamykanaLokata.PostFix}", Opis = $"Zamknięcie lokaty {zamykanaLokata.NrLokaty}/LOK/{zamykanaLokata.PostFix}. Odsetki: {komunikat.Wartosc} zł." }; BazaDanych.ObiektBazyDanych.Operacje.Add(operacja); zamykanaLokata.Zamknieta = true; BazaDanych.ZapiszZmianyWBazie(); Messenger.Default.Send <Komunikator, MainViewModel>(new Komunikator { Typ = Operacja.TypOperacji.PrzychodZLokaty, Wartosc = komunikat.Wartosc + zamykanaLokata.Kwota }); zamykanaLokata = null; }
private void dataGridView4_CellClick(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex == dataGridView4.Columns["Buy"].Index) { DateTime data_aktualna = DateTime.Parse(czas_aktualny.Text); if (!data_aktualna.IsHoliday()) { // MessageBox.Show("Row:"+(e.RowIndex + 1) + " Column: " + (e.ColumnIndex + 1) + " Column button clicked "); // kup daną inwestycję Inwestycja inv = (Inwestycja)dataGridView4.Rows[e.RowIndex].DataBoundItem; // MessageBox.Show(inv.ToString()); //Kup inwestycję: var user = (from tmp in ctx.Użytkownik where tmp.Hasło == userPasswd select tmp).First(); try { int ilość = Int32.Parse(dataGridView4.Rows[e.RowIndex].Cells[dataGridView4.Columns["ilość"].Index].Value.ToString()); if (user.StanKonta < ilość * inv.Kurs) { MessageBox.Show("Brak środków"); } else { Operacja operation = new Operacja() { Transakcja = transakcja.kupno, StempelCzasowy = Convert.ToDateTime(czas_aktualny.Text), Ilość = ilość, Inwestycja = inv }; user.Operacja.Add(operation); user.StanKonta -= ilość * inv.Kurs * inv.Przelicznik; MessageBox.Show("zakupiłeś inwestycje " + inv.Nazwa); // Odśwież(); ctx.SaveChanges(); } } catch (Exception ex) { MessageBox.Show("Uzupełnij: pole ilość" + ex); } } } }
private void NaliczOdsetki(int miesiacNaliczeniaOdsetek) { if (!BazaDanych.ObiektBazyDanych.Pozyczki.Any()) { BazaDanych.ObiektBazyDanych.FunduszMain.First().MiesiacNaliczeniaOdsetek = DateTime.Now.Month; BazaDanych.ZapiszZmianyWBazie(); return; } var oprocentowanie = BazaDanych.ObiektBazyDanych.FunduszMain.First().OprocentowaniePozyczek; while (miesiacNaliczeniaOdsetek != DateTime.Now.Month) { BazaDanych.ObiektBazyDanych.Pozyczki.ToList().ForEach(x => { x.PozostaloDoSplaty += (oprocentowanie / 12) * x.PozostaloDoSplaty; var operacja = new Operacja { Id = Guid.NewGuid(), Data = DateTime.Now, Kwota = (oprocentowanie / 12) * x.PozostaloDoSplaty, NrElementuOperacji = x.NrPozyczki + "/POZ/" + x.PostFix, Typ = Operacja.TypOperacji.OdsetkiPozyczki, Opis = $"Naliczenie odsetek do pozyczki nr: {x.NrPozyczki}/POZ/{x.PostFix}. Oprocentowanie (w skali roku): {oprocentowanie*100}%." }; BazaDanych.ObiektBazyDanych.Operacje.Add(operacja); }); if (miesiacNaliczeniaOdsetek == 12) { miesiacNaliczeniaOdsetek = 1; } else { miesiacNaliczeniaOdsetek++; } } BazaDanych.ObiektBazyDanych.FunduszMain.First().MiesiacNaliczeniaOdsetek = miesiacNaliczeniaOdsetek; BazaDanych.ZapiszZmianyWBazie(); MessageBox.Show($"Naliczono odsetki za miesi¹c {DateTime.Now.Month}"); }
private void PrzyciskWyniku_Click(object sender, RoutedEventArgs e) // Przycisk wynikowy { if ((Operacja.wynik == ostatnioWybranaOperacja) || (Operacja.brakOperacji == ostatnioWybranaOperacja)) // Sprawdza czy wynik nie jest rowny ostatnio wybranej operacji badz nierowny 0 { return; } if (string.IsNullOrEmpty(txtWyswietlany.Text)) // Jezeli wartosc jest pusta to poprostu przyporzadkowuje jej 0. { txtWyswietlany.Text = "0"; } switch (ostatnioWybranaOperacja) // Implementacja dzialan na kalkulatorze { case Operacja.dodawanie: txtWyswietlany.Text = (double.Parse(txtWyswietlany2.Text) + double.Parse(txtWyswietlany.Text)).ToString(); break; case Operacja.odejmowanie: txtWyswietlany.Text = (double.Parse(txtWyswietlany2.Text) - double.Parse(txtWyswietlany.Text)).ToString(); break; case Operacja.mnozenie: txtWyswietlany.Text = (double.Parse(txtWyswietlany2.Text) * double.Parse(txtWyswietlany.Text)).ToString(); break; case Operacja.dzielenie: txtWyswietlany.Text = (double.Parse(txtWyswietlany2.Text) / double.Parse(txtWyswietlany.Text)).ToString(); break; } ostatnioWybranaOperacja = Operacja.wynik; // Zeruje wartosci txtOperacja.Text = string.Empty; txtWyswietlany2.Text = string.Empty; }