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