Esempio n. 1
0
 private void Tb_REGON_LostFocus(object sender, RoutedEventArgs e)
 {
     if (Tb_REGON.Text.Length != 0)
     {
         if (System.Text.RegularExpressions.Regex.IsMatch(Tb_REGON.Text, @"\d{9}") || System.Text.RegularExpressions.Regex.IsMatch(Tb_REGON.Text, @"\d{14}"))
         {
             if (!MainStatic.Cyfrakontrolna(Tb_REGON.Text))
             {
                 MessageBox.Show("Niepoprawny REGON ", "Błędny REGON", MessageBoxButton.OK, MessageBoxImage.Warning);
             }
             try
             {
                 if (fa != null)
                 {
                     fa.Jpk.Podmiot1.IdentyfikatorPodmiotu.REGON = Tb_REGON.Text;
                 }
             }
             catch { }
         }
         else
         {
             MessageBox.Show("REGON musi mieć 9 lub 14 cyfr", "Błędny REGON", MessageBoxButton.OK, MessageBoxImage.Warning);
             Tb_REGON.Text        = "";
             Tb_REGON.BorderBrush = System.Windows.Media.Brushes.DarkRed;
         }
     }
 }
Esempio n. 2
0
 public static void Cleanup()
 {
     MainStatic.Cleanup();
     SoldierStatic.Cleanup();
     MainStatic    = null;
     SoldierStatic = null;
 }
Esempio n. 3
0
 private void Dp_dateFrom_SelectedDateChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
 {
     try
     {
         if ((DateTime)e.Source >= Dp_dateTo.SelectedDate)
         {
             Dp_dateFrom.SelectedDate = (DateTime)e.OriginalSource;
             MainStatic.ShowException(new Exception("Data do nie może być późniejsza niż data do"), "Błąd");
         }
     }
     catch { }
 }
Esempio n. 4
0
 private void Worker_DoWorkFA(object sender, System.ComponentModel.DoWorkEventArgs e)
 {
     try
     {
         var worker = sender as System.ComponentModel.BackgroundWorker;
         worker.ReportProgress(0, string.Format("Generowanie pliku JPK"));
         fa.Create(worker);
         koniec = 1;
     }
     catch (Exception ex)
     {
         MainStatic.ShowException(ex, "Woker_DoWorkFA()");
         koniec = 2;
     }
 }
Esempio n. 5
0
        private byte koniec = 0; //0 - trwa, 1 - powodzenie, 2 - niepowodzenie

        public MainWindow()
        {
            InitializeComponent();
            bool isLic = true;

            try
            {
                configWindow              = new Config.ConfigWin();
                Cb_cel.ItemsSource        = cele;
                Cb_cel.SelectedItem       = cele[0];
                Cb_kodUrzedu.ItemsSource  = Const.urzedy;
                Cb_kodUrzedu.SelectedItem = Const.urzedy[0];
                Cb_waluta.ItemsSource     = Enum.GetNames(typeof(CurrCode_Type));
                Cb_waluta.SelectedItem    = Cb_waluta.Items[(int)CurrCode_Type.PLN];

                Cb_country.ItemsSource  = Enum.GetNames(typeof(TKodKraju));
                Cb_country.SelectedItem = Cb_country.Items[(int)TKodKraju.PL];

                Cb_woj.ItemsSource  = Const.wojewodztwaTab;
                Cb_woj.SelectedItem = Const.wojewodztwaTab[0];

                Dp_dateCr.SelectedDate   = DateTime.Today;
                Dp_dateFrom.SelectedDate = MainStatic.FirstDayOfMonth(DateTime.Today.AddMonths(-1));
                Dp_dateTo.SelectedDate   = MainStatic.LastDayOfMonth(DateTime.Today.AddMonths(-1));
                SetData();
            }
            catch (Exception ex)
            {
                if (ex.Message == "Brak licencji")
                {
                    isLic = false;
                }
                else
                {
                    MessageBox.Show(ex.Message, "Błąd", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
            if (!isLic)
            {
                TabFA.IsEnabled = false;

                MessageBoxResult res = MessageBox.Show("Brak licencji.\nSkontaktuj się z firmą Logotech AA", "Brak licencji", MessageBoxButton.OK, MessageBoxImage.Error);
                if (res == MessageBoxResult.Cancel || res == MessageBoxResult.OK)
                {
                    Close();
                }
            }
        }
Esempio n. 6
0
        private List <JPKFakturaWiersz> CreateFakturaWiersz(BackgroundWorker worker, ref List <JPKFaktura> tabDoc, List <Product> products)
        {
            List <JPKFakturaWiersz> tab = new List <JPKFakturaWiersz>();

            var db     = new DbfFile(CodingName);
            int wzSize = 0;

            string fail = "";

            try
            {
                double index = 0;
                db.Open(Path.Combine(DbPath, "WZA.DBF"), FileMode.Open);
                JPKGenerator.SizeDB(db, ref wzSize);
                var dbRow = new DbfRecord(db.Header);

                if (tab.Count == 0)
                {
                    db.Read(0, dbRow);
                    do
                    {
                        string failNr = dbRow["RF"].Trim() + "/" + dbRow["NRDOK"].Trim();
                        try
                        {
                            if (tabDoc.Exists(d => d.P_2A == failNr) && !dbRow.IsDeleted)
                            {
                                int indexDoc         = tabDoc.FindIndex(d => d.P_2A == failNr);
                                JPKFakturaWiersz row = new JPKFakturaWiersz();
                                fail     = "P_2B";
                                row.P_2B = failNr; // numer faktury
                                fail     = "P_12";
                                row.P_12 = JPKGenerator.GetVat
                                               (dbRow["PTU"]); // stawka vat
                                fail = "P_7";
                                Product prod = products.Find(pr => pr.Code == dbRow["SYMB"].Trim());
                                row.P_7  = prod.Name;
                                fail     = "P_8A";
                                row.P_8A = prod.Quantity;
                                fail     = "P_8B";
                                row.P_8B = JPKGenerator.GetDecimal(dbRow["ILOSC"]); // ilosc

                                decimal brutto = JPKGenerator.GetDecimal(dbRow["WARTOSC"]);
                                decimal netto  = 0;
                                decimal vat    = 0;

                                if (dbRow["RF"].Trim() == "F")                         // od netto
                                {
                                    row.P_9A = JPKGenerator.GetDecimal(dbRow["CENA"]); // cena jednostkowa netto
                                    netto    = decimal.Parse((row.P_9A * row.P_8B).ToString("0.00"));
                                    vat      = brutto - netto;
                                }
                                else // od brutto
                                {
                                    decimal stawkaVat = 0;
                                    try { stawkaVat = JPKGenerator.GetDecimal(dbRow["PTU"]); } catch { }
                                    netto = stawkaVat != 0 ? (brutto * 100) / (stawkaVat + 100) : brutto;
                                    if (netto != 0)
                                    {
                                        row.P_9A = netto / row.P_8B;
                                    }
                                    vat = brutto - netto;
                                }
                                fail     = "P_11";
                                row.P_11 = row.P_8B * row.P_9A;
                                if (dbRow["RF"].Trim() != "F")
                                {
                                    row.P_11A = brutto;                            // wartosc brutto, gdy faktura liczona jest od brutto
                                }
                                fail = "vaty";
                                switch (row.P_12)
                                {
                                case JPKFakturaWierszP_12.Item22:
                                case JPKFakturaWierszP_12.Item23:
                                    tabDoc[indexDoc].P_13_1 = tabDoc[indexDoc].P_13_1 + netto;
                                    tabDoc[indexDoc].P_14_1 = tabDoc[indexDoc].P_14_1 + vat;
                                    break;

                                case JPKFakturaWierszP_12.Item8:
                                case JPKFakturaWierszP_12.Item7:
                                    tabDoc[indexDoc].P_13_2 = tabDoc[indexDoc].P_13_2 + netto;
                                    tabDoc[indexDoc].P_14_2 = tabDoc[indexDoc].P_14_1 + vat;
                                    break;

                                case JPKFakturaWierszP_12.Item5:
                                    tabDoc[indexDoc].P_13_3 = tabDoc[indexDoc].P_13_3 + netto;
                                    tabDoc[indexDoc].P_14_3 = tabDoc[indexDoc].P_14_3 + vat;
                                    break;

                                case JPKFakturaWierszP_12.Item0:
                                    tabDoc[indexDoc].P_13_6 = tabDoc[indexDoc].P_13_6 + netto;
                                    break;

                                case JPKFakturaWierszP_12.zw:
                                    tabDoc[indexDoc].P_13_7 = tabDoc[indexDoc].P_13_7 + netto;
                                    tabDoc[indexDoc].P_19   = true;
                                    tabDoc[indexDoc].P_19A  = @"Ustawa z dnia 11.03.2004 o podatku od towarów i usług, art. 43 ust. 1";
                                    break;

                                case JPKFakturaWierszP_12.np:
                                    tabDoc[indexDoc].P_13_4 = tabDoc[indexDoc].P_13_4 + netto;
                                    tabDoc[indexDoc].P_18   = true;
                                    break;
                                }

                                tab.Add(row);
                            }
                        }
                        catch (Exception ex)
                        {
                            MainStatic.ShowException(ex, "Bład pozycji faktury nr: " + failNr + "\n" + fail);
                        }
                        index++;
                        worker.ReportProgress((int)Math.Ceiling((index / wzSize) * 100), string.Format("Przetwarzanie pozycji faktur: {0}%", (int)Math.Ceiling((index / wzSize) * 100)));
                    }while (db.ReadNext(dbRow));
                }
            }
            catch (Exception ex)
            {
                if (ex.Message.Contains("Błędne kodowanie"))
                {
                    throw new Exception("Zmień kodowanie");
                }
                throw ex;
            }
            finally
            {
                db.Close();
            }

            return(tab);
        }
Esempio n. 7
0
        private void GetFA(BackgroundWorker worker, Dictionary <string, Config.Podmiot> castomers, ref List <JPKFaktura> tab)
        {
            var    db     = new DbfFile(CodingName);
            int    wzSize = 0;
            string fail   = "";

            try
            {
                double index = 0;
                db.Open(Path.Combine(DbPath, "WZ.DBF"), FileMode.Open);
                JPKGenerator.SizeDB(db, ref wzSize);
                var dbRow = new DbfRecord(db.Header);

                db.Read(0, dbRow);
                do
                {
                    string failNr = dbRow["RF"].Trim() + "/" + dbRow["NRDOK"].Trim();

                    if (JPKGenerator.GetDate(dbRow["DATA"]) >= DateFrom && JPKGenerator.GetDate(dbRow["DATA"]) <= DateTo && !dbRow.IsDeleted && failNr.ToLower()[0] != 'w')
                    {
                        try
                        {
                            JPKFaktura row = new JPKFaktura();
                            fail     = "P_1";
                            row.P_1  = dbRow["DATA"];
                            fail     = "P_2";
                            row.P_2A = failNr;
                            fail     = "P_3A";
                            Config.Podmiot p = castomers[dbRow["KOD_K"].Trim()];
                            row.P_3A  = p.Id.PelnaNazwa;
                            fail      = "P_3B";
                            row.P_3B  = string.Format("{0}, {1} {2}", p.Adres.Ulica, p.Adres.KodPocztowy, p.Adres.Miejscowosc);
                            row.P_3C  = Jpk.Podmiot1.IdentyfikatorPodmiotu.PelnaNazwa;
                            row.P_3D  = Jpk.Podmiot1.AdresPodmiotu.Ulica + " " + Jpk.Podmiot1.AdresPodmiotu.NrDomu;
                            row.P_3D += (string.IsNullOrEmpty(Jpk.Podmiot1.AdresPodmiotu.NrLokalu) ? " " : "/" + Jpk.Podmiot1.AdresPodmiotu.NrLokalu) + " " + Jpk.Podmiot1.AdresPodmiotu.Miejscowosc;
                            fail      = "P_4B";
                            row.P_4B  = Jpk.Podmiot1.IdentyfikatorPodmiotu.NIP;
                            if (!System.Text.RegularExpressions.Regex.IsMatch(p.Id.NIP, @"^\d"))
                            {
                                fail = "P_5A";
                                try
                                {
                                    row.P_5A = (MSCountryCode_Type)Enum.Parse(typeof(MSCountryCode_Type), p.Id.NIP.Substring(0, 2));
                                }
                                catch { }
                            }
                            else
                            {
                                fail     = "P_5B";
                                row.P_5B = p.Id.NIP;
                            }
                            fail              = "P_6";
                            row.P_6           = row.P_1;
                            fail              = "P_13_1";
                            fail              = "stawka";
                            row.P_15          = JPKGenerator.GetDecimal(dbRow["WARTOSC"]);
                            row.P_16          = isMK;  // metoda kasowa
                            row.P_17          = false; //samofakturowanie
                            row.P_18          = false; // odwrotne obciążenie
                            fail              = "P_19";
                            row.P_20          = false;
                            row.P_21          = false;
                            row.P_23          = false;
                            row.P_106E_2      = false;
                            row.P_106E_3      = false;
                            row.RodzajFaktury = JPKFakturaRodzajFaktury.VAT;
                            if (dbRow[39].Trim().Length > 1)
                            {
                                if (dbRow[39].Trim()[0] == 'Z')
                                {
                                    row.RodzajFaktury = JPKFakturaRodzajFaktury.ZAL;
                                    row.ZALZaplata    = JPKGenerator.GetDecimal(dbRow["WARTOSC"]);
                                    row.ZALPodatek    = JPKGenerator.GetDecimal(dbRow["WARTVAT"]);
                                }
                            }

                            tab.Add(row);
                        }
                        catch (Exception ex)
                        {
                            MainStatic.ShowException(ex, "Bład faktury nr: " + failNr + " \n" + fail);
                        }
                    }
                    index++;
                    worker.ReportProgress((int)Math.Ceiling((index / wzSize) * 100), string.Format("Przetwarzanie danych z faktur: {0} %", (int)Math.Ceiling((index / wzSize) * 100)));
                }while (db.ReadNext(dbRow));
            }
            catch (Exception ex)
            {
                throw new Exception("Zmień kodowanie", ex);
            }
            finally
            {
                db.Close();
            }
        }
Esempio n. 8
0
        private void CreateFakturaWierszKorekta(BackgroundWorker worker, List <Product> products, ref List <JPKFaktura> tabDoc, ref List <JPKFakturaWiersz> tab)
        {
            var db     = new DbfFile(CodingName);
            int wzSize = 0;

            string fail = "";

            try
            {
                double index = 0;
                db.Open(Path.Combine(DbPath, "ZWA.DBF"), FileMode.Open);
                JPKGenerator.SizeDB(db, ref wzSize);
                var dbRow = new DbfRecord(db.Header);

                db.Read(0, dbRow);
                do
                {
                    string failNr = "";
                    try
                    {
                        if (tabDoc.Exists(f => f.P_2A == dbRow["NRDOK"].Trim() && f.RodzajFaktury == JPKFakturaRodzajFaktury.KOREKTA) && !dbRow.IsDeleted)
                        {
                            failNr = dbRow["NRDOK"].Trim();
                            int indexKor         = tabDoc.FindIndex(f => f.P_2A == dbRow["NRDOK"].Trim() && f.RodzajFaktury == JPKFakturaRodzajFaktury.KOREKTA);
                            int typ              = int.Parse(dbRow["TYP"].Trim());
                            JPKFakturaWiersz row = new JPKFakturaWiersz();
                            fail     = "P_2B";
                            row.P_2B = dbRow["NRDOK"].Trim();                                    // numer faktury
                            fail     = "P_12";
                            row.P_12 = JPKGenerator.GetVat(dbRow["PTU"].Trim());                 // stawka vat
                            fail     = "P_7";
                            Product prod = products.Find(pr => pr.Code == dbRow["SYMB"].Trim()); // towar / usługa
                            row.P_7  = prod.Name;
                            fail     = "P_8A";
                            row.P_8A = prod.Quantity;
                            fail     = "ilosc";
                            row.P_8B = JPKGenerator.GetDecimal(dbRow["ILOSC"]); // ilosc

                            fail     = "nettoU";
                            row.P_9A = JPKGenerator.GetDecimal(dbRow["CENA"]); // cena jednostkowa netto
                            fail     = "stawkaVAT";
                            decimal stawkaVat = 0;
                            try { stawkaVat = JPKGenerator.GetDecimal(dbRow["PTU"]); } catch { }
                            if (dbRow["RF"].Trim() != "F")
                            {
                                row.P_9A = (stawkaVat != 0 ? (row.P_9A * 100) / (stawkaVat + 100) : row.P_9A) / row.P_8B;
                            }

                            switch (typ)
                            {
                            case 1:
                                fail     = "typ1";
                                row.P_8B = -row.P_8B;
                                row.P_11 = row.P_9A * -row.P_8B;
                                if (dbRow["RF"].Trim() != "F")
                                {
                                    row.P_11A = JPKGenerator.GetDecimal(dbRow["WARTOSC"]);
                                }
                                break;

                            case 2:
                                fail = "typ2";
                                if ((decimal.Parse(dbRow["WARTKOR"].Trim().Replace(".", ",")) * stawkaVat * (decimal)0.01).ToString("0.00").Replace(",", ".") == dbRow["WARTKORV"].Trim())
                                {
                                    row.P_11 = -JPKGenerator.GetDecimal(dbRow["WARTKOR"]);
                                    if (dbRow["RF"].Trim() != "F")
                                    {
                                        row.P_11A = -JPKGenerator.GetDecimal(dbRow["WARTKOR"]) + JPKGenerator.GetDecimal(dbRow["WARTKORV"]);
                                    }
                                }
                                else
                                {
                                    row.P_11 = -JPKGenerator.GetDecimal(dbRow["WARTKOR"]) - JPKGenerator.GetDecimal(dbRow["WARTKORV"]);
                                    if (dbRow["RF"].Trim() != "F")
                                    {
                                        row.P_11A = -JPKGenerator.GetDecimal(dbRow["WARTKOR"]);
                                    }
                                }
                                break;

                            case 3:
                                fail = "typ3";
                                if (JPKGenerator.GetDecimal(dbRow["WARTKOR"]) * stawkaVat * (decimal)0.01 == JPKGenerator.GetDecimal(dbRow["WARTKORV"]))
                                {
                                    row.P_11 = JPKGenerator.GetDecimal(dbRow["WARTKOR"]);
                                    if (dbRow["RF"].Trim() != "F")
                                    {
                                        row.P_11A = JPKGenerator.GetDecimal(dbRow["WARTKOR"]) + JPKGenerator.GetDecimal(dbRow["WARTKORV"]);
                                    }
                                }
                                else
                                {
                                    row.P_11  = JPKGenerator.GetDecimal(dbRow["WARTKOR"]) - JPKGenerator.GetDecimal(dbRow["WARTKORV"]);
                                    row.P_11A = JPKGenerator.GetDecimal(dbRow["WARTKOR"]);
                                }
                                break;

                            case 4:
                                fail     = "typ4";
                                row.P_11 = 0;
                                break;
                            }
                            fail = "stawka";
                            switch (row.P_12)
                            {
                            case JPKFakturaWierszP_12.Item22:
                            case JPKFakturaWierszP_12.Item23:
                                tabDoc[indexKor].P_13_1 = tabDoc[indexKor].P_13_1 + row.P_11;
                                tabDoc[indexKor].P_14_1 = row.P_11 * JPKGenerator.GetVatValue(row.P_12);
                                break;

                            case JPKFakturaWierszP_12.Item8:
                            case JPKFakturaWierszP_12.Item7:
                                tabDoc[indexKor].P_13_2 = tabDoc[indexKor].P_13_2 + row.P_11;
                                tabDoc[indexKor].P_14_1 = row.P_11 * JPKGenerator.GetVatValue(row.P_12);
                                break;

                            case JPKFakturaWierszP_12.Item5:
                                tabDoc[indexKor].P_13_3 = tabDoc[indexKor].P_13_3 + row.P_11;
                                tabDoc[indexKor].P_14_1 = row.P_11 * JPKGenerator.GetVatValue(row.P_12);
                                break;

                            case JPKFakturaWierszP_12.Item0:
                                tabDoc[indexKor].P_13_6 = tabDoc[indexKor].P_13_6 + row.P_11;
                                break;

                            case JPKFakturaWierszP_12.zw:
                                tabDoc[indexKor].P_13_7 = tabDoc[indexKor].P_13_7 + row.P_11;
                                tabDoc[indexKor].P_19   = true;
                                tabDoc[indexKor].P_19A  = @"Ustawa z dnia 11.03.2004 o podatku od towarów i usług, art. 43 ust. 1";
                                break;
                            }
                            tab.Add(row);
                        }
                    }
                    catch (Exception ex)
                    {
                        MainStatic.ShowException(ex, "Bład pozycji faktury nr: " + failNr + "\n" + fail);
                    }
                    index++;
                    worker.ReportProgress((int)Math.Ceiling((index / wzSize) * 100), string.Format("Przetwarzanie pozycji faktur: {0} %", (int)Math.Ceiling((index / wzSize) * 100)));
                }while (db.ReadNext(dbRow));
            }
            catch (Exception ex)
            {
                if (ex.Message.Contains("Błędne kodowanie"))
                {
                    throw new Exception("Zmień kodowanie", ex);
                }
                throw ex;
            }
            finally
            {
                db.Close();
            }
        }
Esempio n. 9
0
 static void Main(string[] args)
 {
     MainStatic.MainMethod(args);
 }
Esempio n. 10
0
 /// <summary>
 /// The main entry point for the application.
 /// </summary>
 static void Main()
 {
     MainStatic.MainMethod();
 }
Esempio n. 11
0
        private void B_create_Click(object sender, RoutedEventArgs e)
        {
            l_kodForm.Content = "JPK_FA (1)";
            l_warForm.Content = "1-0";

            if (MainStatic.PathIsOK(configWindow.ConfField.AppPath, JPKGenerator.GetCode(configWindow.ConfField.CodeName)))
            {
                string uzupelnij = "";
                if (Cb_kodUrzedu.SelectedItem == null)
                {
                    uzupelnij += "\nKod urzędu";
                }
                if (Cb_waluta.SelectedItem == null)
                {
                    uzupelnij += "\nDomyślny kod waluty";
                }
                if (Dp_dateFrom.SelectedDate == null)
                {
                    uzupelnij += "\nOkres od";
                }
                if (Dp_dateTo.SelectedDate == null)
                {
                    uzupelnij += "\nOkres do";
                }
                if (Dp_dateCr.SelectedDate == null)
                {
                    uzupelnij += "\nData utworzenia";
                }
                if (uzupelnij.Length != 0)
                {
                    lsb.Content = "Nie wszystkie pola zostały uzupełnione.";
                    MessageBox.Show("Uzupełnij brakujące pola:" + uzupelnij, "Brak danych", MessageBoxButton.OK, MessageBoxImage.Error);
                }
                else
                {
                    JPKPodmiot1 podmiot = GetPodmiot();
                    if (!CheckAddress(podmiot.AdresPodmiotu))
                    {
                        MessageBox.Show("Uzupełnij adres", "Brak danych", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                    else
                    {
                        try
                        {
                            fa = new JPKFA.JPKFA()
                            {
                                //Naglowek
                                CelZlozenia = Cb_cel.SelectedItem.ToString() == cele[0] ? (sbyte)1 : (sbyte)2,
                                Kodus       = (TKodUS)Cb_kodUrzedu.SelectedValue,
                                DateFrom    = (DateTime)Dp_dateFrom.SelectedDate,
                                DateTo      = (DateTime)Dp_dateTo.SelectedDate,
                                CodingName  = JPKGenerator.GetCode(configWindow.ConfField.CodeName),
                                DbPath      = configWindow.ConfField.AppPath,
                            };
                            DateTime now = (DateTime)Dp_dateCr.SelectedDate;
                            fa.CrDate       = new DateTime(now.Year, now.Month, now.Day, DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second);
                            fa.Jpk.Podmiot1 = podmiot;

                            System.ComponentModel.BackgroundWorker worker = new System.ComponentModel.BackgroundWorker();
                            worker.RunWorkerCompleted   += Worker_RunWorkerCompletedFA;
                            worker.WorkerReportsProgress = true;
                            worker.DoWork          += Worker_DoWorkFA;
                            worker.ProgressChanged += Worker_ProgressChangedFA;
                            worker.RunWorkerAsync();
                        }
                        catch (Exception ex)
                        {
                            if (ex.Message == "Obiekt dopuszczający wartość pustą musi mieć wartość.")
                            {
                                MessageBox.Show("Wybierz datę", "Błąd", MessageBoxButton.OK, MessageBoxImage.Error);
                            }
                            else
                            {
                                MessageBox.Show(ex.Message, "Błąd", MessageBoxButton.OK, MessageBoxImage.Error);
                            }
                        }
                    }
                }
            }
            else
            {
                MessageBox.Show("Błędna ścieżka programu Hurt.", "Błąd", MessageBoxButton.OK, MessageBoxImage.Error);
                lsb.Content = "Błędna ścieżka programu Hurt.";
            }
        }