public static Zeichenparameter GetZeichenparameter() { Zeichenparameter zeichenparamter = null; using (var dbContext = new DataBaseDataContext()) { zeichenparamter = dbContext.Zeichenparameter.Where(zp => zp.ID.Equals(1)).FirstOrDefault(); } return zeichenparamter; }
/// <summary> /// Gets the offer by ID. /// </summary> /// <param name="offerID">The offer ID.</param> /// <returns></returns> public static Angebot GetAngebotByID(int pAuftragID) { Angebot a = null; using (var dbContext = new DataBaseDataContext()) { a = dbContext.Angebot.Where(angebot => angebot.AngebotID.Equals(pAuftragID)).FirstOrDefault(); } return a; }
/// <summary> /// Gets the offer details. /// </summary> /// <param name="offerID">The offer ID.</param> /// <returns></returns> public static IQueryable<Angebot_Position> GetAngebotPositionen(int pAngebotID) { IQueryable<Angebot_Position> ap = null; using (var dbContext = new DataBaseDataContext()) { ap = dbContext.Angebot_Position.Where(angebotPos => angebotPos.AngebotID.Equals(pAngebotID)); } return ap; }
/// <summary> /// Gets the customer by ID. /// </summary> /// <param name="customerID">The customer ID.</param> /// <returns></returns> public static Kunde GetCustomerByID(int customerID) { Kunde k = null; using (var dbContext = new DataBaseDataContext()) { k = dbContext.Kunde.Where(kunde => kunde.KundeID.Equals(customerID)).FirstOrDefault(); } return k; }
/// <summary> /// Liefert ein Reportobjekt entsprechend dem übergebenen Reportnamen. /// </summary> /// <param name="reportname">Der Name des gewählten Reports.</param> /// <returns>Das entsprechende Report-Objekt</returns> public static ReportDocument GetReportByName(EReports reportname) { //Leere ReportDocument Objekt. Wird später mit dem gewählten Report "befüllt". var report = new ReportDocument(); using (var dbContext = new DataBaseDataContext()) { var reportPath = dbContext.Reports.Where(rp => rp.Name.Equals(reportname)).FirstOrDefault(); report.Load(reportPath.Pfad); } return report; }
/// <summary> /// Lädt den selektierten Kunden im dgrKunden-Grid aus der Datenbank /// und erstellt eine neue Instanz der <see cref="Form_Kunde"/> Klasse zur Bearbeitung des Kunden. /// </summary> private void EditKunde() { // Selektierte Zeile im dgrKunden-Grid ermitteln. DataGridViewRow dr = dgrKunden.CurrentRow; using (var dbContext = new DataBaseDataContext()) { if (dr != null) { // Selektierten Kunden aus DB ermitteln. var kunde = dbContext.Kunde.Where(c => c.KundeID.Equals(dr.Cells["KundeID"].Value)).FirstOrDefault(); // Kundenobjekt an Form_Kunde Instanz übergeben. Func.FKunde = new Form_Kunde(kunde); Func.FKunde.btnKundeAnl.Enabled = false; Func.FKunde.ShowDialog(); } } }
/// <summary> /// Lädt die Kalkulationsparameter aus der DB in die entsprechenden Textboxen. /// </summary> private void LoadKalkulationsparameter() { try { using (var dbContext = new DataBaseDataContext()) { if (kalkParamDB != null) { kalkParamDB = null; kalkParamDB = dbContext.Kalkulationsparameter.Where(kp => kp.ParamterID.Equals(1)).FirstOrDefault(); } else { kalkParamDB = dbContext.Kalkulationsparameter.Where(kp => kp.ParamterID.Equals(1)).FirstOrDefault(); } tbxPlattenkostenTM.Text = kalkParamDB.PlattenkostenTM.ToString("#00.00"); tbxPlattenkostenTS.Text = kalkParamDB.PlattenkostenTS.ToString("#00.00"); tbxPlattenkostenNK.Text = kalkParamDB.PlattenkostenNK.ToString("#00.00"); tbxAluprofilkosten.Text = kalkParamDB.Aluprofilkosten.ToString("##0.00"); tbxBeschlagkosten.Text = kalkParamDB.Beschlagkosten.ToString("#00.00"); tbxFixkosten.Text = kalkParamDB.Fixkosten.ToString("##0.00"); tbxPulverkosten.Text = kalkParamDB.Pulverkosten.ToString("##0.00"); tbxMontagekosten.Text = kalkParamDB.Montagekosten.ToString("#00.00"); tbxLohnkostenTM.Text = kalkParamDB.LohnkostenTM.ToString("#00.00"); tbxLohnkostenTS.Text = kalkParamDB.LohnkostenTS.ToString("#00.00"); tbxLohnkostenNK.Text = kalkParamDB.LohnkostenNK.ToString("#00.00"); tbxOberlichtTM.Text = kalkParamDB.OberlichtkostenTM.ToString("#00.00"); tbxOberlichtTS.Text = kalkParamDB.OberlichtkostenTS.ToString("#00.00"); tbxOberlichtNK.Text = kalkParamDB.OberlichtkostenNK.ToString("#00.00"); tbxGewinn.Text = (((kalkParamDB.Gewinn) - 1) * 100).ToString("0.00#"); //tbxMwst.Text = (((kalkParamDB.Mwst) - 1) * 100).ToString("0.00#"); tbxSonderzuschlag.Text = (((kalkParamDB.Sonderzuschlag) - 1) * 100).ToString("0.00#"); tbxAussparung.Text = ((kalkParamDB.Aussparung).ToString("0.00#")); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
private void btnEmail_Click(object sender, EventArgs e) { //this.Cursor = Cursors.WaitCursor; String eMail = ""; using (var dbContext = new DataBaseDataContext()) { try { // Tabelleninhalt löschen dbContext.ExecuteCommand("TRUNCATE TABLE Brief"); dbContext.SubmitChanges(); var brief = new Brief { Betreff = tbxBetreff.Text, Text = tbxText.Text, Bauvorhaben = tbxBauvorhaben.Text, ZuHaenden = tbxHaenden.Text, Anrede = cobAnrede.Text }; dbContext.Brief.InsertOnSubmit(brief); dbContext.SubmitChanges(); var k = dbContext.Kunde.Where(customer => customer.KundeID.Equals(kundennr[0])).FirstOrDefault(); eMail = k.Email2; Func.SendDocumentViaEmail(eMail, "", "", ReportManager.GetExportFilepath(reportType, kundennr[0])); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } //this.Cursor = Cursors.Default; }
// ****************************************************************** // Konstruktor // ****************************************************************** #region Konstruktor /// <summary> /// Intitialisiert eine neue Instanz der <see cref="Kalkulation"/> Klasse. /// </summary> public Kalkulation() { using (var dbContext = new DataBaseDataContext()) { if (kalkParamDB != null) { kalkParamDB = null; kalkParamDB = dbContext.Kalkulationsparameter.Where(kp => kp.ParamterID.Equals(1)).FirstOrDefault(); } else { kalkParamDB = dbContext.Kalkulationsparameter.Where(kp => kp.ParamterID.Equals(1)).FirstOrDefault(); } } this.Montagekosten = kalkParamDB.Montagekosten; this.Alukosten = kalkParamDB.Aluprofilkosten; this.AlubeschKosten = kalkParamDB.Pulverkosten; this.Beschlagkosten = kalkParamDB.Beschlagkosten; this.Fixkosten = kalkParamDB.Fixkosten; this.Gewinn = kalkParamDB.Gewinn; this.Sonderzuschlag = kalkParamDB.Sonderzuschlag; }
//Anlegen eines Angebots private void btnAnlegen_Click(object sender, EventArgs e) { using (var dbContext = new DataBaseDataContext()) { if ((!string.IsNullOrEmpty(tbxKdName.Text)) | (Func.IsNumeric(tbxKdNummer.Text, true))) { if (cobBetreff.SelectedIndex != -1) { try { var a = new Angebot { Anfahrt = cbxAnfahrt.Checked ? "ja" : "nein", KundeID = int.Parse(tbxKdNummer.Text), Empfänger = tbxKdHaenden.Text == "" ? null : tbxKdHaenden.Text, Datum = dateAngebot.Value, Typ = cobTyp.Text == "Eigener Text" ? tbxEigenerText.Text : cobTyp.Text, Betreff = cobBetreff.Text, BV = tbxBauvorhaben.Text == "" ? null : tbxBauvorhaben.Text, BV2 = tbxBV2.Text == "" ? null : tbxBV2.Text, Gesamtbetrag = 0.0m, //Initialwert Nachlass = Decimal.Parse(tbxNachlass.Text), NachlassArt = cobNachlass.Text, Steuer = (Decimal)cobMwSt.SelectedValue, Zahlungsbedingung = cobSkonto.Text == "" ? "Keine" : cobSkonto.Text, Aufmaß = cbxAufmaß.Checked ? "ja" : "nein", Sondertext = tbxSondertextOben.Text == "" ? null : tbxSondertextOben.Text, SondertextUnten = tbxSondertextUnten.Text == "" ? null : tbxSondertextUnten.Text, VorgabedatumRechnung = dateAngVorgabeRech.Value.Date != DateTime.Today.Date ? dateAngVorgabeRech.Value.Date : (DateTime?)null }; dbContext.Angebot.InsertOnSubmit(a); dbContext.SubmitChanges(); tbxAngNummer.Text = a.AngebotID.ToString(); //itemPosNeu.Enabled = true; btnAnlegen.Enabled = false; //btnEdit.Enabled = true; } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } else { DialogResult res = MessageBox.Show("Bitte wählen Sie einen gültigen Betreff aus.", "Ungültige Betreffauswahl", MessageBoxButtons.OK, MessageBoxIcon.Information); if (res == DialogResult.OK) { cobBetreff.DroppedDown = true; } } } else { MessageBox.Show("Bitte wählen Sie einen gültigen Kunden aus.", "Ungültige Kundenauswahl", MessageBoxButtons.OK, MessageBoxIcon.Information); } } }
//public void setErgebnisse(decimal Pos, decimal Nachl, decimal Mwst, decimal Gesamtsum) //{ // positionSumme = Pos; // nachlass = Nachl; // steuer = Mwst; // gesamt = Gesamtsum; //} private void btnEdit_Click(object sender, EventArgs e) { using (var dbContext = new DataBaseDataContext()) { try { var a = dbContext.Angebot.Where(angebot => angebot.AngebotID.Equals(int.Parse(tbxAngNummer.Text))).FirstOrDefault(); a.Anfahrt = cbxAnfahrt.Checked ? "ja" : "nein"; a.KundeID = int.Parse(tbxKdNummer.Text); a.Empfänger = tbxKdHaenden.Text == "" ? null : tbxKdHaenden.Text; a.Datum = dateAngebot.Value; a.Typ = cobTyp.Text == "Eigener Text" ? tbxEigenerText.Text : cobTyp.Text; a.Betreff = cobBetreff.Text; a.BV = tbxBauvorhaben.Text == "" ? null : tbxBauvorhaben.Text; a.BV2 = tbxBV2.Text == "" ? null : tbxBV2.Text; a.Gesamtbetrag = Decimal.Parse(lblGesamt.Text); a.Nachlass = Decimal.Parse(tbxNachlass.Text); a.NachlassArt = cobNachlass.Text; a.Steuer = (Decimal)cobMwSt.SelectedValue; a.Zahlungsbedingung = cobSkonto.Text; a.Aufmaß = cbxAufmaß.Checked ? "ja" : "nein"; a.Sondertext = tbxSondertextOben.Text == "" ? null : tbxSondertextOben.Text; a.SondertextUnten = tbxSondertextUnten.Text == "" ? null : tbxSondertextUnten.Text; a.VorgabedatumRechnung = dateAngVorgabeRech.Value.Date != DateTime.Today.Date ? dateAngVorgabeRech.Value.Date : (DateTime?)null; dbContext.SubmitChanges(); changesDone = false; } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } }
/// <summary> /// Handles the Click event of the itemMail control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param> private void itemMail_Click(object sender, EventArgs e) { this.Cursor = Cursors.WaitCursor; String eMail = String.Empty; List<int> posIDs = new List<int>(); foreach (DataGridViewRow row in dgrPositionen.Rows) { // Nur alle gecheckten Positionen berücksichtigen. var cell = row.Cells[Const.CheckColumHeaderName] as DataGridViewCheckBoxCell; if (cell.Value != null && (bool)cell.Value == true) { Angebot_Position pos = row.DataBoundItem as Angebot_Position; if (pos != null) { posIDs.Add(pos.PosID); } } } using (var dbContext = new DataBaseDataContext()) { try { var k = dbContext.Kunde.Where(customer => customer.KundeID.Equals(int.Parse(tbxKdNummer.Text))).FirstOrDefault(); eMail = k.Email2; if (posIDs.Count == 0) { Func.SendDocumentViaEmail(eMail, "Norka Sanitärkabinen: Angebot", "", ReportManager.GetExportFilepath(EReports.Angebot, int.Parse(tbxAngNummer.Text), new List<int>() { 1, 0 })); } else { Func.SendDocumentViaEmail(eMail, "Norka Sanitärkabinen: Angebot", "", ReportManager.GetExportFilepath(EReports.Angebot, int.Parse(tbxAngNummer.Text), posIDs)); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } posIDs = null; this.Cursor = Cursors.Default; }
/// <summary> /// Lädt die Positionen zu dem entsprechenden Angebot. /// </summary> /// <returns>Auflistung aller Positionen zu dem entsprechnden Angebot.</returns> public static IQueryable<Angebot_Position> LoadAngebotPositionenUebersicht() { var dbContext = new DataBaseDataContext(); var angebotPositionen = dbContext.Angebot_Position.Where(ap => ap.Angebot.AngebotID.Equals(int.Parse(FAngebot.tbxAngNummer.Text))); return angebotPositionen; }
/// <summary> /// Löscht den selektierten Kunden im dgrKunden-Grid aus der Datenbank. /// </summary> private void DeleteKunde() { DataGridViewRow dr = dgrKunden.CurrentRow; if (dr != null) // sicherstellen, dass ein Kunde selektiert wurde. { DialogResult result = MessageBox.Show("Möchten Sie diesen Kunden wirklich löschen?", "Kunden löschen", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1); if (result == DialogResult.Yes) { using (var dbContext = new DataBaseDataContext()) { var kunde = dbContext.Kunde.Where(cust => cust.KundeID.Equals(dr.Cells["KundeID"].Value)).FirstOrDefault(); dbContext.Kunde.DeleteOnSubmit(kunde); try { dbContext.SubmitChanges(); } catch (SqlException ex) { if (ex.Number == 547) // Verletzung der Foreign-Key REFERENCE-Einschränkung { if (ex.Message.Contains("FK_Auftrag_Kunde")) { MessageBox.Show("Dieser Kunde kann nicht gelöscht werden, da ihm noch Aufträge zugeordnet sind.", "Kunde löschen.", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else if (ex.Message.Contains("FK_Angebot_Kunde")) { MessageBox.Show("Dieser Kunde kann nicht gelöscht werden, da ihm noch Angebote zugeordnet sind.", "Kunde löschen", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } } } Func.FUebersicht.tsItemAkualisieren.PerformClick(); // aktualisieren des dgrKunden-Grids. } } }
private void LoadRowsFromDatabase(int KategorieFilter, double pZuschlagProzent) { using (DataBaseDataContext dbContext = new DataBaseDataContext()) { IQueryable<DB.Lager> x; if (KategorieFilter != 0) { x = dbContext.Lager.Where(l => l.Kategorie.Equals(KategorieFilter)); } else { x = dbContext.Lager.Select(s => s); } foreach (var lager in x) { // Neue Zeile erzeugen var dataGridRow = new DataGridViewRow(); // Zellen erzeugen var cellNr = new DataGridViewTextBoxCell(); var cellBezeichnung = new DataGridViewTextBoxCell(); var cellEinheit = new DataGridViewComboBoxCell(); var cellKategorie = new DataGridViewComboBoxCell(); var cellFaktor = new DataGridViewTextBoxCell(); var cellAnzahl = new DataGridViewTextBoxCell(); var cellEk = new DataGridViewTextBoxCell(); var cellBetrag = new DataGridViewTextBoxCell(); // Zellen in die Zeile einfeügen dataGridRow.Cells.Add(cellNr); dataGridRow.Cells.Add(cellBezeichnung); dataGridRow.Cells.Add(cellKategorie); dataGridRow.Cells.Add(cellEinheit); dataGridRow.Cells.Add(cellFaktor); dataGridRow.Cells.Add(cellAnzahl); dataGridRow.Cells.Add(cellEk); dataGridRow.Cells.Add(cellBetrag); // Zelle (Bezeichnung) cellBezeichnung.Value = lager.Bezeichnung; // Zelle (Einheit) cellEinheit.DataSource = lagereinheitBindingSource; cellEinheit.DisplayMember = "Bezeichnung"; cellEinheit.ValueMember = "ID"; cellEinheit.Value = lager.Einheit; // Zelle (Faktor) cellFaktor.Value = lager.Faktor; // Zelle (Kategorie) cellKategorie.DataSource = lagerkategorieBindingSource; cellKategorie.DisplayMember = "Bezeichnung"; cellKategorie.ValueMember = "ID"; cellKategorie.Value = lager.Kategorie; // Zelle (Stk) cellAnzahl.Value = lager.Stk; // Zelle (Ek) if (zuschlagProzent == 0.0) { cellEk.Value = lager.EK; } else { // EK um eingegebenen Prozentsatz erhöhen cellEk.Value = lager.EK + (lager.EK / 100) * pZuschlagProzent; } // Zelle (Betrag) cellBetrag.Value = lager.Stk * (Convert.ToDouble(cellEk.Value)/ Convert.ToDouble(cellFaktor.Value)); // Zeile ins Grid einfügen dgrLager.Rows.Add(dataGridRow); // Neue Positonsnummern vergeben ReNumberPos(); } } }
/// <summary> /// Löscht eine Postion aus dem Angebot. /// </summary> private void DeleteAngebotPos() { var dr = dgrPositionen.CurrentRow; if (dr != null) { DialogResult result = MessageBox.Show("Möchten Sie diese Position wirklich löschen?", "Position löschen", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1); if (result == DialogResult.Yes) { using (var dbContext = new DataBaseDataContext()) { try { var ap = dbContext.Angebot_Position.Where(angebot_position => angebot_position.PosID.Equals(dr.Cells["PosID"].Value)).FirstOrDefault(); dbContext.Angebot_Position.DeleteOnSubmit(ap); dbContext.SubmitChanges(); dgrPositionen.DataSource = Func.LoadAngebotPositionenUebersicht(); GeneratePosNr(); DisableSortmode(); Func.LoadAngebotSumme(); var angebot = dbContext.Angebot.Where(a => a.AngebotID.Equals(int.Parse(tbxAngNummer.Text))).FirstOrDefault(); angebot.Gesamtbetrag = Decimal.Parse(Func.FAngebot.lblGesamt.Text); dbContext.SubmitChanges(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } } } }
private void itemMarkPos_Click(object sender, EventArgs e) { this.Cursor = Cursors.WaitCursor; using (var dbContext = new DataBaseDataContext()) { // Aktuelles Angebotsobjekt aus DB ermitteln. var angebot = dbContext.Angebot.Where(ang => ang.AngebotID.Equals(int.Parse(tbxAngNummer.Text))).FirstOrDefault(); // Auftragsobjekt anlegen und mit Daten des Angebots füllen. (Außer Gesamtbetrag) var auftrag = new DB.Auftrag { Datum = DateTime.Today, Typ = angebot.Typ, BV = angebot.BV, BV2 = angebot.BV2, Zahlungsbedingung = angebot.Zahlungsbedingung, Betreff = angebot.Betreff, Nachlass = angebot.Nachlass, NachlassArt = angebot.NachlassArt, Steuer = angebot.Steuer, Aufmaß = angebot.Aufmaß, Anfahrt = angebot.Anfahrt, Sondertext = angebot.Sondertext, SondertextUnten = angebot.SondertextUnten, KundeID = angebot.KundeID, Empfänger = angebot.Empfänger, VorgabedatumRechnung = dateAngVorgabeRech.Value.Date != DateTime.Today.Date ? dateAngVorgabeRech.Value.Date : (DateTime?)null }; try { // Auftrag in DB speichern. dbContext.Auftrag.InsertOnSubmit(auftrag); dbContext.SubmitChanges(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } decimal sum = 0.0m; foreach (DataGridViewRow row in dgrPositionen.Rows) { // Nur alle gecheckten Positionen berücksichtigen. var cell = row.Cells[Const.CheckColumHeaderName] as DataGridViewCheckBoxCell; if (cell.Value != null) { // Aktuelle, gecheckte Angebotsposition im FOREACH-Durchlauf aus DB auslesen. var angebotPosition = dbContext.Angebot_Position.Where(ap => ap.PosID.Equals(row.Cells["PosID"].Value)).FirstOrDefault(); // Neue Auftragsposition anlegen und mit Daten aus Angebotsposition füllen. var auftragPosition = new Auftrag_Position { AuftragID = auftrag.AuftragID, Artikel = angebotPosition.Artikel, Sondertext = angebotPosition.Sondertext, Typ = angebotPosition.Typ, AnlagenStk = angebotPosition.AnlagenStk, Breite = angebotPosition.Breite, Tiefe = angebotPosition.Tiefe, Türen = angebotPosition.Türen, TW = angebotPosition.TW, ZuschlagTür = angebotPosition.ZuschlagTür, Einzelpreis = angebotPosition.Einzelpreis, Zuschlag = angebotPosition.Zuschlag, ZuschlagArt = angebotPosition.ZuschlagArt, Alupulver = angebotPosition.Alupulver, Montage = angebotPosition.Montage, AussparungStk = angebotPosition.AussparungStk, AussparungTxt = angebotPosition.AussparungTxt, Alternativ1Typ = angebotPosition.Alternativ1Typ, Alternativ1Preis = angebotPosition.Alternativ1Preis, Alternativ2Typ = angebotPosition.Alternativ2Typ, Alternativ2Preis = angebotPosition.Alternativ2Preis, SondertextOben = angebotPosition.SondertextOben, Oberlicht = angebotPosition.Oberlicht, SonderartikelEinheit = angebotPosition.SonderartikelEinheit }; // Increment Gesamtsumme. sum += auftragPosition.Einzelpreis * auftragPosition.AnlagenStk; sum += auftragPosition.Alupulver * auftragPosition.AnlagenStk; try { // Auftragsposition in DB speichern. dbContext.Auftrag_Position.InsertOnSubmit(auftragPosition); // Angebotsposition auf Auftrag referenzieren. angebotPosition.AuftragID = auftrag.AuftragID; //dbContext.SubmitChanges(); dbContext.SubmitChanges(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } } try { // Von der Gesamtsumme der Positionen den Nachlass abziehen. if (Func.IsNumeric(tbxNachlass.Text, true) & tbxNachlass.Text != "" & cobNachlass.SelectedIndex == 0) // Prozent { sum = sum - (sum * decimal.Parse(tbxNachlass.Text) / 100); } else if (Func.IsNumeric(tbxNachlass.Text, true) & tbxNachlass.Text != "") { sum = sum - decimal.Parse(tbxNachlass.Text); } // Zu der Gesamtsumme der Positionen die MwSt hinzurechnen. //if (cobMwSt.SelectedIndex == 0) //{ // sum = sum * 0.19m + sum; //} sum = sum * (Decimal)cobMwSt.SelectedValue + sum; // Auftrag mit Gesamtbetrag updaten. auftrag.Gesamtbetrag = sum; dbContext.SubmitChanges(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } // Refresh Angebotspositionen Func.FAngebot.dgrPositionen.DataSource = Func.LoadAngebotPositionenUebersicht(); //GeneratePosNr(); btnEdit.Enabled = false; // itemPosNeu.Enabled = false; itemPosEdit.Enabled = false; itemPosDelete.Enabled = false; selectedRows = 0; this.Cursor = Cursors.Default; }
/// <summary> /// Diese Methode erstellt für das angezeigte Angebot implizit einen Auftrag und danach eine Rechnung und öffnet den Sofortdruck-Dialog /// </summary> /// <param name="schlussrechnung">Gibt an ob es sich um eine Schlussrechnung handelt (true) oder nicht (false)</param> private void CreateInvoiceForOrderPositions(bool schlussrechnung) { // Auftrag erstellen Auftrag auftrag = CreateOrderForOfferPositionsWithoutOrderID(); using (DataBaseDataContext dbContext = new DataBaseDataContext()) { // Auftragspositionen zum Auftrag ermitteln. var auftrag_positionen = dbContext.Auftrag_Position.Where(ap => ap.AuftragID.Equals(auftrag.AuftragID)); var rechnung = new DB.Rechnung { Datum = dateAngVorgabeRech.Value.Date != DateTime.Today.Date ? dateAngVorgabeRech.Value.Date : DateTime.Today.Date, Steuer = auftrag.Steuer, KundeID = auftrag.KundeID, Typ = auftrag.Typ, BV = auftrag.BV, BV2 = auftrag.BV2, Zahlungsbedingung = auftrag.Zahlungsbedingung, Betreff = auftrag.Betreff, Nachlass = auftrag.Nachlass, NachlassArt = auftrag.NachlassArt, Aufmaß = auftrag.Aufmaß, Anfahrt = auftrag.Anfahrt, Sondertext = auftrag.Sondertext, Schlussrechnung = schlussrechnung ? "ja" : null }; try { dbContext.Rechnung.InsertOnSubmit(rechnung); dbContext.SubmitChanges(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } decimal sum = 0.0m; foreach (Auftrag_Position pos in auftrag_positionen) { var rechnungPosition = new Rechnung_Position() { RechnungID = rechnung.RechnungID, Artikel = pos.Artikel, Sondertext = pos.Sondertext, Typ = pos.Typ, AnlagenStk = pos.AnlagenStk, Breite = pos.Breite, Tiefe = pos.Tiefe, Türen = pos.Türen, TW = pos.TW, ZuschlagTür = pos.ZuschlagTür, Einzelpreis = pos.Einzelpreis, Zuschlag = pos.Zuschlag, ZuschlagArt = pos.ZuschlagArt, Alupulver = pos.Alupulver, Montage = pos.Montage, AussparungStk = pos.AussparungStk, AussparungTxt = pos.AussparungTxt, Alternativ1Typ = pos.Alternativ1Typ, Alternativ1Preis = pos.Alternativ1Preis, Alternativ2Typ = pos.Alternativ2Typ, Alternativ2Preis = pos.Alternativ2Preis, SondertextOben = pos.SondertextOben, SonderartikelEinheit = pos.SonderartikelEinheit }; // Increment Gesamtsumme. sum += rechnungPosition.Einzelpreis * rechnungPosition.AnlagenStk; sum += rechnungPosition.Alupulver * rechnungPosition.AnlagenStk; try { dbContext.Rechnung_Position.InsertOnSubmit(rechnungPosition); dbContext.SubmitChanges(); pos.RechnungID = rechnung.RechnungID; dbContext.SubmitChanges(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } try { // Von der Gesamtsumme der Positionen den Nachlass abziehen. if (Func.IsNumeric(tbxNachlass.Text, true) & tbxNachlass.Text != "" & cobNachlass.SelectedIndex == 0) // Prozent { sum = sum - (sum * decimal.Parse(tbxNachlass.Text) / 100); } else if (Func.IsNumeric(tbxNachlass.Text, true) & tbxNachlass.Text != "") { sum = sum - decimal.Parse(tbxNachlass.Text); } // Zu der Gesamtsumme der Positionen die MwSt hinzurechnen. //if (cobMwSt.SelectedIndex == 0) //{ // sum = sum * 0.19m + sum; //} sum = sum * (Decimal)cobMwSt.SelectedValue + sum; // Rechnung mit Gesamtbetrag updaten. rechnung.Gesamtbetrag = sum; dbContext.SubmitChanges(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } this.Cursor = Cursors.WaitCursor; PrintManager.PrintDirectlyWithDialog(EReports.Rechnung, new List<int>() { 1, rechnung.RechnungID }); this.Cursor = Cursors.Default; } }
/// <summary> /// Diese Methode erstellt einen Auftrag über alle Angebotspositionen, zu denen noch kein Auftrag exisitiert. /// </summary> private Auftrag CreateOrderForOfferPositionsWithoutOrderID() { Auftrag auftrag; using (var dbContext = new DataBaseDataContext()) { var angebot = dbContext.Angebot.Where(ang => ang.AngebotID.Equals(int.Parse(tbxAngNummer.Text))).FirstOrDefault(); auftrag = new Auftrag { Datum = DateTime.Today, Typ = angebot.Typ, BV = angebot.BV, BV2 = angebot.BV2, Zahlungsbedingung = angebot.Zahlungsbedingung, Betreff = angebot.Betreff, Nachlass = angebot.Nachlass, NachlassArt = angebot.NachlassArt, Steuer = angebot.Steuer, Aufmaß = angebot.Aufmaß, Anfahrt = angebot.Anfahrt, Sondertext = angebot.Sondertext, SondertextUnten = angebot.SondertextUnten, KundeID = angebot.KundeID, //Gesamtbetrag = angebot.Gesamtbetrag, Empfänger = angebot.Empfänger, VorgabedatumRechnung = dateAngVorgabeRech.Value.Date != DateTime.Today.Date ? dateAngVorgabeRech.Value.Date : (DateTime?)null }; try { dbContext.Auftrag.InsertOnSubmit(auftrag); dbContext.SubmitChanges(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } decimal sum = 0.0m; foreach (DataGridViewRow row in dgrPositionen.Rows) { // Es werden nur AngebotsPositionen berücksichtigt, die noch keinem Auftrag zugeordnet wurden. if (row.Cells["AuftragID"].Value == null) { var angebotPosition = dbContext.Angebot_Position.Where(ap => ap.PosID.Equals(row.Cells["PosID"].Value)).FirstOrDefault(); var auftragPosition = new Auftrag_Position { AuftragID = auftrag.AuftragID, Artikel = angebotPosition.Artikel, Sondertext = angebotPosition.Sondertext, Typ = angebotPosition.Typ, AnlagenStk = angebotPosition.AnlagenStk, Breite = angebotPosition.Breite, Tiefe = angebotPosition.Tiefe, Türen = angebotPosition.Türen, TW = angebotPosition.TW, ZuschlagTür = angebotPosition.ZuschlagTür, Einzelpreis = angebotPosition.Einzelpreis, Zuschlag = angebotPosition.Zuschlag, ZuschlagArt = angebotPosition.ZuschlagArt, Alupulver = angebotPosition.Alupulver, Montage = angebotPosition.Montage, AussparungStk = angebotPosition.AussparungStk, AussparungTxt = angebotPosition.AussparungTxt, Alternativ1Typ = angebotPosition.Alternativ1Typ, Alternativ1Preis = angebotPosition.Alternativ1Preis, Alternativ2Typ = angebotPosition.Alternativ2Typ, Alternativ2Preis = angebotPosition.Alternativ2Preis, SondertextOben = angebotPosition.SondertextOben, Oberlicht = angebotPosition.Oberlicht, SonderartikelEinheit = angebotPosition.SonderartikelEinheit }; // Increment Gesamtsumme. sum += auftragPosition.Einzelpreis * auftragPosition.AnlagenStk; sum += auftragPosition.Alupulver * auftragPosition.AnlagenStk; try { // Auftragsposition in DB speichern dbContext.Auftrag_Position.InsertOnSubmit(auftragPosition); dbContext.SubmitChanges(); // Auftragsposition auf Auftrag referenzieren. angebotPosition.AuftragID = auftrag.AuftragID; //dbContext.SubmitChanges(); dbContext.SubmitChanges(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } } try { // Von der Gesamtsumme der Positionen den Nachlass abziehen. if (Func.IsNumeric(tbxNachlass.Text, true) & tbxNachlass.Text != "" & cobNachlass.SelectedIndex == 0) // Prozent { sum = sum - (sum * decimal.Parse(tbxNachlass.Text) / 100); } else if (Func.IsNumeric(tbxNachlass.Text, true) & tbxNachlass.Text != "") { sum = sum - decimal.Parse(tbxNachlass.Text); } // Zu der Gesamtsumme der Positionen die MwSt hinzurechnen. //if (cobMwSt.SelectedIndex == 0) //{ // sum = sum * 0.19m + sum; //} sum = sum * (Decimal)cobMwSt.SelectedValue + sum; // Auftrag mit Gesamtbetrag updaten. auftrag.Gesamtbetrag = sum; dbContext.SubmitChanges(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } btnEdit.Enabled = false; itemPosNeu.Enabled = false; itemPosEdit.Enabled = false; itemPosDelete.Enabled = false; // Positionsgrid aktualisieren Func.FAngebot.dgrPositionen.DataSource = Func.LoadAngebotPositionenUebersicht(); //GeneratePosNr(); selectedRows = 0; return auftrag; }
/// <summary> /// Lädt die Positionen zu der entsprechenden Rechnung. /// </summary> /// <returns>Auflistung aller Positionen zu der entsprechnden Rechnung.</returns> public static IQueryable<Rechnung_Position> LoadRechnungPositionenUebersicht() { DataBaseDataContext dbContext = new DataBaseDataContext(); var rechnungPositionen = dbContext.Rechnung_Position.Where(r => r.Rechnung.RechnungID.Equals(int.Parse(FRechnung.tbxRechNummer.Text))); return rechnungPositionen; }
/// <summary> /// Lädt die Positionen zu dem entsprechenden Angebot. /// </summary> /// <returns>Auflistung aller Positionen zu dem entsprechnden Auftrag.</returns> public static IQueryable<Auftrag_Position> LoadAuftragPositionenUebersicht() { DataBaseDataContext dbContext = new DataBaseDataContext(); var auftragPositionen = dbContext.Auftrag_Position.Where(ap => ap.Auftrag.AuftragID.Equals(int.Parse(FAuftrag.tbxAufNummer.Text))); return auftragPositionen; }
/// <summary> /// Speicher die Firmendaten in der DB. /// </summary> private void SaveFirmendaten() { try { using (var dbContext = new DataBaseDataContext()) { if (firmendatenDB != null) { firmendatenDB = null; firmendatenDB = dbContext.Firmendatens.Where(fd => fd.ID.Equals(1)).FirstOrDefault(); } else { firmendatenDB = dbContext.Firmendatens.Where(fd => fd.ID.Equals(1)).FirstOrDefault(); } firmendatenDB.Name = tbxFirmenname.Text; firmendatenDB.Inhaber = tbxInhaber.Text; firmendatenDB.Straße = tbxStraße.Text; firmendatenDB.PLZ = tbxPLZ.Text; firmendatenDB.Ort = tbxOrt.Text; firmendatenDB.Telefon = tbxTelefon.Text; firmendatenDB.Fax = tbxFax.Text; firmendatenDB.Email = tbxEmail.Text; firmendatenDB.Homepage = tbxHompage.Text; firmendatenDB.Steuernummer = tbxSteuernummer.Text; firmendatenDB.Ust_Nummer = tbxUST.Text; firmendatenDB.Bank1 = tbxBank1.Text; firmendatenDB.BLZ1 = tbxBLZ1.Text; firmendatenDB.Konto1 = tbxKnt1.Text; firmendatenDB.IBAN1 = tbxIban1.Text; firmendatenDB.BIC1 = tbxBic1.Text; firmendatenDB.Bank2 = tbxBank2.Text; firmendatenDB.BLZ2 = tbxBLZ2.Text; firmendatenDB.Konto2 = tbxKnt2.Text; firmendatenDB.IBAN2 = tbxIban2.Text; firmendatenDB.BIC2 = tbxBic2.Text; firmendatenDB.Steuertext = tbxSteuertext.Text; firmendatenDB.Bank1Aktiv = cbxBank1Aktiv.Checked ? 1 : 0; firmendatenDB.Bank2Aktiv = cbxBank2Aktiv.Checked ? 1 : 0; dbContext.SubmitChanges(); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
/// <summary> /// Lädt sämtliche Firmendaten aus der DB in die entsprechenden Textboxsen des Optionen-Moduls. /// </summary> private void LoadFirmendaten() { try { using (var dbContext = new DataBaseDataContext()) { if (firmendatenDB != null) { firmendatenDB = null; firmendatenDB = dbContext.Firmendatens.Where(fd => fd.ID.Equals(1)).FirstOrDefault(); } else { firmendatenDB = dbContext.Firmendatens.Where(fd => fd.ID.Equals(1)).FirstOrDefault(); } tbxFirmenname.Text = firmendatenDB.Name; tbxInhaber.Text = firmendatenDB.Inhaber; tbxStraße.Text = firmendatenDB.Straße; tbxPLZ.Text = firmendatenDB.PLZ; tbxOrt.Text = firmendatenDB.Ort; tbxTelefon.Text = firmendatenDB.Telefon; tbxFax.Text = firmendatenDB.Fax; tbxEmail.Text = firmendatenDB.Email; tbxHompage.Text = firmendatenDB.Homepage; tbxSteuernummer.Text = firmendatenDB.Steuernummer; tbxUST.Text = firmendatenDB.Ust_Nummer; tbxBank1.Text = firmendatenDB.Bank1; tbxBLZ1.Text = firmendatenDB.BLZ1; tbxKnt1.Text = firmendatenDB.Konto1; tbxIban1.Text = firmendatenDB.IBAN1; tbxBic1.Text = firmendatenDB.BIC1; tbxBank2.Text = firmendatenDB.Bank2; tbxBLZ2.Text = firmendatenDB.BLZ2; tbxIban2.Text = firmendatenDB.IBAN2; tbxBic2.Text = firmendatenDB.BIC2; tbxKnt2.Text = firmendatenDB.Konto2; tbxSteuertext.Text = firmendatenDB.Steuertext; cbxBank1Aktiv.Checked = firmendatenDB.Bank1Aktiv == 1 ? true : false; cbxBank2Aktiv.Checked = firmendatenDB.Bank2Aktiv == 1 ? true : false; dbContext.SubmitChanges(); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
private void EditAngebotPos() { var currentRow = dgrPositionen.CurrentRow; if (currentRow != null) { using (var dbContext = new DataBaseDataContext()) { try { var ap = dbContext.Angebot_Position.Where(angebotPosition => angebotPosition.PosID.Equals(currentRow.Cells["PosID"].Value)).FirstOrDefault(); Func.FAngebotPosition = new Kalkulationen.Form_Kalkualtion(ap); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } //Mit der übergebenen List lösen! Func.FAngebotPosition.SetAngebotNr(tbxAngNummer.Text, "ändern -"); Func.FAngebotPosition.FormBorderStyle = FormBorderStyle.FixedSingle; Func.FAngebotPosition.WindowState = FormWindowState.Normal; Func.FAngebotPosition.grpSteuerung.Visible = true; Func.FAngebotPosition.toolStrip1.Visible = false; Func.FAngebotPosition.btnAendSpeichern.Enabled = false; Func.FAngebotPosition.btnPosAnlegen.Enabled = false; Func.FAngebotPosition.ShowDialog(); } }
/// <summary> /// Speichert die Kalkulationsparameter in der DB. /// </summary> private void SaveKalkulationsparameter() { try { using (var dbContext = new DataBaseDataContext()) { if (kalkParamDB != null) { kalkParamDB = null; kalkParamDB = dbContext.Kalkulationsparameter.Where(kp => kp.ParamterID.Equals(1)).FirstOrDefault(); } else { kalkParamDB = dbContext.Kalkulationsparameter.Where(kp => kp.ParamterID.Equals(1)).FirstOrDefault(); } kalkParamDB.PlattenkostenTM = Decimal.Parse(tbxPlattenkostenTM.Text); kalkParamDB.PlattenkostenTS = Decimal.Parse(tbxPlattenkostenTS.Text); kalkParamDB.PlattenkostenNK = Decimal.Parse(tbxPlattenkostenNK.Text); kalkParamDB.Aluprofilkosten = Decimal.Parse(tbxAluprofilkosten.Text); kalkParamDB.Beschlagkosten = Decimal.Parse(tbxBeschlagkosten.Text); kalkParamDB.Fixkosten = Decimal.Parse(tbxFixkosten.Text); kalkParamDB.Pulverkosten = Decimal.Parse(tbxPulverkosten.Text); kalkParamDB.Montagekosten = Decimal.Parse(tbxMontagekosten.Text); kalkParamDB.LohnkostenTM = Decimal.Parse(tbxLohnkostenTM.Text); kalkParamDB.LohnkostenTS = Decimal.Parse(tbxLohnkostenTS.Text); kalkParamDB.LohnkostenNK = Decimal.Parse(tbxLohnkostenNK.Text); kalkParamDB.OberlichtkostenTM = Decimal.Parse(tbxOberlichtTM.Text); kalkParamDB.OberlichtkostenTS = Decimal.Parse(tbxOberlichtTS.Text); kalkParamDB.OberlichtkostenNK = Decimal.Parse(tbxOberlichtNK.Text); kalkParamDB.Gewinn = Decimal.Parse(tbxGewinn.Text) / 100 + 1; kalkParamDB.Sonderzuschlag = Decimal.Parse(tbxSonderzuschlag.Text) / 100 + 1; kalkParamDB.Aussparung = Decimal.Parse(tbxAussparung.Text); //kalkParamDB.Mwst = Decimal.Parse(tbxMwst.Text) / 100 + 1; dbContext.SubmitChanges(); this.Validate(); // Steuer speichern this.steuerBindingSource.EndEdit(); this.steuerTableAdapter.Update(this.dsSteuer.Steuer); // Zeichenparameter speichern zeichenparameterBindingSource.EndEdit(); zeichenparameterTableAdapter.Update(dsZeichenparameter.Zeichenparameter); // Lagerkategorien speichern lagerkategorieBindingSource.EndEdit(); lagerkategorieTableAdapter.Update(dsLagerkategorie.Lagerkategorie); // Lagereinheiten speichern lagereinheitBindingSource.EndEdit(); lagereinheitTableAdapter.Update(dsLagereinheit.Lagereinheit); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
private void tbxAngNummer_TextChanged(object sender, EventArgs e) { tbxAngNummer.Text = tbxAngNummer.Text.Replace(",", ""); if ((tbxAngNummer.Text.Length > 3) & (Func.IsNumeric(tbxAngNummer.Text, true))) { try { //var a = DBManager.GetAngebotByID(int.Parse(tbxAngNummer.Text)); //var ap = DBManager.GetAngebotPositionen(int.Parse(tbxAngNummer.Text)); using (var dbContext = new DataBaseDataContext()) { // Das Angebotsobjekt zur Angebotsnummer wird aus der DB geladen. var a = dbContext.Angebot.Where(angebot => angebot.AngebotID.Equals(tbxAngNummer.Text)).FirstOrDefault(); // Die Positionen zum Angebotsobjekt werden aus der DB geladen. var ap = dbContext.Angebot_Position.Where(angebotPosition => angebotPosition.AngebotID.Equals(tbxAngNummer.Text)); //Test mit DB Function --> //var ap1 = dbContext.GetAngPos(int.Parse(tbxAngNummer.Text)); //<-- // Überprüfung, ob zu den Positionen schon Aufträge vorhanden sind. if (ap.Count(y => y.AuftragID != null) > 0) // Wenn > 0, dann exisiert mindestens zu einer Angebotsposition ein Auftrag { IsAuftragExisting = true; } else { IsAuftragExisting = false; } if (a == null) // Zur eingegebenen Nummer ist kein Angebot vorhanden. { itemPosNeu.Enabled = false; itemPosEdit.Enabled = false; itemPosDelete.Enabled = false; itemPrint.Enabled = false; itemMail.Enabled = false; itemAuftrag.Enabled = false; btnEdit.Enabled = false; } else { tbxKdNummer.Text = a.KundeID.ToString(); //cobTyp.SelectedItem = a.Typ; dgrPositionen.Columns.Clear(); dgrPositionen.Columns.Add(new DataGridViewCheckBoxColumn() { HeaderText = Const.CheckColumHeaderName, Name = Const.CheckColumHeaderName, ThreeState = false }); dgrPositionen.Columns.Add(new DataGridViewColumn { CellTemplate = new DataGridViewTextBoxCell(), HeaderText = Const.PosNrHeaderName, Name = Const.PosNrHeaderName, Visible = true }); dgrPositionen.DataSource = ap; //GeneratePosNr(); DisableSortmode(); dgrPositionen.ClearSelection(); //ColorizeZuschlagColumn(); //ColorizeTypColumn(); dgrPositionen.AutoGenerateColumns = true; dgrPositionen.Columns["PosID"].Visible = false; dgrPositionen.Columns["AngebotID"].Visible = false; dgrPositionen.Columns["Angebot"].Visible = false; dgrPositionen.Columns["Auftrag"].Visible = false; //foreach (DataGridViewColumn x in dgrPositionen.Columns) //{ // if (x.Name != "Pos") // { // x.ReadOnly = true; // } //} switch (a.Typ) { case "Normal": cobTyp.SelectedItem = a.Typ; tbxEigenerText.Enabled = false; break; case "Alternativ-gleichwertig": cobTyp.SelectedItem = a.Typ; tbxEigenerText.Enabled = false; break; case "Kurztext": cobTyp.SelectedItem = a.Typ; tbxEigenerText.Enabled = false; break; case "LV-abweichend": cobTyp.SelectedItem = a.Typ; tbxEigenerText.Enabled = false; break; case "Neutral": cobTyp.SelectedItem = a.Typ; tbxEigenerText.Enabled = false; break; default: cobTyp.Text = "Eigener Text"; tbxEigenerText.Enabled = true; tbxEigenerText.Text = a.Typ; break; } tbxBauvorhaben.Text = a.BV; // Selbst definiertes Zahlungsziel der Combobox hinzufügen. if (!cobSkonto.Items.Contains(a.Zahlungsbedingung)) { cobSkonto.Items.Add(a.Zahlungsbedingung); } cobSkonto.Text = a.Zahlungsbedingung; cobBetreff.SelectedItem = a.Betreff; //tbxNachlass.Text = a.Nachlass.ToString(); tbxNachlass.Text = String.Format("{0:#,0.00}", a.Nachlass); cobNachlass.SelectedItem = a.NachlassArt; tbxKdHaenden.Text = a.Empfänger; tbxBV2.Text = a.BV2; tbxSondertextOben.Text = a.Sondertext; tbxSondertextUnten.Text = a.SondertextUnten; dateAngebot.Value = a.Datum; if (a.VorgabedatumRechnung != null) { dateAngVorgabeRech.Value = (DateTime)a.VorgabedatumRechnung; } else { dateAngVorgabeRech.Value = DateTime.Today; } //PFUSCH //if (a.Steuer == 0.00m) //{ // cobMwSt.SelectedIndex = 0; //} //else if (a.Steuer == 1.00m) //{ // cobMwSt.SelectedIndex = 1; //} //else if (a.Steuer == 2.00m) //{ // cobMwSt.SelectedIndex = 2; //} cobMwSt.SelectedValue = a.Steuer; switch (a.Aufmaß) { case "ja": cbxAufmaß.Checked = true; break; default: cbxAufmaß.Checked = false; break; } switch (a.Anfahrt) { case "ja": cbxAnfahrt.Checked = true; break; default: cbxAnfahrt.Checked = false; break; } btnAnlegen.Enabled = false; // Ist bereits ein Auftrag vorhanden, dann dürfen die Basisdaten des Angebots nicht mehr verändert werden. switch (IsAuftragExisting) { case true: btnEdit.Enabled = false; break; default: btnEdit.Enabled = true; break; } if (dgrPositionen.Rows.Count > 0) { itemPrint.Enabled = true; itemMail.Enabled = true; itemAuftrag.Enabled = true; } itemPosNeu.Enabled = true; //itemPosEdit.Enabled = true; //itemPosDelete.Enabled = true; Func.LoadAngebotSumme(); } } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } else { itemPosNeu.Enabled = false; itemPosEdit.Enabled = false; itemPosDelete.Enabled = false; itemPrint.Enabled = false; itemMail.Enabled = false; } }
private void ProcessKeyDown(Keys keyCode) { if (keyCode == Keys.Tab) { using (var dbContext = new DataBaseDataContext()) { var resultAnzeige = from k in dbContext.Kunde where k.Name_Firma.Contains(tbxKdName.Text) select new { k.KundeID, k.Name_Firma,k.PLZ,k.Ort }; var res = dbContext.Kunde.Where(k => k.Name_Firma.Contains(tbxKdName.Text)).Select(k => k); if (resultAnzeige.Count() == 1) { foreach (Kunde kunde in res) { tbxKdNummer.Text = ""; tbxKdNummer.Text = kunde.KundeID.ToString(); } } else { Func.FKundeMiniAuswahl = new Form_Kunde_MiniAuswahl(resultAnzeige, false); Func.FKundeMiniAuswahl.StartPosition = FormStartPosition.CenterScreen; Func.FKundeMiniAuswahl.ShowDialog(); } } } }
public static Kalkulationsparameter GetKalkulationsparameter() { Kalkulationsparameter kalkulationsparameter = null; using (var dbContext = new DataBaseDataContext()) { kalkulationsparameter = dbContext.Kalkulationsparameter.Where(kp => kp.ParamterID.Equals(1)).FirstOrDefault(); } return kalkulationsparameter; }
private void SaveRowsInDatabase() { using (var dbContext = new DataBaseDataContext()) { try { for (int i = 0; i <= dgrLager.Rows.Count - 2; i++) { DB.Lager lager = new DB.Lager(); lager.Bezeichnung = dgrLager.Rows[i].Cells["Bezeichnung"].Value != null ? dgrLager.Rows[i].Cells["Bezeichnung"].Value.ToString() : ""; lager.Einheit = dgrLager.Rows[i].Cells["Einheit"].Value != null ? Convert.ToInt32(dgrLager.Rows[i].Cells["Einheit"].Value) : (int?)null; lager.Faktor = Convert.ToInt32(dgrLager.Rows[i].Cells["Faktor"].Value) != 0 ? Convert.ToInt32(dgrLager.Rows[i].Cells["Faktor"].Value) : 1; lager.Kategorie = dgrLager.Rows[i].Cells["Kategorie"].Value != null ? Convert.ToInt32(dgrLager.Rows[i].Cells["Kategorie"].Value) : (int?)null; lager.Stk = dgrLager.Rows[i].Cells["Anzahl"].Value != null ? Convert.ToDouble(dgrLager.Rows[i].Cells["Anzahl"].Value) : 0.0; lager.EK = dgrLager.Rows[i].Cells["EK"].Value != null ? Convert.ToDouble(dgrLager.Rows[i].Cells["EK"].Value) : 0.0; dbContext.Lager.InsertOnSubmit(lager); } dbContext.ExecuteCommand("TRUNCATE TABLE Lager"); dbContext.SubmitChanges(); //MessageBox.Show("DB-Update erfolgt."); } catch (Exception ex) { MessageBox.Show(ex.Message, "Hinweis", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } // Summengrid aktualisieren this.SummenTableAdapter.Fill(this.dsSummen1.Summen); }
private void duplizierenToolStripMenuItem_Click(object sender, EventArgs e) { var currentRow = dgrPositionen.CurrentRow; if (currentRow != null) { using (var dbContext = new DataBaseDataContext()) { try { var ap = dbContext.Angebot_Position.Where(angebotPosition => angebotPosition.PosID.Equals(currentRow.Cells["PosID"].Value)).FirstOrDefault(); Angebot_Position ap_new = (Angebot_Position)Entity.Copy(ap, new Angebot_Position()); dbContext.Angebot_Position.InsertOnSubmit(ap_new); dbContext.SubmitChanges(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } 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; } }