partial void DeleteAngebot_Position(Angebot_Position instance);
partial void InsertAngebot_Position(Angebot_Position instance);
partial void UpdateAngebot_Position(Angebot_Position instance);
private void detach_Angebot_Position(Angebot_Position entity) { this.SendPropertyChanging(); entity.Auftrag = null; }
private void attach_Angebot_Position(Angebot_Position entity) { this.SendPropertyChanging(); entity.Angebot = this; }
private void AngebotPosAnlegen() { if (rdbAussparung.Checked) { tbxEinzelVK.Text = tbxAussparungenPreis.Text; } using (DataBaseDataContext dbContext = new DataBaseDataContext()) { var ap = new Angebot_Position(); FillAngebotPositionWithValues(ref ap, cbxAlternativ1.Checked, cbxAlternativ2.Checked); dbContext.Angebot_Position.InsertOnSubmit(ap); try { dbContext.SubmitChanges(); Func.FAngebot.dgrPositionen.Columns.Clear(); Func.FAngebot.dgrPositionen.Columns.Add(new DataGridViewCheckBoxColumn() { HeaderText = "Markieren", Name = "Markieren" }); Func.FAngebot.dgrPositionen.Columns.Add(new DataGridViewColumn { CellTemplate = new DataGridViewTextBoxCell(), HeaderText = Const.PosNrHeaderName, Name = Const.PosNrHeaderName, Visible = true }); Func.FAngebot.dgrPositionen.DataSource = Func.LoadAngebotPositionenUebersicht(); //Func.FAngebot.ColorizeZuschlagColumn(); //Func.FAngebot.ColorizeTypColumn(); //Func.FAngebot.GeneratePosNr(); Func.FAngebot.DisableSortmode(); Func.FAngebot.dgrPositionen.Columns["PosID"].Visible = false; Func.FAngebot.dgrPositionen.Columns["AngebotID"].Visible = false; Func.FAngebot.dgrPositionen.Columns["Angebot"].Visible = false; Func.FAngebot.dgrPositionen.Columns["Auftrag"].Visible = false; k = null; k = new Kalkulation(); Func.FAngebotPosition.ClearEingabefelder(); Func.LoadAngebotSumme(); var angebot = dbContext.Angebot.Where(a => a.AngebotID.Equals(int.Parse(angebotsNr))).FirstOrDefault(); angebot.Gesamtbetrag = Decimal.Parse(Func.FAngebot.lblGesamt.Text); dbContext.SubmitChanges(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } btnPosAnlegen.Enabled = false; }
/// <summary> /// Befüllt die übergebene Auftrags- oder Angbotsposition mit Werten. /// Entweder bei der Neuanlage einer Position oder beim Ändern einer Position. /// </summary> /// <param name="ap">Übergebene Angebots- oder Auftragsposition.</param> /// <param name="isAlternative1Checked">if set to <c>true</c> [is alternative1 checked].</param> /// <param name="isAlternative2Checked">if set to <c>true</c> [is alternative2 checked].</param> private void FillAngebotPositionWithValues(ref Angebot_Position ap, bool isAlternative1Checked, bool isAlternative2Checked) { try { ap.AngebotID = int.Parse(angebotsNr); if (rdbVorderwand.Checked) { ap.Artikel = "Vorderwand"; } else if (rdbKabinen.Checked) { ap.Artikel = "Kabine"; } else if (rdbTrennwand.Checked) { ap.Artikel = "Trennwand"; } else if (rdbSchamwand.Checked) { ap.Artikel = "Schamwand"; } else if (rdbVorOTuer.Checked) { ap.Artikel = "Abschlusswand"; } else { ap.Artikel = "Sonderartikel"; } ap.Sondertext = tbxSondertextUnten.Text == "" ? null : tbxSondertextUnten.Text; ap.SondertextOben = tbxSondertextOben.Text == "" ? null : tbxSondertextOben.Text; ap.Typ = rdbTM.Checked ? "TM" : rdbTS.Checked ? "TS" : "NK"; ap.AnlagenStk = tbxAnlagen.Text == "" ? 0 : Decimal.Parse(tbxAnlagen.Text); ap.Breite = tbxBreite.Text == "" ? 0 : int.Parse(tbxBreite.Text); ap.Tiefe = tbxTiefe.Text == "" ? 0 : int.Parse(tbxTiefe.Text); ap.Türen = tbxTüren.Text == "" ? 0 : int.Parse(tbxTüren.Text); ap.TW = tbxTrw.Text == "" ? 0 : int.Parse(tbxTrw.Text); ap.ZuschlagTür = tbxZuschlag.Text == "" ? 0 : int.Parse(tbxZuschlag.Text); ap.Zuschlag = tbxVK.Text == "" ? 0 : int.Parse(tbxVK.Text); ap.ZuschlagArt = cbxVK.SelectedItem.ToString(); ap.Alupulver = cbxAlupulver.Checked ? Decimal.Parse(tbxAlupulv.Text) : 0.00m; ap.Montage = cbxMontage.Checked ? "ja" : "nein"; ap.Oberlicht = cbxOberlicht.Checked ? "ja" : "nein"; ap.AussparungStk = null; ap.SonderartikelEinheit = cbxSonderartikelEinheit.Text == "" ? null : cbxSonderartikelEinheit.Text; ap.Eventual = cbxEventual.Checked ? 1: 0; if (rdbAussparung.Checked) { ap.AussparungTxt = cobAussaprungBeschreibung.Text == "" ? null : cobAussaprungBeschreibung.Text; } else { ap.AussparungTxt = null; } ap.Einzelpreis = tbxEinzelVK.Text == "" ? 0.00m : Decimal.Parse(tbxEinzelVK.Text); if (isAlternative1Checked) { ap.Alternativ1Typ = rdbTM1.Checked ? "TM" : rdbTS1.Checked ? "TS" : "NK"; ap.Alternativ1Preis = tbxAlt1Preis.Text == "" ? 0.00m : Decimal.Parse(tbxAlt1Preis.Text); } else { ap.Alternativ1Typ = null; ap.Alternativ1Preis = null; } if (isAlternative2Checked) { ap.Alternativ2Typ = rdbTM2.Checked ? "TM" : rdbTS2.Checked ? "TS" : "NK"; ap.Alternativ2Preis = tbxAlt2Preis.Text == "" ? 0.00m : Decimal.Parse(tbxAlt2Preis.Text); } else { ap.Alternativ2Typ = null; ap.Alternativ2Preis = null; } } catch (Exception ex) { } }
///<summary> ///</summary> ///<param name="ap"></param> public Form_Kalkualtion(Angebot_Position ap) { InitializeComponent(); InitializeKalkulation(); kalkParamDB = DBManager.GetKalkulationsparameter(); isAuftrag = false; //Ausgewählte Angebotsposition laden positionsNr = ap.PosID.ToString(); angebotsNr = ap.AngebotID.ToString(); switch (ap.Artikel) { case "Vorderwand": rdbVorderwand.Checked = true; break; case "Kabine": rdbKabinen.Checked = true; break; case "Trennwand": rdbTrennwand.Checked = true; break; case "Schamwand": rdbSchamwand.Checked = true; break; case "Abschlusswand": rdbVorOTuer.Checked = true; break; case "Sonderartikel": rdbAussparung.Checked = true; break; } tbxSondertextUnten.Text = ap.Sondertext; tbxSondertextOben.Text = ap.SondertextOben; switch (ap.Typ) { case "TM": rdbTM.Checked = true; break; case "TS": rdbTS.Checked = true; break; case "NK": rdbNK.Checked = true; break; } tbxAnlagen.Text = String.Format("{0:#,0.##}", ap.AnlagenStk); tbxBreite.Text = ap.Breite.ToString(); tbxTiefe.Text = ap.Tiefe.ToString(); tbxTüren.Text = ap.Türen.ToString(); tbxTrw.Text = ap.TW.ToString(); tbxZuschlag.Text = ap.ZuschlagTür.ToString(); if (ap.Artikel == "Sonderartikel") { tbxAussparungenPreis.Text = ap.Einzelpreis.ToString(); double temp = double.Parse(tbxAussparungenPreis.Text); tbxAussparungenPreis.Text = temp.ToString(); gbxAussparung.Enabled = true; cbxSonderartikelEinheit.Text = ap.SonderartikelEinheit; } tbxVK.Text = ap.Zuschlag.ToString(); switch (ap.ZuschlagArt) { case "Prozent": cbxVK.SelectedIndex = 0; break; case "Euro": cbxVK.SelectedIndex = 1; break; } cbxAlupulver.Checked = ap.Alupulver != 0.00m ? true : false; cbxMontage.Checked = ap.Montage == "ja" ? true : false; cbxEventual.Checked = ap.Eventual != 0 ? true : false; cobAussaprungBeschreibung.Text = ap.AussparungTxt; if (ap.Alternativ1Typ != null) { cbxAlternativ1.Checked = true; switch (ap.Alternativ1Typ) { case "TM": rdbTM1.Checked = true; break; case "TS": rdbTS1.Checked = true; break; case "NK": rdbNK1.Checked = true; break; } tbxAlt1Preis.Text = ap.Alternativ1Preis.ToString(); } if (ap.Alternativ2Typ != null) { cbxAlternativ2.Checked = true; switch (ap.Alternativ2Typ) { case "TM": rdbTM2.Checked = true; break; case "TS": rdbTS2.Checked = true; break; case "NK": rdbNK2.Checked = true; break; } tbxAlt2Preis.Text = ap.Alternativ2Preis.ToString(); } Kalkulieren(); tbxAlupulv.Text = ap.Alupulver.ToString(); cbxOberlicht.Checked = ap.Oberlicht == "ja" ? true : false; // Der Positions-Einzelpreis wird zum Schluss in die Form geladen. // Hat der User bei der Kalkulation den errechneten Preis manuell abgeändert // so würde der Preis immer durch das erneute Kalkulieren überschrieben. // Das passiert zwar weiterhin, aber durch das nachladen des Preises erscheint somit der korrekte Betrag. if (ap.Artikel != "Sonderartikel") { tbxEinzelVK.Text = String.Format("{0:0,0}", ap.Einzelpreis); } }