private void oppdaterKategoriTilUnderprodukter(string nyKategori, CorianProdukt produktSomEndres)
 {
     foreach (CorianProdukt produkt in Liste)
     {
         if (produkt.Prisgrupper[0].Avhengighet != null && produkt.Prisgrupper[0].Avhengighet == produktSomEndres.Prisgrupper[0])
         {
             produkt.ProduktKategori = nyKategori;
         }
     }
 }
Exemplo n.º 2
0
        private static void SetPris(CorianProdukt prodUtenAvhengighet, int rad, IXLWorksheet ws, string xlsColumn, int prisgruppeIndex)
        {
            var cell    = ws.Cell(xlsColumn + rad).Value;
            var prisStr = cell.ToString().Replace(" ", "");
            int pris    = Convert.ToInt32(prisStr);

            if (pris <= 0)
            {
                throw new Exception("Feil pris");
            }

            prodUtenAvhengighet.Prisgrupper[prisgruppeIndex].Prisgrunnlag = pris;
        }
        void listview_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (listview.SelectedItem != null && (listview.SelectedItem is CorianProdukt) &&
                (listview.SelectedItem as CorianProdukt).Prisgrupper[0].prisType == CorianPrisgruppeProdukt.PrisType.Normal)
            {
                nyttUnderproduktKnapp.IsEnabled = true;
            }
            else
            {
                nyttUnderproduktKnapp.IsEnabled = false;
            }

            CorianProdukt corianProduktData = listview.SelectedItem as CorianProdukt;

            ProduktIendring = corianProduktData;

            listview.ScrollIntoView(corianProduktData);
        }
        void nyttProduktKnapp_Click(object sender, RoutedEventArgs e)
        {
            CorianProdukt c = new CorianProdukt("Kategori", "Produktnavn", Modell.Produkt.DelingType.CorianKumHeltreKum);

            CorianProdukt merketProdukt = listview.SelectedItem as CorianProdukt;

            if (merketProdukt != null)
            {
                c.ProduktKategori = merketProdukt.ProduktKategori;
                c.Navn            = merketProdukt.Navn;
                c.Deling          = merketProdukt.Deling;
            }

            for (int i = 0; i < db.Produktbeholder.Prisgruppesamling.Count; i++)
            {
                c.Prisgrupper[i] = new CorianPrisgruppeProdukt(0, null, CorianPrisgruppeProdukt.PrisType.Normal, db.Produktbeholder.Prisgruppesamling[i]);
            }

            //Setter rett prisgruppe
            FargeBeholder fargebeholder = cmbPrisgruppe.SelectedItem as FargeBeholder;

            foreach (CorianPrisgruppeProdukt prisgruppe in c.Prisgrupper)
            {
                if (prisgruppe.Farger == fargebeholder)
                {
                    c.Prisgruppe = prisgruppe;
                    break;
                }
            }

            int toIndex = listview.SelectedIndex + 1;

            while (toIndex < listview.Items.Count && (listview.Items[toIndex] as CorianProdukt).Prisgruppe.Avhengighet != null)
            {
                toIndex++;
            }

            Liste.Insert(toIndex, c);
        }
        void nyttUnderproduktKnapp_Click(object sender, RoutedEventArgs e)
        {
            if (listview.SelectedItem == null || !(listview.SelectedItem is CorianProdukt))
            {
                return;
            }

            CorianProdukt merketProdukt = listview.SelectedItem as CorianProdukt;

            if (merketProdukt.Prisgrupper[0].Avhengighet != null)
            {
                return;
            }

            CorianProdukt c = new CorianProdukt(merketProdukt.ProduktKategori, "Produktnavn", merketProdukt.Deling);

            c.PrisPer = merketProdukt.PrisPer;

            for (int i = 0; i < db.Produktbeholder.Prisgruppesamling.Count; i++)
            {
                c.Prisgrupper[i] = new CorianPrisgruppeProdukt(0, merketProdukt.Prisgrupper[i], CorianPrisgruppeProdukt.PrisType.Adder, db.Produktbeholder.Prisgruppesamling[i]);
            }

            //Setter rett prisgruppe
            FargeBeholder fargebeholder = cmbPrisgruppe.SelectedItem as FargeBeholder;

            foreach (CorianPrisgruppeProdukt prisgruppe in c.Prisgrupper)
            {
                if (prisgruppe.Farger == fargebeholder)
                {
                    c.Prisgruppe = prisgruppe;
                    break;
                }
            }

            Liste.Insert(listview.SelectedIndex + 1, c);
        }
Exemplo n.º 6
0
 private static void SetPrisMedAvhengighet(CorianProdukt prodMedAvhengighet, int prisgruppeIndex, int pris)
 {
     prodMedAvhengighet.Prisgrupper[prisgruppeIndex].Prisgrunnlag = pris;
 }
        void cmbPrisgruppe_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            ComboBox cmb = sender as ComboBox;

            if (cmb.SelectedItem == null || !(cmb.SelectedItem is FargeBeholder))
            {
                return;
            }

            prisgruppeColumn.Header = (cmbPrisgruppe.SelectedItem as FargeBeholder).PrisgruppeNavn;
            FargeBeholder merketFargebeholder = cmb.SelectedItem as FargeBeholder;

            //Ny logikk for å passe på at prisgrupper blir opprettet

            var           antallIkkeFunnet = 0;
            CorianProdukt forrigeProdukt   = null;

            foreach (CorianProdukt produkt in Liste)
            {
                var funnet = false;
                foreach (CorianPrisgruppeProdukt prisgruppe in produkt.Prisgrupper)
                {
                    if (prisgruppe != null && prisgruppe.Farger == merketFargebeholder)
                    {
                        produkt.Prisgruppe = prisgruppe;
                        funnet             = true;
                        break;
                    }
                }//Prisgrupper

                if (!funnet)
                {
                    var f = produkt.Prisgrupper.ToList();

                    var prisgruppe = produkt.Prisgrupper[0].Avhengighet;
                    if (forrigeProdukt != null && produkt.Prisgrupper[0].Avhengighet != null)
                    {
                        prisgruppe = forrigeProdukt.Prisgrupper.FirstOrDefault(x => x.Farger == merketFargebeholder);

                        if (prisgruppe == null)
                        {
                            MessageBox.Show("Prisgruppe er NULL");
                        }
                    }

                    var nyGruppe = new CorianPrisgruppeProdukt(0,
                                                               prisgruppe, //TODO: Skal avhengighet være samme for alle prisgruper?
                                                               produkt.Prisgrupper[0].prisType,
                                                               merketFargebeholder);


                    f.Add(nyGruppe);

                    produkt.Prisgrupper = f.ToArray();
                    produkt.Prisgruppe  = nyGruppe;
                    antallIkkeFunnet++;
                }

                forrigeProdukt = produkt;
            }//Liste

            if (antallIkkeFunnet > 0)
            {
                MessageBox.Show("Fant ikke alle prisgrupper. Mangler på antall produkter: " + antallIkkeFunnet);
            }



            //prisTypeVelger
            //prisgrunnlagTekstboks
        }
        private void PrisRadioButton_Click(object sender, RoutedEventArgs e)
        {
            RadioButton knapp = sender as RadioButton;

            if (knapp == null)
            {
                return;
            }
            sistePrisKlikket = knapp;

            ListViewItem lvitem = Hjelpeklasser.VisualTree.getParentKontroll <ListViewItem>(knapp);

            if (lvitem != null && lvitem.Content is CorianProdukt)
            {
                CorianProdukt cp = lvitem.Content as CorianProdukt;
                if (cp.Prisgruppe == null)
                {
                    return;
                }

                TilvalgEnkelPris p = null;

                string navn = "";
                if (cmbFargevelger2.SelectedItem is Farge)
                {
                    //HACK: Hardcoding av alle farger sånn at stålkummene ikke vises med farge.
                    if (cp.Prisgruppe.Farger.PrisgruppeNavn.ToLower().Trim() == "alle farger")
                    {
                        navn = cp.Navn; //+ ", " + cp.Prisgruppe.Farger.PrisgruppeNavn;
                    }
                    else
                    {
                        navn = (cp.Navn + ", " + cp.Prisgruppe.Farger.PrisgruppeNavn + ", " + cmbFargevelger2.SelectedItem as string).Trim().TrimEnd(',');
                    }
                    //navn = (cp.Navn + ", " + (cmbFargevelger2.SelectedItem as Farge).FargeBeholderSomFargenErI.PrisgruppeNavn + ", " + cmbFargevelger2.SelectedItem as string).Trim().TrimEnd(',');
                }
                else
                {
                    navn = (cp.Navn + ", " + cmbFargevelger2.SelectedItem as string).Trim().TrimEnd(',');
                }

                if (cp.PrisPer == CorianProdukt.PerPrisType.perAntall)
                {
                    p = new TilvalgEnkelPris(navn, cp.Prisgruppe.Pris);
                }
                else
                {
                    p = new TilvalgEnkelPrisTusendel(navn, cp.Prisgruppe.Pris);
                }


                p.ProduktKommentar = cp.ProduktKategori + ": ";
                Produkt            = p;


                if (cmbFargevelger2.SelectedItem is Farge)
                {
                    Produkt.Merknader3 = (cmbFargevelger2.SelectedItem as Farge).FargeMerknader.ToArray();
                }

                if (Produkt != null)
                {
                    innhold.Content = Produkt.Kontroll;
                }
            }



            if (innhold.Content == null)
            {
                LeggTilKnapp.IsEnabled = false;
            }
            else
            {
                LeggTilKnapp.IsEnabled = true;
            }
        }