/// <summary> /// Sucht alle Buchungsdetails einer Firma aus einem bestimmten Monat /// </summary> /// <param name="fa_id"></param> /// <param name="monat"></param> /// <returns></returns> public static List <Buchungsdetails> MonatsBuchungsDetails(int fa_id, int monat) { log.Info("RechnungsVerwaltung - MonatsRechnung"); List <Rechnungsdetails> gesRGdetails = new List <Rechnungsdetails>(); List <Buchungsdetails> gesuchteBuchungsDetails = new List <Buchungsdetails>(); List <Rechnung> monatsRechnungen = new List <Rechnung>(); try { using (var context = new Innovation4AustriaEntities()) { monatsRechnungen = context.AlleRechnungen.Where(x => x.fa_id == fa_id).ToList(); foreach (var eineRechnung in monatsRechnungen) { List <Rechnungsdetails> alleRGDetails = context.AlleRechnungsdetails.Where(x => x.Rechnung_Id == eineRechnung.Id).ToList(); foreach (var rechnungsdetail in alleRGDetails) { Buchungsdetails einBuchungsDetail = context.AlleBuchungsdetails.Where(x => x.Id == rechnungsdetail.Buchungsdetail_Id && x.Datum.Month == monat).Include(y => y.Rechnungsdetails).FirstOrDefault(); if (einBuchungsDetail != null) { gesuchteBuchungsDetails.Add(einBuchungsDetail); } } } } } catch (Exception ex) { log.Error("RechnungsVerwaltung - MonatsBuchungsDetails - DB-Verbindung fehlgeschlagen"); } return(gesuchteBuchungsDetails); }
/// <summary> /// trägt eine Buchungsdetails ein, jedes Datum vom Anfang-Enddatum wird tageweise in einen Buchungssatz /// </summary> /// <param name="buchung_id"></param> /// <param name="vonDatum"></param> /// <param name="BisDatum"></param> /// <param name="preis"></param> /// <returns></returns> public static bool ErstelleBuchungDetails(int buchung_id, DateTime vonDatum, DateTime BisDatum, decimal preis) { bool erfolgreich = false; log.Info("BuchungsVerwaltung - ErstelleBuchungDetails"); if (buchung_id > 0) { if (vonDatum != null) { if (BisDatum != null) { int wievieleTage = (BisDatum - vonDatum).Days; wievieleTage++; try { using (var context = new Innovation4AustriaEntities()) { for (int i = 0; i < wievieleTage; i++) { Buchungsdetails neueBuchung = new Buchungsdetails() { Buchung_id = buchung_id, Datum = vonDatum, Preis = preis }; context.AlleBuchungsdetails.Add(neueBuchung); if (vonDatum < BisDatum) { vonDatum = vonDatum.AddDays(1); } } if (context.SaveChanges() == wievieleTage) { erfolgreich = true; } } } catch (Exception ex) { log.Error("BuchungsVerwaltung - ErstelleBuchungDetals - fehlgeschlagen"); if (ex.InnerException != null) { log.Info(ex.InnerException); } } } } } return(erfolgreich); }
public static Buchungsdetails BuchungsDetailEinerRechnung(int id) { log.Info("RechnungsVerwaltung - RechnungsDetailsEinerRechnung"); Buchungsdetails buchungsDetail = new Buchungsdetails(); try { using (var context = new Innovation4AustriaEntities()) { buchungsDetail = context.AlleBuchungsdetails.Where(x => x.Id == id).FirstOrDefault(); } } catch (Exception ex) { log.Error("RechnugnsVerwaltung - RechnungsDetailsEinerRechnung - DB_Verbindung fehlgeschlagen"); } return(buchungsDetail); }