Example #1
0
    public static Zeichenparameter GetZeichenparameter()
    {
      Zeichenparameter zeichenparamter = null;

      using (var dbContext = new DataBaseDataContext())
      {
        zeichenparamter = dbContext.Zeichenparameter.Where(zp => zp.ID.Equals(1)).FirstOrDefault();
      }

      return zeichenparamter;
    }
Example #2
0
    /// <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;
    }
Example #3
0
    /// <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;
    }
Example #4
0
    /// <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;
    }
Example #5
0
        /// <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();
        }
      }
    }
Example #7
0
    /// <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());
      }
    }
Example #8
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;
    }
Example #9
0
    // ******************************************************************
    // 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;
    }
Example #10
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);
        }
      }
    }
Example #11
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());
        }
      }
    }
Example #12
0
    /// <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;
    }
Example #13
0
    /// <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;
    }
Example #14
0
    /// <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.
        }
      }
    }
Example #15
0
    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();
        }
      }
    }
Example #16
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());
            }
          }
        }
      }
    }
Example #17
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;

    }
Example #18
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;

      }


    }
Example #19
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;
    }
Example #20
0
    /// <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;
    }
Example #21
0
    /// <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;
    }
Example #22
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());
      }
    }
Example #23
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());
      }
    }
Example #24
0
    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();
      }
    }
Example #25
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());
      }
    }
Example #26
0
    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;
      }
    }
Example #27
0
    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();
          }
        }
      }
    }
Example #28
0
    public static Kalkulationsparameter GetKalkulationsparameter()
    {
      Kalkulationsparameter kalkulationsparameter = null;

      using (var dbContext = new DataBaseDataContext())
      {
        kalkulationsparameter = dbContext.Kalkulationsparameter.Where(kp => kp.ParamterID.Equals(1)).FirstOrDefault();
      }

      return kalkulationsparameter;
    }
Example #29
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);
    }
Example #30
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;
        
      }
    }