Exemple #1
0
    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;
    }
Exemple #2
0
    /// <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());
      }
    }
Exemple #3
0
    //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);
        }
      }
    }
Exemple #4
0
    //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());
        }
      }
    }
Exemple #5
0
    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;
        
      }
    }
Exemple #6
0
    /// <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());
            }
          }
        }
      }
    }
Exemple #7
0
    private void itemAllPos_Click(object sender, EventArgs e)
    {
      using (DataBaseDataContext dbContext = new DataBaseDataContext())
      {
        var auftrag = dbContext.Auftrag.Where(auf => auf.AuftragID.Equals(int.Parse(tbxAufNummer.Text))).FirstOrDefault();

        var rechnung = new DB.Rechnung
                          {
                            Datum = dateAufVorgabeRech.Value.Date != DateTime.Today.Date ? dateAufVorgabeRech.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,
                          };

        try
        {
          dbContext.Rechnung.InsertOnSubmit(rechnung);
          dbContext.SubmitChanges();
        }
        catch (Exception ex)
        {
          MessageBox.Show(ex.ToString());
        }

        decimal sum = 0.0m;

        foreach (DataGridViewRow row in dgrPositionen.Rows)
        {
          // Es werden nur Auftragspositionen berücksichtigt, die noch keinem Auftrag zugeordnet wurden.
          if (row.Cells["RechnungID"].Value == null)
          { 
            var auftragPosition = dbContext.Auftrag_Position.Where(ap => ap.PosID.Equals(row.Cells["PosID"].Value)).FirstOrDefault();

            var rechnungPosition = new Rechnung_Position()
            {
              RechnungID = rechnung.RechnungID,
              Artikel = auftragPosition.Artikel,
              Sondertext = auftragPosition.Sondertext,
              Typ = auftragPosition.Typ,
              AnlagenStk = auftragPosition.AnlagenStk,
              Breite = auftragPosition.Breite,
              Tiefe = auftragPosition.Tiefe,
              Türen = auftragPosition.Türen,
              TW = auftragPosition.TW,
              ZuschlagTür = auftragPosition.ZuschlagTür,
              Einzelpreis = auftragPosition.Einzelpreis,
              Zuschlag = auftragPosition.Zuschlag,
              ZuschlagArt = auftragPosition.ZuschlagArt,
              Alupulver = auftragPosition.Alupulver,
              Montage = auftragPosition.Montage,
              AussparungStk = auftragPosition.AussparungStk,
              AussparungTxt = auftragPosition.AussparungTxt,
              Alternativ1Typ = auftragPosition.Alternativ1Typ,
              Alternativ1Preis = auftragPosition.Alternativ1Preis,
              Alternativ2Typ = auftragPosition.Alternativ2Typ,
              Alternativ2Preis = auftragPosition.Alternativ2Preis,
              SondertextOben = auftragPosition.SondertextOben,
              SonderartikelEinheit = auftragPosition.SonderartikelEinheit
            };


            // Increment Gesamtsumme.
            sum += rechnungPosition.Einzelpreis * rechnungPosition.AnlagenStk;
            sum += rechnungPosition.Alupulver * rechnungPosition.AnlagenStk;
            try
            {
              dbContext.Rechnung_Position.InsertOnSubmit(rechnungPosition);
              dbContext.SubmitChanges();
              auftragPosition.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());
        }
        dgrPositionen.DataSource = Func.LoadAuftragPositionenUebersicht();
        GeneratePosNr();
        selectedRows = 0;
        btnEdit.Enabled = false;

        this.Cursor = Cursors.WaitCursor;
        PrintManager.PrintDirectlyWithDialog(EReports.Rechnung, new List<int>() { 1, rechnung.RechnungID });
        this.Cursor = Cursors.Default;
      }
     
    }
    /// <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.
        }
      }
    }
Exemple #9
0
    /// <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;
    }
Exemple #10
0
    private void button1_Click(object sender, EventArgs e)
    {
      //this.Cursor = Cursors.WaitCursor;

      using (var dbContext = new DataBaseDataContext())
      {
        // 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();

      }

      //Close();
      //Func.FBrief = null;


      switch (reportType)
      {
        case EReports.Brief:
          report = ReportManager.GetReportByNameForSelectedRecord(EReports.Brief, kundennr);
          break;
        case EReports.AbsageProgramm:
          report = ReportManager.GetReportByNameForSelectedRecord(EReports.AbsageProgramm, kundennr);
          break;
        case EReports.AbsageWirkungskreis:
          report = ReportManager.GetReportByNameForSelectedRecord(EReports.AbsageWirkungskreis, kundennr);
          break;
      }


      var r = new Form_Report(report);

      r.Show();
     // r.Refresh();


      // this.Cursor = Cursors.Default;

    }
Exemple #11
0
    private void btnAendSpeichern_Click(object sender, EventArgs e)
    {
      if (rdbAussparung.Checked)
      {
        tbxEinzelVK.Text = tbxAussparungenPreis.Text;
      }
      using (var dbContext = new DataBaseDataContext())
      {
        if (isAuftrag)
        {
          try
          {
            var ap = dbContext.Auftrag_Position.Where(auftragPosition => auftragPosition.PosID.Equals(positionsNr)).FirstOrDefault();

            FillAuftragPositionWithValues(ref ap, cbxAlternativ1.Checked, cbxAlternativ2.Checked);

            dbContext.SubmitChanges();

            Func.FAuftrag.dgrPositionen.Columns.Clear();
            Func.FAuftrag.dgrPositionen.Columns.Add(new DataGridViewCheckBoxColumn() { HeaderText = Const.CheckColumHeaderName, Name = Const.CheckColumHeaderName, ThreeState = false });
            Func.FAuftrag.dgrPositionen.Columns.Add(new DataGridViewColumn { CellTemplate = new DataGridViewTextBoxCell(), HeaderText = Const.PosNrHeaderName, Name = Const.PosNrHeaderName, Visible = true });
            Func.FAuftrag.dgrPositionen.DataSource = Func.LoadAuftragPositionenUebersicht();
            Func.FAuftrag.ColorizeZuschlagColumn();
            Func.FAuftrag.ColorizeTypColumn();
            Func.FAuftrag.GeneratePosNr();
            Func.FAuftrag.DisableSortmode();
            Func.LoadAuftragSumme();
            Func.FAuftrag.dgrPositionen.Columns["PosID"].Visible = false;
            Func.FAuftrag.dgrPositionen.Columns["AuftragID"].Visible = false;
            Func.FAuftrag.dgrPositionen.Columns["Auftrag"].Visible = false;
            Func.FAuftrag.dgrPositionen.Columns["Rechnung"].Visible = false;
            Func.FAuftrag.dgrPositionen.Columns["RechnungID"].Visible = true;

            var auftrag = dbContext.Auftrag.Where(a => a.AuftragID.Equals(int.Parse(auftragsNr))).FirstOrDefault();
            auftrag.Gesamtbetrag = Decimal.Parse(Func.FAuftrag.lblAufGesamt.Text);
            dbContext.SubmitChanges();

            this.Close();
            Func.FAuftragPosition = null;
          }
          catch (Exception ex)
          {
            MessageBox.Show(ex.ToString());
          }
        }
        else
        {
          try
          {
            var ap = dbContext.Angebot_Position.Where(angebotPosition => angebotPosition.PosID.Equals(positionsNr)).FirstOrDefault();

            FillAngebotPositionWithValues(ref ap, cbxAlternativ1.Checked, cbxAlternativ2.Checked);

            dbContext.SubmitChanges();

            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.LoadAngebotSumme();
            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;

            var angebot = dbContext.Angebot.Where(a => a.AngebotID.Equals(int.Parse(angebotsNr))).FirstOrDefault();
            angebot.Gesamtbetrag = Decimal.Parse(Func.FAngebot.lblGesamt.Text);
            dbContext.SubmitChanges();

            this.Close();
            Func.FAngebotPosition = null;
          }
          catch (Exception ex)
          {
            MessageBox.Show(ex.ToString());
          }
        }
      }
    }
Exemple #12
0
    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;
    }
Exemple #13
0
        private void UpdateKunde()
        {
            if (tbxNameFirma.Text == "" || tbxStrasse.Text == "" || tbxPLZL.Text == "" || tbxLand.Text == "" ||
                tbxOrt.Text == "")
            {
                MessageBox.Show("Sie müssen alle erforderlichen (*) Felder füllen.",
                                "Nicht alle Felder gefüllt!", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                using (DataBaseDataContext dbContext = new DataBaseDataContext())
                {
                    try
                    {
                        var k = dbContext.Kunde.Where(customer => customer.KundeID.Equals(int.Parse(tbxKundennummer.Text))).FirstOrDefault();

                        k.Anrede = cbxAnrede.Text == "" ? null : cbxAnrede.Text;
                        k.Name_Firma = tbxNameFirma.Text == "" ? null : tbxNameFirma.Text;
                        k.Straße = tbxStrasse.Text == "" ? null : tbxStrasse.Text;
                        k.PLZ = tbxPLZL.Text == "" ? null : tbxPLZL.Text;
                        k.Land = tbxLand.Text == "" ? null : tbxLand.Text;
                        k.Ort = tbxOrt.Text == "" ? null : tbxOrt.Text;
                        k.Vorname = tbxVorname.Text == "" ? null : tbxVorname.Text;
                        k.AdressZusatz1 = tbxZusatz1.Text == "" ? null : tbxZusatz1.Text;
                        k.AdressZusatz2 = tbxZusatz2.Text == "" ? null : tbxZusatz2.Text;
                        k.Telefon1 = null;//tbxTelefon1.Text == "" ? null : tbxTelefon1.Text;
                        k.Telefon2 = tbxTelefon2.Text == "" ? null : tbxTelefon2.Text;
                        k.Fax1 = null;//tbxFax1.Text == "" ? null : tbxFax1.Text;
                        k.Fax2 = tbxFax2.Text == "" ? null : tbxFax2.Text;
                        k.Mobil = tbxMobil.Text == "" ? null : tbxMobil.Text;
                        k.Email1 = null;//tbxEmail1.Text == "" ? null : tbxEmail1.Text;
                        k.Email2 = tbxEmail2.Text == "" ? null : tbxEmail2.Text;
                        k.Homepage = tbxHomepage.Text == "" ? null : tbxHomepage.Text;
                        k.Matchcode = tbxMatchcode.Text == "" ? null : tbxMatchcode.Text;
                        k.Notiz = tbxNotiz.Text == "" ? null : tbxNotiz.Text;
                        k.Kategorie = cmbKunde.Checked ? "Kunde" : (cmbPrivat.Checked) ? "Privat" : (cmbVerein.Checked) ? "Verein" : null;
                        k.Status = cbxSperren.Checked ? "gesperrt" : null;

                        dbContext.SubmitChanges();

                        //Func.FUebersicht.dgrKunden.DataSource = dbContext.Kunde.Where(customer => customer.Kategorie == k.Kategorie && customer.Status == null);

                        Func.FUebersicht.tsItemAkualisieren.PerformClick();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.ToString());
                    }
                }
                //this.clearEingabefelderKunde();
                //this.Close();
            }
        }
Exemple #14
0
        // **************************
        // Events
        // **************************

        private void btnKundeAnl_Click(object sender, EventArgs e)
        {


            int lastKundeId = 0;

            if (validateEingabe())
            {

                using (DataBaseDataContext dbContext = new DataBaseDataContext())
                {
                    try
                    {
                        Kunde k = new Kunde
                                  {
                                      Anrede = cbxAnrede.Text == "" ? null : cbxAnrede.Text,
                                      Name_Firma = tbxNameFirma.Text == "" ? null : tbxNameFirma.Text,
                                      Straße = tbxStrasse.Text == "" ? null : tbxStrasse.Text,
                                      PLZ = tbxPLZL.Text == "" ? null : tbxPLZL.Text,
                                      Land = tbxLand.Text == "" ? null : tbxLand.Text,
                                      Ort = tbxOrt.Text == "" ? null : tbxOrt.Text,
                                      Vorname = tbxVorname.Text == "" ? null : tbxVorname.Text,
                                      AdressZusatz1 = tbxZusatz1.Text == "" ? null : tbxZusatz1.Text,
                                      AdressZusatz2 = tbxZusatz2.Text == "" ? null : tbxZusatz2.Text,
                                      Telefon1 = null,//tbxTelefon1.Text =="" ? null : tbxTelefon1.Text,
                                      Telefon2 = tbxTelefon2.Text == "" ? null : tbxTelefon2.Text,
                                      Fax1 = null,//tbxFax1.Text == "" ? null : tbxFax1.Text,
                                      Fax2 = tbxFax2.Text == "" ? null : tbxFax2.Text,
                                      Mobil = tbxMobil.Text == "" ? null : tbxMobil.Text,
                                      Email1 = null,//tbxEmail1.Text == "" ? null : tbxEmail1.Text,
                                      Email2 = tbxEmail2.Text == "" ? null : tbxEmail2.Text,
                                      Homepage = tbxHomepage.Text == "" ? null : tbxHomepage.Text,
                                      Matchcode = tbxMatchcode.Text == "" ? null : tbxMatchcode.Text,
                                      Notiz = tbxNotiz.Text == "" ? null : tbxNotiz.Text,
                                      Kategorie = cmbKunde.Checked ? "Kunde" : (cmbPrivat.Checked) ? "Privat" : (cmbVerein.Checked) ? "Verein" : null,
                                      Status = cbxSperren.Checked ? "gesperrt" : null
                                  };

                        if (checkKundeDublette(k) == 1)
                        {
                            dbContext.Kunde.InsertOnSubmit(k);
                            dbContext.SubmitChanges();
                            lastKundeId = k.KundeID;



                            if (cbxOutlookKontakt.Checked)
                            {
                                Func.AddOutlookContact(k);
                            }

                            this.clearEingabefelderKunde();
                            IsDefault = true;

                            try
                            {
                                using (var sqlconnection = new SqlConnection(Properties.Settings.Default.NorkaConnectionString))
                                {
                                    var command = new SqlCommand(string.Format("SELECT KundeID, Anrede, Vorname, Name_Firma, Straße, AdressZusatz1, AdressZusatz2, PLZ, Ort, Land, Telefon2, Fax2, Mobil, Email2, Homepage, Matchcode, Kategorie, Status, Notiz FROM Kunde WHERE KundeID = {0}", lastKundeId), sqlconnection);
                                    var adapter = new SqlDataAdapter(command);
                                    var table = new DataTable();
                                    Func.FUebersicht.slKunde.Text = string.Format("{0} Datensätze gefunden.", adapter.Fill(table));
                                    Func.FUebersicht.dgrKunden.Columns.Clear();
                                    Func.FUebersicht.dgrKunden.Columns.Add(new DataGridViewCheckBoxColumn() { HeaderText = "Markieren" });
                                    Func.FUebersicht.dgrKunden.DataSource = table;
                                }
                            }
                            catch (Exception ex)
                            {
                                MessageBox.Show(ex.ToString());
                            }

                            //Func.FUebersicht.tsItemAkualisieren.PerformClick();
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.ToString());
                    }
                }
            }
        }
Exemple #15
0
    /// <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());
      }
    }
Exemple #16
0
    /// <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;

      }


    }
Exemple #17
0
    /// <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());
      }
    }
Exemple #18
0
    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;

    }
Exemple #19
0
    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);
    }
Exemple #20
0
    private void btnPrint_Click(object sender, EventArgs e)
    {
      this.Cursor = Cursors.WaitCursor;

      using (var dbContext = new DataBaseDataContext())
      {
        // Tabellinhalt löschen
        dbContext.ExecuteCommand("TRUNCATE TABLE Zeichnungsdruck");
        dbContext.SubmitChanges();

        Zeichnungsdruck printPosition = null;

        for (int i = 0; i < lbxPositionen.Items.Count; i++)
        {
          if (lbxPositionen.Items[i].GetType() == typeof(Seitenumbruch))
          {
            printPosition = new Zeichnungsdruck()
                              {
                                Artikel = "Seitenumbruch"
                              };
          }
          else if (lbxPositionen.Items[i].GetType() == typeof(Text))
          {
            printPosition = new Zeichnungsdruck()
                              {
                                Artikel = "Text",
                                TEXT_Beschreibung = ((Text)lbxPositionen.Items[i]).Beschreibung
                              };
          }
          else if (lbxPositionen.Items[i].GetType() == typeof(Vorderwand))
          {
            printPosition = new Zeichnungsdruck()
                              {
                                Artikel = "Vorderwand",
                                VW_Typ = ((Vorderwand)lbxPositionen.Items[i]).Typ,
                                VW_Breite = ((Vorderwand)lbxPositionen.Items[i]).Breite,
                                VW_Hoehe = ((Vorderwand)lbxPositionen.Items[i]).Hoehe,
                                VW_Bodenfreiheit = ((Vorderwand)lbxPositionen.Items[i]).Bodenfreiheit,
                                VW_Tuerbreite = ((Vorderwand)lbxPositionen.Items[i]).Tuerbreite,
                                VW_SchildLinks = ((Vorderwand)lbxPositionen.Items[i]).Schildlinks,
                                VW_SchildRechts = ((Vorderwand)lbxPositionen.Items[i]).Schildrechts,
                                VW_Schildhoehe = ((Vorderwand)lbxPositionen.Items[i]).Schildhoehe,
                                VW_Tuerhoehe = ((Vorderwand)lbxPositionen.Items[i]).Tuerhoehe,
                                VW_PlatteSchildLinks = ((Vorderwand)lbxPositionen.Items[i]).PlatteSchildLinks,
                                VW_PlatteSchildRechts = ((Vorderwand)lbxPositionen.Items[i]).PlatteSchildRechts,
                                VW_Verbindungsstueck = ((Vorderwand)lbxPositionen.Items[i]).Verbindungsstueck,
                                VW_Verstaerkung = ((Vorderwand)lbxPositionen.Items[i]).Verstaerkung,
                                VW_Tuere = ((Vorderwand)lbxPositionen.Items[i]).Tuere
                              };
          }
          else if (lbxPositionen.Items[i].GetType() == typeof(Reihenkabine))
          {
            printPosition = new Zeichnungsdruck()
                              {
                                Artikel = "Reihenkabine",
                                RK_Typ = ((Reihenkabine)lbxPositionen.Items[i]).Typ,
                                RK_Breite = ((Reihenkabine)lbxPositionen.Items[i]).Breite,
                                RK_Hoehe = ((Reihenkabine)lbxPositionen.Items[i]).Hoehe,
                                RK_Bodenfreiheit = ((Reihenkabine)lbxPositionen.Items[i]).Bodenfreiheit,
                                RK_Tuerbreite = ((Reihenkabine)lbxPositionen.Items[i]).Tuerbreite,
                                RK_Tueranzahl = ((Reihenkabine)lbxPositionen.Items[i]).Tueranzahl,
                                RK_Trennwand = ((Reihenkabine)lbxPositionen.Items[i]).Trennwand,
                                RK_PlatteTrennwand = ((Reihenkabine)lbxPositionen.Items[i]).PlatteTrennwand,
                                RK_PlatteMittelschild = ((Reihenkabine)lbxPositionen.Items[i]).PlatteMittelschild,
                                RK_SchildLinks = ((Reihenkabine)lbxPositionen.Items[i]).Schildlinks,
                                RK_SchildRechts = ((Reihenkabine)lbxPositionen.Items[i]).Schildrechts,
                                RK_Schildhoehe = ((Reihenkabine)lbxPositionen.Items[i]).Schildhoehe,
                                RK_Tuerhoehe = ((Reihenkabine)lbxPositionen.Items[i]).Tuerhoehe,
                                RK_PlatteSchildLinks = ((Reihenkabine)lbxPositionen.Items[i]).PlatteSchildLinks,
                                RK_PlatteSchildRechts = ((Reihenkabine)lbxPositionen.Items[i]).PlatteSchildRechts,
                                RK_Mittelschild = ((Reihenkabine)lbxPositionen.Items[i]).Mittelschild,
                                RK_Tuere = ((Reihenkabine)lbxPositionen.Items[i]).Tuere,
                                RK_Aussen = ((Reihenkabine)lbxPositionen.Items[i]).Aussen,
                                RK_Alu = ((Reihenkabine)lbxPositionen.Items[i]).Alu,
                                RK_Verbindungsstueck = ((Reihenkabine)lbxPositionen.Items[i]).Verbindungsstueck
                              };
          }
          else if (lbxPositionen.Items[i].GetType() == typeof(Eckkabine))
          {
            printPosition = new Zeichnungsdruck()
                              {
                                Artikel = ((Eckkabine)lbxPositionen.Items[i]).Artikel,
                                EK_Typ = ((Eckkabine)lbxPositionen.Items[i]).Typ,
                                EK_Breite = ((Eckkabine)lbxPositionen.Items[i]).Breite,
                                EK_Hohe = ((Eckkabine)lbxPositionen.Items[i]).Hoehe,
                                EK_Bodenfreiheit = ((Eckkabine)lbxPositionen.Items[i]).Bodenfreiheit,
                                EK_Tuerbreite = ((Eckkabine)lbxPositionen.Items[i]).Tuerbreite,
                                EK_Tueranzahl = ((Eckkabine)lbxPositionen.Items[i]).Tueranzahl,
                                EK_Trennwand = ((Eckkabine)lbxPositionen.Items[i]).Trennwand,
                                EK_Wandschild = ((Eckkabine)lbxPositionen.Items[i]).Schildwand,
                                EK_Eckschild = ((Eckkabine)lbxPositionen.Items[i]).Schildeck,
                                EK_SchildHoehe = ((Eckkabine)lbxPositionen.Items[i]).Schildhoehe,
                                EK_Tuerhoehe = ((Eckkabine)lbxPositionen.Items[i]).Tuerhoehe,
                                EK_Mittelschild = ((Eckkabine)lbxPositionen.Items[i]).Mittelschild,
                                EK_Tuer = ((Eckkabine)lbxPositionen.Items[i]).Tuere,
                                EK_Plattetrennwand = ((Eckkabine)lbxPositionen.Items[i]).PlatteTrennwand,
                                EK_Plattewandschild = ((Eckkabine)lbxPositionen.Items[i]).PlatteSchildWand,
                                EK_Platteeckschild = ((Eckkabine)lbxPositionen.Items[i]).PlatteSchildEck,
                                EK_PlatteMittelschild = ((Eckkabine)lbxPositionen.Items[i]).PlatteMittelschild,
                                EK_Aussen = ((Eckkabine)lbxPositionen.Items[i]).Aussen,
                                EK_Alu = ((Eckkabine)lbxPositionen.Items[i]).Alu,
                                EK_Alueck = ((Eckkabine)lbxPositionen.Items[i]).AluEckTW,
                                EK_Verbindungsstueck = ((Eckkabine)lbxPositionen.Items[i]).Verbindungsstueck
                              };
          }
          else if (lbxPositionen.Items[i].GetType() == typeof(Sonderkabine))
          {
            printPosition = new Zeichnungsdruck()
                              {
                                Artikel = "Sonderkabine",
                                SK_Typ = ((Sonderkabine)lbxPositionen.Items[i]).Typ,
                                SK_Breite = ((Sonderkabine)lbxPositionen.Items[i]).Breite,
                                SK_Hoehe = ((Sonderkabine)lbxPositionen.Items[i]).Hoehe,
                                SK_Bodenfreiheit = ((Sonderkabine)lbxPositionen.Items[i]).Bodenfreiheit,
                                SK_Tuerbreite = ((Sonderkabine)lbxPositionen.Items[i]).Tuerbreite,
                                SK_Tueranzahl = ((Sonderkabine)lbxPositionen.Items[i]).Tueranzahl,
                                SK_Trennwand = ((Sonderkabine)lbxPositionen.Items[i]).Trennwand,
                                SK_Wandschild = ((Sonderkabine)lbxPositionen.Items[i]).Schildwand,
                                SK_Eckschild = ((Sonderkabine)lbxPositionen.Items[i]).Schildeck,
                                SK_Schildhoehe = ((Sonderkabine)lbxPositionen.Items[i]).Schildhoehe,
                                SK_Tuerhoehe = ((Sonderkabine)lbxPositionen.Items[i]).Tuerhoehe,
                                SK_MittelschildLinks = ((Sonderkabine)lbxPositionen.Items[i]).MittelschildL,
                                SK_MittelschildRechts = ((Sonderkabine)lbxPositionen.Items[i]).MittelschildR,
                                SK_Tuer = ((Sonderkabine)lbxPositionen.Items[i]).Tuere,
                                SK_PlatteTrennwand = ((Sonderkabine)lbxPositionen.Items[i]).PlatteTrennwand,
                                SK_PlatteWandschild = ((Sonderkabine)lbxPositionen.Items[i]).PlatteSchildWand,
                                SK_PlatteEckschild = ((Sonderkabine)lbxPositionen.Items[i]).PlatteSchildEck,
                                SK_PlatteMittelschildLinks = ((Sonderkabine)lbxPositionen.Items[i]).PlatteMittelschildL,
                                SK_PlatteMittelschildRechts = ((Sonderkabine)lbxPositionen.Items[i]).PlatteMittelschildR,
                                SK_Aussen = ((Sonderkabine)lbxPositionen.Items[i]).Aussen,
                                SK_Alu = ((Sonderkabine)lbxPositionen.Items[i]).Alu,
                                SK_AluEck = ((Sonderkabine)lbxPositionen.Items[i]).AluEckTW,
                                SK_Verbindungsstueck = ((Sonderkabine)lbxPositionen.Items[i]).Verbindungsstueck
                              };
          }
          else if (lbxPositionen.Items[i].GetType() == typeof(Schamwand))
          {
            printPosition = new Zeichnungsdruck()
            {
              Artikel = ((Schamwand)lbxPositionen.Items[i]).Artikel,
              SW_Bodenfreiheit = ((Schamwand)lbxPositionen.Items[i]).Bodenfreiheit,
              SW_Breite = ((Schamwand)lbxPositionen.Items[i]).Breite,
              SW_Hoehe = ((Schamwand)lbxPositionen.Items[i]).Hoehe,
              SW_PlatteBreite = ((Schamwand)lbxPositionen.Items[i]).PlatteBreite,
              SW_PlatteHoehe = ((Schamwand)lbxPositionen.Items[i]).PlatteHoehe,
              SW_Stk = ((Schamwand)lbxPositionen.Items[i]).Stk
            };
          }
          else if (lbxPositionen.Items[i].GetType() == typeof(Trennwand))
          {
            printPosition = new Zeichnungsdruck()
            {
              Artikel = "trennwand",
              TW_Bodenfreiheit = ((Trennwand)lbxPositionen.Items[i]).Bodenfreiheit,
              TW_BreiteSchild = ((Trennwand)lbxPositionen.Items[i]).Schildbreite,
              TW_AluAussp = ((Trennwand)lbxPositionen.Items[i]).AluAussparung,
              TW_AluETW = ((Trennwand)lbxPositionen.Items[i]).AluETW,
              TW_AluTrennwand = ((Trennwand)lbxPositionen.Items[i]).AluTrennwand,
              TW_Stk = ((Trennwand)lbxPositionen.Items[i]).Stk,
              TW_BreiteAussp = ((Trennwand)lbxPositionen.Items[i]).Aussparungsbreite,
              TW_Bruestungshoehe = ((Trennwand)lbxPositionen.Items[i]).Brüstungshöhe,
              TW_Hoehe = ((Trennwand)lbxPositionen.Items[i]).Hoehe,
              TW_HoeheAussp = ((Trennwand)lbxPositionen.Items[i]).HöheAussparung,
              TW_PlatteBreiteAussp = ((Trennwand)lbxPositionen.Items[i]).PlatteAussparungBreite,
              TW_PlatteBreiteSchild = ((Trennwand)lbxPositionen.Items[i]).PlatteSchildBreite,
              TW_PlatteHoeheAussp = ((Trennwand)lbxPositionen.Items[i]).PlatteAussparungHöhe,
              TW_PlatteHoeheSchild = ((Trennwand)lbxPositionen.Items[i]).PlatteSchildHoehe
            };
          }
          else if (lbxPositionen.Items[i].GetType() == typeof(Schild))
          {
            printPosition = new Zeichnungsdruck()
                              {
                                Artikel = ((Schild)lbxPositionen.Items[i]).Artikel == "schildLinks" ? "schildLinks" : "schildRechts",
                                Schild_Bodenfreiheit = ((Schild)lbxPositionen.Items[i]).Bodenfreiheit,
                                Schild_BreiteSchild = ((Schild)lbxPositionen.Items[i]).Schildbreite,
                                Schild_AluAussp = ((Schild)lbxPositionen.Items[i]).AluAussparung,
                                Schild_Stk = ((Schild)lbxPositionen.Items[i]).Stk,
                                Schild_BreiteAussp = ((Schild)lbxPositionen.Items[i]).Aussparungsbreite,
                                Schild_Bruestungshoehe = ((Schild)lbxPositionen.Items[i]).Brüstungshöhe,
                                Schild_Hoehe = ((Schild)lbxPositionen.Items[i]).Hoehe,
                                Schild_HoeheAussp = ((Schild)lbxPositionen.Items[i]).HöheAussparung,
                                Schild_PlatteBreiteAussp = ((Schild)lbxPositionen.Items[i]).PlatteAussparungBreite,
                                Schild_PlatteBreiteSchild = ((Schild)lbxPositionen.Items[i]).PlatteSchildBreite,
                                Schild_PlatteHoeheSchild = ((Schild)lbxPositionen.Items[i]).PlatteSchildHoehe,
                                Schild_PlatteHoeheAussp = ((Schild)lbxPositionen.Items[i]).PlatteAussparungHöhe
                              };
          }

          dbContext.Zeichnungsdruck.InsertOnSubmit(printPosition);
        }

        dbContext.SubmitChanges();
      }

      // Report für die Zeichnungen laden.
      Form_Report_Zeichnen FReportZeichnen = new Form_Report_Zeichnen(ReportManager.GetReportByName(EReports.Zeichnen));

      FReportZeichnen.Show();
      FReportZeichnen.Refresh();
      this.Cursor = Cursors.Default;
    }