예제 #1
0
    /// <summary>
    /// Initializes a new instance of the <see cref="Form_Kalkulation"/> class.
    /// </summary>
    public Form_Kalkualtion()
    {
      InitializeComponent();

      InitializeKalkulation();

      kalkParamDB = DBManager.GetKalkulationsparameter();
      cbxSonderartikelEinheit.SelectedIndex = 0;
    }
예제 #2
0
    /// <summary>
    /// Initializes a new instance of the <see cref="Form_Kalkulation"/> class.
    /// </summary>
    /// <param name="pIsAuftrag">Wenn Flag == <c>true</c>, dann wurde die Kalkulationsform aus dem Auftragsmodul heraus geöffnet.</param>
    public Form_Kalkualtion(bool pIsAuftrag)
    {
      this.isAuftrag = pIsAuftrag;
      InitializeComponent();

      InitializeKalkulation();

      kalkParamDB = DBManager.GetKalkulationsparameter();
      cbxSonderartikelEinheit.SelectedIndex = 0;
    }
예제 #3
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());
      }
    }
예제 #4
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());
      }
    }
예제 #5
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;
    }
예제 #6
0
 partial void DeleteKalkulationsparameter(Kalkulationsparameter instance);
예제 #7
0
 partial void UpdateKalkulationsparameter(Kalkulationsparameter instance);
예제 #8
0
 partial void InsertKalkulationsparameter(Kalkulationsparameter instance);
예제 #9
0
    ///<summary>
    ///</summary>
    ///<param name="ap"></param>
    public Form_Kalkualtion(Angebot_Position ap)
    {
      InitializeComponent();
      InitializeKalkulation();
      kalkParamDB = DBManager.GetKalkulationsparameter();
      isAuftrag = false;

      //Ausgewählte Angebotsposition laden 
      positionsNr = ap.PosID.ToString();
      angebotsNr = ap.AngebotID.ToString();



      switch (ap.Artikel)
      {
        case "Vorderwand":
          rdbVorderwand.Checked = true;
          break;
        case "Kabine":
          rdbKabinen.Checked = true;
          break;
        case "Trennwand":
          rdbTrennwand.Checked = true;
          break;
        case "Schamwand":
          rdbSchamwand.Checked = true;
          break;
        case "Abschlusswand":
          rdbVorOTuer.Checked = true;
          break;
        case "Sonderartikel":
          rdbAussparung.Checked = true;
          break;
      }

      tbxSondertextUnten.Text = ap.Sondertext;
      tbxSondertextOben.Text = ap.SondertextOben;

      switch (ap.Typ)
      {
        case "TM":
          rdbTM.Checked = true;
          break;
        case "TS":
          rdbTS.Checked = true;
          break;
        case "NK":
          rdbNK.Checked = true;
          break;
      }

      tbxAnlagen.Text = String.Format("{0:#,0.##}", ap.AnlagenStk);
      tbxBreite.Text = ap.Breite.ToString();
      tbxTiefe.Text = ap.Tiefe.ToString();
      tbxTüren.Text = ap.Türen.ToString();
      tbxTrw.Text = ap.TW.ToString();
      tbxZuschlag.Text = ap.ZuschlagTür.ToString();

      if (ap.Artikel == "Sonderartikel")
      {
        tbxAussparungenPreis.Text = ap.Einzelpreis.ToString();
        double temp = double.Parse(tbxAussparungenPreis.Text);
        tbxAussparungenPreis.Text = temp.ToString();
        gbxAussparung.Enabled = true;
        cbxSonderartikelEinheit.Text = ap.SonderartikelEinheit;
      }
      tbxVK.Text = ap.Zuschlag.ToString();

      switch (ap.ZuschlagArt)
      {
        case "Prozent":
          cbxVK.SelectedIndex = 0;
          break;
        case "Euro":
          cbxVK.SelectedIndex = 1;
          break;
      }

      cbxAlupulver.Checked = ap.Alupulver != 0.00m ? true : false;
      cbxMontage.Checked = ap.Montage == "ja" ? true : false;
      cbxEventual.Checked = ap.Eventual != 0 ? true : false;

      cobAussaprungBeschreibung.Text = ap.AussparungTxt;
      

      if (ap.Alternativ1Typ != null)
      {
        cbxAlternativ1.Checked = true;

        switch (ap.Alternativ1Typ)
        {
          case "TM":
            rdbTM1.Checked = true;
            break;
          case "TS":
            rdbTS1.Checked = true;
            break;
          case "NK":
            rdbNK1.Checked = true;
            break;
        }

        tbxAlt1Preis.Text = ap.Alternativ1Preis.ToString();
      }

      if (ap.Alternativ2Typ != null)
      {
        cbxAlternativ2.Checked = true;

        switch (ap.Alternativ2Typ)
        {
          case "TM":
            rdbTM2.Checked = true;
            break;
          case "TS":
            rdbTS2.Checked = true;
            break;
          case "NK":
            rdbNK2.Checked = true;
            break;
        }

        tbxAlt2Preis.Text = ap.Alternativ2Preis.ToString();
      }

      Kalkulieren();

      tbxAlupulv.Text = ap.Alupulver.ToString();
      cbxOberlicht.Checked = ap.Oberlicht == "ja" ? true : false;

      // Der Positions-Einzelpreis wird zum Schluss in die Form geladen.
      // Hat der User bei der Kalkulation den errechneten Preis manuell abgeändert 
      // so würde der Preis immer durch das erneute Kalkulieren überschrieben.
      // Das passiert zwar weiterhin, aber durch das nachladen des Preises erscheint somit der korrekte Betrag.
      if (ap.Artikel != "Sonderartikel")
      {
        tbxEinzelVK.Text = String.Format("{0:0,0}", ap.Einzelpreis);
      }
    }
예제 #10
0
    ///<summary>
    ///</summary>
    ///<param name="ap"></param>
    public Form_Kalkualtion(Auftrag_Position ap)
    {
      InitializeComponent();
      InitializeKalkulation();

      kalkParamDB = DBManager.GetKalkulationsparameter();

      this.isAuftrag = true;

      //Ausgewählte Auftragsposition laden 
      positionsNr = ap.PosID.ToString();
      auftragsNr = ap.AuftragID.ToString();

      switch (ap.Artikel)
      {
        case "Vorderwand":
          rdbVorderwand.Checked = true;
          break;
        case "Kabine":
          rdbKabinen.Checked = true;
          break;
        case "Trennwand":
          rdbTrennwand.Checked = true;
          break;
        case "Schamwand":
          rdbSchamwand.Checked = true;
          break;
        case "Abschlusswand":
          rdbVorOTuer.Checked = true;
          break;
        case "Sonderartikel":
          rdbAussparung.Checked = true;
          break;
      }

      tbxSondertextUnten.Text = ap.Sondertext;
      tbxSondertextOben.Text = ap.SondertextOben;

      switch (ap.Typ)
      {
        case "TM":
          rdbTM.Checked = true;
          break;
        case "TS":
          rdbTS.Checked = true;
          break;
        case "NK":
          rdbNK.Checked = true;
          break;
      }

      tbxAnlagen.Text = String.Format("{0:#,0.##}", ap.AnlagenStk);
      tbxBreite.Text = ap.Breite.ToString();
      tbxTiefe.Text = ap.Tiefe.ToString();
      tbxTüren.Text = ap.Türen.ToString();
      tbxTrw.Text = ap.TW.ToString();
      tbxZuschlag.Text = ap.ZuschlagTür.ToString();

      if (ap.Artikel == "Sonderartikel")
      {
        tbxAussparungenPreis.Text = ap.Einzelpreis.ToString();
        double temp = double.Parse(tbxAussparungenPreis.Text);
        tbxAussparungenPreis.Text = temp.ToString();
        gbxAussparung.Enabled = true;
        cbxSonderartikelEinheit.Text = ap.SonderartikelEinheit;
      }
      tbxVK.Text = ap.Zuschlag.ToString();

      switch (ap.ZuschlagArt)
      {
        case "Prozent":
          cbxVK.SelectedIndex = 0;
          break;
        case "Euro":
          cbxVK.SelectedIndex = 1;
          break;
      }

      cbxAlupulver.Checked = ap.Alupulver != 0.00m ? true : false;
      cbxMontage.Checked = ap.Montage == "ja" ? true : false;

      cobAussaprungBeschreibung.Text = ap.AussparungTxt;

      if (ap.Alternativ1Typ != null)
      {
        cbxAlternativ1.Checked = true;

        switch (ap.Alternativ1Typ)
        {
          case "TM":
            rdbTM1.Checked = true;
            break;
          case "TS":
            rdbTS1.Checked = true;
            break;
          case "NK":
            rdbNK1.Checked = true;
            break;
        }

        tbxAlt1Preis.Text = ap.Alternativ1Preis.ToString();
      }

      if (ap.Alternativ2Typ != null)
      {
        cbxAlternativ2.Checked = true;

        switch (ap.Alternativ2Typ)
        {
          case "TM":
            rdbTM2.Checked = true;
            break;
          case "TS":
            rdbTS2.Checked = true;
            break;
          case "NK":
            rdbNK2.Checked = true;
            break;
        }

        tbxAlt2Preis.Text = ap.Alternativ2Preis.ToString();
      }

      Kalkulieren();

      tbxAlupulv.Text = ap.Alupulver.ToString();

      cbxOberlicht.Checked = ap.Oberlicht == "ja" ? true : false;

      if (ap.Artikel != "Sonderartikel")
      {
        tbxEinzelVK.Text = String.Format("{0:0,0}", ap.Einzelpreis);
      }
    }