public static decimal GetArticlePrice(kalkulationstabelle Kalkulationstabelle, StammBelegarten Belegart, string ArticleNr) { try { if (Belegart == null) { throw new ArgumentOutOfRangeException("Es wurde keine Belegart ausgewählt - Preis kann nicht ermittelt werden", BelegartKannNichtNullSeinMessage); } if (!Belegart.Kalkulationstabellenpflicht.HasValue || Belegart.Kalkulationstabellenpflicht == 0) { return(DAL.WaWiTools.SI_BelegeHelper.GetArtikelpriceArtikelstamm(ArticleNr)); } else { return(DAL.WaWiTools.SI_BelegeHelper.GetSelectedCalculationArticlePrice(Kalkulationstabelle, ArticleNr)); } } catch (ArgumentOutOfRangeException ex) { throw; } catch (Exception) { throw; } }
private void addNewKalkulation(string pNumber) { var k = new kalkulationstabelle(); k.projektnummer = pNumber; k.euroumrechnung = .129; db.kalkulationstabellen.AddObject(k); db.SaveChanges(); CurrentProjektID = k.id; FillList(); }
public static decimal GetSelectedCalculationArticlePrice(kalkulationstabelle SelectedKalkulation, string ArtikelNr) { try { if (SelectedKalkulation == null) { throw new ArgumentOutOfRangeException("Es wurde keine Kalulationstabelle ausgewählt.", KalkulationstabelleOderArtikelnummerNichtGefundenMessage); } if (SelectedKalkulation.kalkulationstabelle_detail == null) { throw new ArgumentOutOfRangeException("Die ausgewählte Kalulationstabelle enthält keine Positionen.", KalkulationstabelleOderArtikelnummerNichtGefundenMessage); } var ktp = SelectedKalkulation.kalkulationstabelle_detail.Where(n => n.artikelnr == ArtikelNr); if (!ktp.Any()) { throw new ArgumentOutOfRangeException("Die ausgewählte Artikelnummer ist in der Kalkulationstabelle nicht enthalten.", KalkulationstabelleOderArtikelnummerNichtGefundenMessage); } if (ktp.Count() > 1) { throw new ArgumentOutOfRangeException("Die ausgewählte Artikelnummer ist in der Kalkulationstabelle mehrfach vorhanden.", ArtikelnummerMehrfachVorhandenMessage); } if (ktp == null) { throw new ArgumentOutOfRangeException(ArtikelNr, "Der Artikel ist nicht in der ausgewählten Kalulationstabelle enthalten.", KalkulationstabelleOderArtikelnummerNichtGefundenMessage); } if (ktp.SingleOrDefault().einzelpreis.HasValue) { return(Math.Round((decimal)ktp.SingleOrDefault().einzelpreis, 2)); } else { return(0m); } } catch (ArgumentOutOfRangeException ex) { throw; } catch (Exception) { throw; } }
private void LoadData(bool reload) { if (prozent == null || transport == null || KursNOK == null || reload == true) { using (SteinbachEntities db = new SteinbachEntities()) { var query = from c in db.kalkulationstabellen where c.id == this.id_kalkulationstabelle select c; kalkulationstabelle t = query.FirstOrDefault(); if (t != null) { prozent = t.procent; KursNOK = t.euroumrechnung; transport = t.transportverpackung; } } } }