Example #1
0
        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();
        }
Example #2
0
        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;
        }
Example #3
0
 private void PrzyciskCzyszczenia(object sender, RoutedEventArgs e)
 {
     txtWyswietlany.Text     = string.Empty;
     txtWyswietlany2.Text    = string.Empty;
     txtOperacja.Text        = string.Empty;
     ostatnioWybranaOperacja = Operacja.brakOperacji;
 }
Example #4
0
        public void Wplata(double kwota, DateTime data)
        {
            stanKonta += kwota;
            Operacja o = new Operacja(data, kwota, typOperacji.wplata);

            LO.dodajOperacje(o);
        }
Example #5
0
 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;
 }
Example #6
0
        /// <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
Example #8
0
 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;
            }
        }
Example #10
0
        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;
        }
Example #11
0
 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;
     }
 }
Example #12
0
 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");
     }
 }
Example #13
0
 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
 }
Example #14
0
 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_));
     }
 }
Example #15
0
 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;
     }
 }
Example #16
0
        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);
             }
         }
     }
 }
Example #18
0
        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}");
        }
Example #19
0
        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;
        }