示例#1
0
 public NieuweLeverancierWindow()
 {
     InitializeComponent();
     lblTitel.Content         = "Nieuwe leverancier";
     btnOpslaan.Content       = "Leverancier opslaan";
     isNieuweLeverancier      = true;
     geselecteerdeLeverancier = new Leverancier();
     cbGemeente.SelectedIndex = 0;
 }
示例#2
0
        private void lbFilter_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            Leverancier geselecteerdeLeverancier = (Leverancier)lbFilter.SelectedItem;

            lbProducten.ItemsSource  = ctx.Product.Where(p => p.LeverancierID == geselecteerdeLeverancier.LeverancierID).ToList();
            spLeverancier.Visibility = Visibility.Collapsed;
            spProduct.Visibility     = Visibility.Visible;
            tbBestellingBij.Text     = $"Bestelling bij: {geselecteerdeLeverancier.Naam}";
            tbFilter.Text            = "";
            newOrder.LeverancierID   = geselecteerdeLeverancier.LeverancierID;
            toProduct();
        }
示例#3
0
 public NieuweLeverancierWindow(Leverancier aanTePassen)
 {
     InitializeComponent();
     lblTitel.Content         = "Leverancier aanpassen";
     btnOpslaan.Content       = "Aanpassingen opslaan";
     isNieuweLeverancier      = false;
     geselecteerdeLeverancier = ctx.Leverancier.Where(l => l.LeverancierID == aanTePassen.LeverancierID).FirstOrDefault();
     tbNaam.Text             = geselecteerdeLeverancier.Naam;
     tbContactpersoon.Text   = geselecteerdeLeverancier.Contactpersoon;
     tbStraatnaam.Text       = geselecteerdeLeverancier.Straatnaam;
     tbHuisnummer.Text       = geselecteerdeLeverancier.Huisnummer.ToString();
     tbPostcode.Text         = geselecteerdeLeverancier.Gemeente.Postcode.ToString();
     tbTelefoonnumer.Text    = geselecteerdeLeverancier.Telefoonnummer.ToString();
     tbEmail.Text            = geselecteerdeLeverancier.Emailadres;
     cbGemeente.SelectedItem = ctx.Gemeente.Where(g => g.PostcodeID == geselecteerdeLeverancier.PostcodeID).FirstOrDefault();
 }
 private void btnAanpassenLeverancier_Click(object sender, RoutedEventArgs e)
 {
     if (dgLeveranciers.SelectedItem != null)
     {
         Leverancier             geselecteerdeLeverancier = (Leverancier)dgLeveranciers.SelectedItem;
         NieuweLeverancierWindow window = new NieuweLeverancierWindow(geselecteerdeLeverancier);
         geselecteerdeLeverancier     = null;
         dgLeveranciers.SelectedIndex = -1;
         if ((bool)window.ShowDialog())
         {
             UpdateListboxLeveranciers();
         }
     }
     else
     {
         MessageBox.Show("Gelieve een leverancier te selecteren die je wil aanpassen");
     }
 }
        private void btnGenerateJsonTemplate_Click(object sender, RoutedEventArgs e)
        {
            if (dgLeveranciers.SelectedItem != null)
            {
                Leverancier geselecteerdeLeverancier = (Leverancier)dgLeveranciers.SelectedItem;
                var         productTemplate          = new { EanCode = "", Eenheid = "", BTW = 0, Naam = "", Inkoopprijs = 0, LeverancierID = geselecteerdeLeverancier.LeverancierID };
                string      path = AppDomain.CurrentDomain.BaseDirectory;

                using (StreamWriter file = File.CreateText($"{path}{geselecteerdeLeverancier.Naam}.json"))
                {
                    JsonSerializer serializer = new JsonSerializer();
                    serializer.Serialize(file, productTemplate);
                }
                MessageBox.Show($"Template aangemaakt. Je kan de template terugvinden in de map {path}", "Template aangemaakt");
            }
            else
            {
                MessageBox.Show("Selecteer een leverancier waarvoor je de template wil aanmaken");
            }
        }
        private void btnBestandLaden_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();

            openFileDialog.Filter           = "Json Files(*.json)|*json";
            openFileDialog.InitialDirectory = System.AppDomain.CurrentDomain.BaseDirectory;
            openFileDialog.ShowDialog();
            string bestand = openFileDialog.FileName;

            if (bestand != "")
            {
                JObject jObject = JObject.Parse(File.ReadAllText(bestand));
                dynamic dynO    = jObject;

                Product ingeladenProduct = new Product();
                ingeladenProduct.EanCode       = dynO.EanCode;
                ingeladenProduct.Naam          = dynO.Naam;
                ingeladenProduct.Inkoopprijs   = dynO.Inkoopprijs;
                ingeladenProduct.Eenheid       = dynO.Eenheid;
                ingeladenProduct.BTW           = dynO.BTW;
                ingeladenProduct.LeverancierID = dynO.LeverancierID;

                if (ctx.Product.Where(p => p.EanCode == ingeladenProduct.EanCode).Count() != 0)
                {
                    var result = MessageBox.Show($"Er is reeds een product met Eannummer {ingeladenProduct.EanCode}. Wil je dit product aanpassen?", "", MessageBoxButton.YesNo);
                    if (result == MessageBoxResult.No)
                    {
                        this.Close();
                    }
                }

                tbEancode.Text     = ingeladenProduct.EanCode;
                tbNaam.Text        = ingeladenProduct.Naam;
                tbInkoopprijs.Text = ingeladenProduct.Inkoopprijs.ToString();
                tbEenheid.Text     = ingeladenProduct.Eenheid;
                cbBTW.SelectedItem = (short)ingeladenProduct.BTW;
                Leverancier geselecteerdeLeverancier = ctx.Leverancier.Where(l => l.LeverancierID == ingeladenProduct.LeverancierID).FirstOrDefault();
                lbLeverancier.SelectedItem = geselecteerdeLeverancier;
            }
        }
        private void btnOpslaan_Click(object sender, RoutedEventArgs e)
        {
            if (tbNaam.Text == "")
            {
                geldigeIngave = false;
            }
            if (tbEancode.Text == "")
            {
                geldigeIngave = false;
            }
            if (tbInkoopprijs.Value == null)
            {
                geldigeIngave = false;
            }
            if (tbEenheid.Text == "")
            {
                geldigeIngave = false;
            }
            if (cbBTW.SelectedIndex == -1)
            {
                geldigeIngave = false;
            }
            if (tbMarge.Value == null)
            {
                geldigeIngave = false;
            }
            if (cbCategorie.SelectedIndex == -1)
            {
                geldigeIngave = false;
            }
            if (lbLeverancier.SelectedIndex == -1)
            {
                geldigeIngave = false;
            }



            if (geldigeIngave)
            {
                geselecteerdProduct.Naam        = tbNaam.Text;
                geselecteerdProduct.EanCode     = tbEancode.Text;
                geselecteerdProduct.Inkoopprijs = tbInkoopprijs.Value;
                geselecteerdProduct.Eenheid     = tbEenheid.Text;
                geselecteerdProduct.BTW         = Convert.ToInt32((short)cbBTW.SelectedItem);
                geselecteerdProduct.Marge       = tbMarge.Value;
                categorie   = (Categorie)cbCategorie.SelectedItem;
                leverancier = (Leverancier)lbLeverancier.SelectedItem;
                geselecteerdProduct.CategorieID   = (int)categorie.CategorieID;
                geselecteerdProduct.LeverancierID = (int)leverancier.LeverancierID;

                var result = MessageBox.Show("Productgegevens opslaan?", "Gegevens opslaan?", MessageBoxButton.YesNo);
                if (result == MessageBoxResult.Yes)
                {
                    if (isNieuwProduct)
                    {
                        ctx.Product.Add(geselecteerdProduct);
                    }
                    ctx.SaveChanges();
                    DialogResult = true;
                    this.Close();
                }
            }
            else
            {
                MessageBox.Show("Gelieve alle velden correct in te vullen");
                geldigeIngave = true;
            }
        }
        private void CreateWordDocument(Bestelling bestel)
        {
            Bestelling bestelling = ctx.Bestelling.Where(b => b.BestellingID == bestel.BestellingID).FirstOrDefault();
            string     path       = System.AppDomain.CurrentDomain.BaseDirectory;

            object      template = $@"{path}\..\..\Resources\template.docx";
            object      SaveAs;
            Leverancier leverancier;
            Klant       klant;
            string      documentType;

            if (bestelling.Leverancier != null)
            {
                Klant mijnBedrijf = new Klant()
                {
                    Voornaam       = "Project B",
                    Straatnaam     = "teststraat",
                    Huisnummer     = 88,
                    Bus            = "",
                    PostcodeID     = 1006,
                    Telefoonnummer = "0471/60.12.51"
                };

                leverancier  = ctx.Leverancier.Where(l => l.LeverancierID == bestelling.LeverancierID).FirstOrDefault();
                documentType = "Bestelbon";
                SaveAs       = $@"{path}exports\bestelbonnen\{bestelling.BestellingID}.docx";
                klant        = mijnBedrijf;
            }
            else
            {
                Leverancier mijnBedrijf = new Leverancier()
                {
                    Naam           = "Project B",
                    Straatnaam     = "teststraat",
                    Huisnummer     = 88,
                    Bus            = "",
                    PostcodeID     = 1006,
                    Telefoonnummer = "0471/60.12.51"
                };
                klant        = ctx.Klant.Where(k => k.KlantID == bestelling.KlantID).FirstOrDefault();
                documentType = "Factuur";
                SaveAs       = $@"{path}exports\facturen\{bestelling.BestellingID}.docx";
                leverancier  = mijnBedrijf;
            }

            if (File.Exists((string)SaveAs))
            {
                File.Delete((string)SaveAs);
            }
            Word.Application wordApp = new Word.Application();

            object missing = Missing.Value;

            Word.Document myWordDoc = null;
            if (File.Exists((string)template))
            {
                //object readOnly = false;
                //object isVisible = false;
                wordApp.Visible = false;

                myWordDoc = wordApp.Documents.Open(ref template, ref missing, ref missing,
                                                   ref missing, ref missing, ref missing, ref missing,
                                                   ref missing, ref missing, ref missing, ref missing,
                                                   ref missing, ref missing, ref missing, ref missing,
                                                   ref missing);

                myWordDoc.Activate();



                //Leveranciergegevens
                FindAndReplace(wordApp, "<leverancierNaam>", leverancier.Naam);
                FindAndReplace(wordApp, "<leverancierAdres>", $"{leverancier.Straatnaam} {leverancier.Huisnummer} {leverancier.Bus}");
                Gemeente gemeente = ctx.Gemeente.Where(g => g.PostcodeID == leverancier.PostcodeID).FirstOrDefault();
                FindAndReplace(wordApp, "<leverancierStad>", gemeente.ToString());
                FindAndReplace(wordApp, "<leverancierTel>", leverancier.Telefoonnummer);

                //Klantgegevens

                FindAndReplace(wordApp, "<bestellerNaam>", klant.ToString());
                FindAndReplace(wordApp, "<bestellerAdres>", $"{klant.Straatnaam} {klant.Huisnummer} {klant.Bus}");
                gemeente = ctx.Gemeente.Where(g => g.PostcodeID == klant.PostcodeID).FirstOrDefault();
                FindAndReplace(wordApp, "<bestellerStad>", gemeente.ToString());
                FindAndReplace(wordApp, "<bestellerTel>", klant.Telefoonnummer);



                //Docgegevens
                FindAndReplace(wordApp, "<docType>", documentType);
                FindAndReplace(wordApp, "<docNummer>", bestelling.BestellingID.ToString());
                FindAndReplace(wordApp, "<docDatum>", DateTime.Now.ToString("dd/MM/yy"));

                double totaal   = 0;
                double totaal6  = 0;
                double totaal21 = 0;

                List <BestellingProduct> productenInBestelling = ctx.BestellingProduct.Where(bp => bp.BestellingID == bestelling.BestellingID).ToList();

                if (productenInBestelling.Count > 15)
                {
                    throw new NotImplementedException();
                }
                ;

                for (int i = 0; i <= 15; i++)
                {
                    if (i >= productenInBestelling.Count())
                    {
                        this.FindAndReplace(wordApp, $"<id{i}>", "");
                        this.FindAndReplace(wordApp, $"<omschrijving{i}>", "");
                        this.FindAndReplace(wordApp, $"<q{i}>", "");
                        this.FindAndReplace(wordApp, $"<p{i}>", "");
                        this.FindAndReplace(wordApp, $"<t{i}>", "");
                    }
                    else
                    {
                        double eenheidsPrijs;
                        if (documentType == "Factuur")
                        {
                            eenheidsPrijs = (double)(productenInBestelling[i].Product.Inkoopprijs + (productenInBestelling[i].Product.Inkoopprijs * (productenInBestelling[i].Product.Marge) / 100));
                        }
                        else
                        {
                            eenheidsPrijs = (double)(productenInBestelling[i].Product.Inkoopprijs);
                        }

                        double prijs = (double)(eenheidsPrijs * productenInBestelling[i].Aantal);
                        this.FindAndReplace(wordApp, $"<id{i}>", productenInBestelling[i].Product.EanCode);
                        this.FindAndReplace(wordApp, $"<omschrijving{i}>", productenInBestelling[i].Product.Naam);
                        this.FindAndReplace(wordApp, $"<q{i}>", productenInBestelling[i].Aantal.ToString());
                        this.FindAndReplace(wordApp, $"<p{i}>", $"€ {eenheidsPrijs}");
                        this.FindAndReplace(wordApp, $"<t{i}>", $"€ {prijs}");
                        totaal += prijs;
                        if (productenInBestelling[i].Product.BTW == 21)
                        {
                            totaal21 += (prijs * 0.21);
                        }
                        else
                        {
                            totaal6 += (prijs * 0.6);
                        }
                    }
                }



                this.FindAndReplace(wordApp, "<totaalEx>", $"€ {Math.Round(totaal,2).ToString()}");
                this.FindAndReplace(wordApp, "<BTW6>", $"€ {Math.Round(totaal6,2).ToString()}");
                this.FindAndReplace(wordApp, "<BTW21>", $"€ {Math.Round( totaal21,2 ).ToString()}");
                this.FindAndReplace(wordApp, "<totaal>", $"€ {Math.Round((totaal+totaal21+totaal6),2).ToString()}");
            }
            else
            {
                MessageBox.Show("Error!");
            }
            //save as

            myWordDoc.SaveAs2(ref SaveAs, ref missing, ref missing,
                              ref missing, ref missing, ref missing, ref missing,
                              ref missing, ref missing, ref missing, ref missing,
                              ref missing, ref missing, ref missing, ref missing,
                              ref missing, ref missing);
            myWordDoc.Close();
            wordApp.Quit();
            MessageBox.Show("File Created");
        }