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; } } }
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); }
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; } }