public EndrePrisIflerePrisgrupperVindu(IList <CorianProdukt> produkter, FargeBeholder valgtPrisgruppe, DataAksess2 db) { InitializeComponent(); this.db = db; Prisgrupper = new List <PrisgruppeItem>(); foreach (var f in db.Produktbeholder.Prisgruppesamling) { if (f.Visible && f.PrisgruppeNavn != valgtPrisgruppe.PrisgruppeNavn) { Prisgrupper.Add(new PrisgruppeItem { Prisgruppe = f }); } } _valgtPrisgruppe = valgtPrisgruppe; //foreach (CorianProdukt produkt in produkter) //{ // foreach (CorianPrisgruppeProdukt prisgruppe in produkt.Prisgrupper) // { // if (prisgruppe != null && prisgruppe.Farger.Visible) // { // if (!Prisgrupper.Contains(prisgruppe.Farger)) // Prisgrupper.Add(prisgruppe.Farger); // } // } //} prisgruppeListe.ItemsSource = Prisgrupper; this.Produkter = produkter; }
void slettFargeKnapp_Click(object sender, RoutedEventArgs e) { if (prisgruppeListboks.SelectedItem == null || !(prisgruppeListboks.SelectedItem is FargeBeholder)) { return; } int selIndex = fargerListboks.SelectedIndex; FargeBeholder fb = (prisgruppeListboks.SelectedItem as FargeBeholder); int ant = fargerListboks.SelectedItems.Count; for (int i = 0; i < ant; i++) { if (fargerListboks.SelectedItems[0] is Farge) { fb.Farger.Remove(fargerListboks.SelectedItems[0] as Farge); } } if (selIndex < fargerListboks.Items.Count) { fargerListboks.SelectedIndex = selIndex; } else { fargerListboks.SelectedIndex = fargerListboks.Items.Count - 1; } }
void prisgruppeListboks_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (!(prisgruppeListboks.SelectedItem is FargeBeholder)) { return; } FargeBeholder fargeBeholder = prisgruppeListboks.SelectedItem as FargeBeholder; fargerListboks.DataContext = fargeBeholder; }
void leggTilAlleFargerKnapp_Click(object sender, RoutedEventArgs e) { if (!(prisgruppeListboks.SelectedItem is FargeBeholder)) { return; } FargeBeholder merketFargebeholder = prisgruppeListboks.SelectedItem as FargeBeholder; List <Farge> nyFargeliste = new List <Farge>(); foreach (FargeBeholder fb in db.Produktbeholder.Prisgruppesamling) { if (fb != merketFargebeholder) { foreach (Farge farge in fb.Farger) { bool leggTil = true; foreach (Farge fargeIMerketFargebeholder in nyFargeliste) { if (farge.FargeTittel.Trim() == fargeIMerketFargebeholder.FargeTittel.Trim()) { leggTil = false; break; } } if (leggTil) { Farge nyFarge = new Farge(farge.FargeTittel, merketFargebeholder); nyFarge.SetMerknader = farge.SetMerknader; foreach (Merknad m in farge.FargeMerknader) { nyFarge.FargeMerknader.Add(m); } nyFargeliste.Add(farge); } } } } //nyFargeliste.OrderBy(farge => farge.FargeTittel); nyFargeliste.Sort(delegate(Farge f1, Farge f2) { return(f1.FargeTittel.CompareTo(f2.FargeTittel)); }); foreach (Farge farge in nyFargeliste) { merketFargebeholder.Farger.Add(farge); } }
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 cmbPrisgruppeVelger_SelectionChanged(object sender, SelectionChangedEventArgs e) { ComboBox cmb = sender as ComboBox; if (cmb.SelectedItem == null || !(cmb.SelectedItem is FargeBeholder)) { return; } FargeBeholder valgtFargeBeholder = cmb.SelectedItem as FargeBeholder; foreach (CorianProdukt produkt in Liste) { //bool doBreak = false; foreach (CorianPrisgruppeProdukt prisgruppe in produkt.Prisgrupper) { if (prisgruppe.Farger == valgtFargeBeholder) { produkt.Prisgruppe = prisgruppe; break; } //if (prisgruppe != null) // foreach (Farge farge in prisgruppe.Farger.Farger) // { // //string s = prisgruppe.Farger.PrisgruppeNavn + ": " + farge; // if (valgtFargeBeholder.FargeTittel == farge.FargeTittel) // { // produkt.Prisgruppe = prisgruppe; // doBreak = true; // break; // } // } //if (doBreak) // break; } //Prisgrupper } //Liste }
void endrePrisgruppetittel_Click(object sender, RoutedEventArgs e) { if (!(prisgruppeListboks.SelectedItem is FargeBeholder)) { return; } FargeBeholder merketFargebeholder = prisgruppeListboks.SelectedItem as FargeBeholder; string prisgruppenavn = Microsoft.VisualBasic.Interaction.InputBox("Skriv inn det nye navnet på prisgruppen:", "Corinor prisforslag", ""); if (string.IsNullOrEmpty(prisgruppenavn)) { return; } merketFargebeholder.PrisgruppeNavn = prisgruppenavn; //HACK: oppdaterer prisgruppenavnet med å endre datacontext. Bør bruke notify av PrisgruppeNavn prisgruppeListboks.DataContext = null; prisgruppeListboks.DataContext = this; }
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); }
void nyFargeKnapp_Click(object sender, RoutedEventArgs e) { if (prisgruppeListboks.SelectedItem == null || !(prisgruppeListboks.SelectedItem is FargeBeholder)) { return; } //string prisgruppenavn = ""; //if (prisgruppeListboks.SelectedItem is FargeBeholder) // prisgruppenavn = (prisgruppeListboks.SelectedItem as FargeBeholder).PrisgruppeNavn; FargeBeholder fb = (prisgruppeListboks.SelectedItem as FargeBeholder); int index = fargerListboks.SelectedIndex + 1; if (fargerListboks.SelectedIndex == -1) { index = fargerListboks.Items.Count; } Farge nyFarge = new Farge("Farge" + nrFarge++, prisgruppeListboks.SelectedItem as FargeBeholder); fb.Farger.Insert(index, nyFarge); fargerListboks.ScrollIntoView(nyFarge); }
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 }