public static bool KontrolliereObBuchungMoeglich(int id) { log.Info("BuchungsVerwaltung - KontrolliereObBuchungMoeglich"); bool moeglich = true; try { using (var context = new Innovation4AustriaEntities()) { Stornierung stornomodel = context.Stornierung.Where(x => x.Benutzer_id == id).FirstOrDefault(); if (stornomodel != null) { if (DateTime.Now < stornomodel.Datum.AddDays(3)) { moeglich = false; } } } } catch (Exception ex) { log.Error("BuchungsVerwaltung - KontrolliereObBuchungMoeglich - DB-Verbindung fehlgeschlagen", ex); if (ex.InnerException != null) { log.Info(ex.InnerException); } } return(moeglich); }
/// <summary> /// retourniert den Raum / Bilddaten werden im Controller ausgelesen /// </summary> /// <param name="id"></param> /// <returns></returns> public static Raum LadeBild(int id) { log.Info("BildVerwaltung - LadeBild"); Raum raum = new Raum(); try { using (var context = new Innovation4AustriaEntities()) { raum = context.AlleRaeume.Where(x => x.Id == id).FirstOrDefault(); } if (raum == null) { log.Warn("BildVerwaltung - LadeAusstattung - Ausstattung konnte nicht geladen werden"); } } catch (Exception ex) { log.Error("BildVerwaltung - LadeAusstattung - DbVerbindung fehlgeschlagen"); if (ex.InnerException != null) { log.Info(ex.InnerException); } } return(raum); }
public static int AnzahlTage(int id) { log.Info("RaumVerwaltung - AnzahlTage"); Raum neuerRaum = new Raum(); int AnzahlTage = 0; if (id != 0) { try { using (var context = new Innovation4AustriaEntities()) { List <Buchung> alleBuchungen = context.AlleBuchungen.Where(x => x.Raum_id == id).ToList(); foreach (var buchung in alleBuchungen) { List <Buchungsdetails> alleDeatailsEinerBuchung = context.AlleBuchungsdetails.Where(x => x.Buchung_id == buchung.Id).ToList(); AnzahlTage = AnzahlTage + alleDeatailsEinerBuchung.Count; } } } catch (Exception ex) { log.Error("RaumVerwaltung - AnzahlTage - Connection to database failed", ex); if (ex.InnerException != null) { log.Info(ex.InnerException); } } } return(AnzahlTage); }
/// <summary> /// /// </summary> /// <param name="BgDetails"></param> /// <returns></returns> public static Rechnung LiefereRechnungzuFirmaAusMonat(List <Buchungsdetails> BgDetails) { log.Info("Rechnungsverwaltung - LiefereRechnungzuFirmaAusMonat"); Rechnung rechnung = new Rechnung(); List <Rechnungsdetails> RgDetails = new List <Rechnungsdetails>(); try { using (var context = new Innovation4AustriaEntities()) { foreach (var buchungsdetail in BgDetails) { Rechnungsdetails RgDetail = context.AlleRechnungsdetails.Where(x => x.Buchungsdetail_Id == buchungsdetail.Id).FirstOrDefault(); if (rechnung != null) { rechnung = context.AlleRechnungen.Where(x => x.Id == RgDetail.Rechnung_Id).FirstOrDefault(); } RgDetails.Add(RgDetail); } } } catch (Exception ex) { throw; } return(rechnung); }
/// <summary> /// Setzt das Aktiv bit einer Buchung auf false und storniert sie so /// </summary> /// <param name="id"></param> /// <returns></returns> public static bool Stornieren(int id) { log.Info("BuchungsVerwaltung - Stornieren"); bool storniert = false; //Buchung gesBuchung = new Buchung(); try { using (var context = new Innovation4AustriaEntities()) { Buchung gesBuchung = context.AlleBuchungen.Where(x => x.Id == id).FirstOrDefault(); gesBuchung.Aktiv = false; context.SaveChanges(); storniert = true; } } catch (Exception ex) { log.Error("BuchungsVerwaltung - Buchung - es konnte keine Datenbankverbindung hergestellt werden", ex); if (ex.InnerException != null) { log.Info(ex.InnerException); } } return(storniert); }
/// <summary> /// retourniert alle Räume die gebucht sind. Stornierte Räume (!Aktiv) werden nicht zurückgegen /// </summary> /// <param name="fa_id"></param> /// <returns></returns> public static List <Buchung> GebuchteRaeume(int fa_id) { log.Info("RaumVerwaltung - BookedRooms"); List <Buchung> bookedRooms = new List <Buchung>(); if (fa_id != 0) { try { using (var context = new Innovation4AustriaEntities()) { bookedRooms = context.AlleBuchungen.Where(x => x.Firma_id == fa_id && x.Aktiv == true).ToList(); if (bookedRooms == null) { log.Info("RaumVerWaltung - BookedRooms - There are no booked rooms found"); } } } catch (Exception ex) { log.Error("RaumVerwaltung - BookedRooms - Connection to database failed", ex); if (ex.InnerException != null) { log.Info(ex.InnerException); } } } return(bookedRooms); }
/// <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> /// Liefert alle RaumAusstattungen eines Raumes /// </summary> /// <param name="raum_id"></param> /// <returns></returns> public static List <Raum_Ausstattung> RaumAusstattungEinesRaumes(int raum_id) { log.Info("RaumVerwaltung - RaumAusstattungEinesRaumes"); List <Raum_Ausstattung> raumAusstattungEinesRaumes = new List <Raum_Ausstattung>(); try { using (var context = new Innovation4AustriaEntities()) { raumAusstattungEinesRaumes = context.AlleRaum_Ausstattungen.Include(y => y.Ausstattung).Where(x => x.Raum_id == raum_id).ToList(); } if (raumAusstattungEinesRaumes == null) { log.Warn("RaumVerwaltung - RaumAusstattungEinesRaumes - RaumAusstattungenEinesRaumes auslesen fehlgeschlagen"); } } catch (Exception ex) { log.Error("RaumVerwaltung - RaumAusstattungEinesRaumes - DB - Verbindung fehlgeschlagen"); if (ex.InnerException != null) { log.Info(ex.InnerException); } } return(raumAusstattungEinesRaumes); }
public static bool RechnungIstBezahlt(int rechnungsnummer) { log.Info("RechnungsVerwaltung - Rechnung bezahlen"); bool bezahlt = false; try { using (var context = new Innovation4AustriaEntities()) { Rechnung bezahlteRechnung = context.AlleRechnungen.Where(x => x.Id == rechnungsnummer).FirstOrDefault(); if (!bezahlteRechnung.bezahlt) { bezahlteRechnung.bezahlt = true; bezahlt = true; } } } catch (Exception ex) { log.Error("RechnungsVerwaltung - RechnungIstBezahlt - DB-Verbindung fehlgeschlagen"); if (ex.InnerException != null) { log.Info(ex.InnerException); } } return(bezahlt); }
/// <summary> /// gibt den Raumnamen einer Buchung retour /// </summary> /// <param name="buchung_id"></param> /// <returns></returns> public static string GesuchterRaumName(int buchung_id) { log.Info("RaumVerwaltung - GesuchterRaumName"); string Raumname = ""; Buchung gesBuchung = new Buchung(); try { using (var context = new Innovation4AustriaEntities()) { gesBuchung = context.AlleBuchungen.Where(x => x.Id == buchung_id).Include(y => y.Raum).FirstOrDefault(); Raumname = gesBuchung.Raum.Bezeichnung; } } catch (Exception ex) { log.Error("RaumVerwltung - alleRaeume - Datenbankverbindung fehlgeschlagen"); if (ex.InnerException != null) { log.Info(ex.InnerException); } } return(Raumname); }
public static bool RechnungenFuerMonatVorhanden(int monat, int jahr) { log.Info("RechnungsVerwaltung - RechnungsDetailsEinerRechnung"); List <Buchungsdetails> BuchungenZuMonat = new List <Buchungsdetails>(); List <Rechnungsdetails> RechnungsDetailListe = new List <logic.Rechnungsdetails>(); bool vorhanden = false; try { using (var context = new Innovation4AustriaEntities()) { BuchungenZuMonat = context.AlleBuchungsdetails.Where(x => x.Datum.Month == monat && x.Datum.Year == jahr).ToList(); RechnungsDetailListe = context.AlleRechnungsdetails.ToList(); BuchungenZuMonat = BuchungenZuMonat.Where(x => x.Rechnungsdetails.Count > 0).ToList(); if (BuchungenZuMonat.Count != 0) { vorhanden = true; } } } catch (Exception ex) { log.Error("RechnugnsVerwaltung - RechnungsDetailsEinerRechnung - DB_Verbindung fehlgeschlagen"); if (ex.InnerException != null) { log.Info(ex.InnerException); } } return(vorhanden); }
/// <summary> /// Retouniert alle Räume /// </summary> /// <returns></returns> public static List <Raum> GesuchteRaeume() { log.Info("RaumVerwaltung - GesuchteRaeume"); List <Raum> gesuchteRaeume = new List <Raum>(); try { using (var context = new Innovation4AustriaEntities()) { gesuchteRaeume = context.AlleRaeume.Include(x => x.Art).Include(y => y.Bauwerk).ToList(); if (gesuchteRaeume == null) { log.Warn("RaumVerwaltung - gesuchteRaeume - keine Raeume gefunden"); } } } catch (Exception ex) { log.Error("RaumVerwaltung - GesuchteRaeume - db-Verbindung fehlgeschlagen"); if (ex.InnerException != null) { log.Info(ex.InnerException); } } return(gesuchteRaeume); }
/// <summary> /// Liefert alle Räume retour /// </summary> /// <returns></returns> public static List <Raum> alleRaeume() { log.Info("RaumVerwaltung - alleRaeume"); List <Raum> mAlleRaeume = null; try { using (var context = new Innovation4AustriaEntities()) { mAlleRaeume = context.AlleRaeume.Include(x => x.Art).ToList(); if (mAlleRaeume == null) { log.Warn("Raeume wurden nicht gefunden"); } } } catch (Exception ex) { log.Error("RaumVerwltung - alleRaeume - Datenbankverbindung fehlgeschlagen"); if (ex.InnerException != null) { log.Info(ex.InnerException); } } return(mAlleRaeume); }
/// <summary> /// Findet den User anhand der Emailadresse /// </summary> /// <param name="username"></param> /// <returns></returns> public static Benutzer GetUser(string username) { log.Info("GetUser(username)"); Benutzer user = null; using (var context = new Innovation4AustriaEntities()) { try { user = context.AlleBenutzer.Include(x => x.Firma).Include(x => x.Rolle).Where(x => x.Emailadresse == username).FirstOrDefault(); if (user == null) { log.Info("Unknown username!"); } } catch (Exception ex) { log.Error("Exception in GetUser", ex); if (ex.InnerException != null) { log.Error("Exception in GetUser (inner)", ex.InnerException); } } } return(user); }
/// <summary> /// Sucht einen Raum anhand der ID /// </summary> /// <param name="raum_id"></param> /// <returns></returns> public static Raum GesuchterRaum(int raum_id) { log.Info("RaumVerwaltung - gesuchterRaum"); Raum raum = null; if (raum_id != 0) { try { using (var context = new Innovation4AustriaEntities()) { raum = context.AlleRaeume.Where(x => x.Id == raum_id).Include("Art").FirstOrDefault(); if (raum == null) { log.Warn("RaumVerwaltung - gesuchterRaum - kein Raum gefunden"); } } } catch (Exception ex) { log.Error("RaumVerwaltung - gesuchterRaum - Datenbankverbindung fehlgeschlagen", ex); if (ex.InnerException != null) { log.Info(ex.InnerException); } } } return(raum); }
/// <summary> /// reourniere das Anfangs- oder Enddatum einer Buchung auswählbar über bool "vonDatum" /// </summary> /// <param name="buchung_id"></param> /// <param name="vonDatum"></param> /// <returns></returns> public static DateTime datum(int buchungsDetail_id, bool vonDatum) { List <Buchungsdetails> buchungsdetailsEinerBuchung = null; DateTime date = new DateTime(); Console.Write("BuchungsVerwaltung - datum"); if (buchungsDetail_id != 0) { try { using (var context = new Innovation4AustriaEntities()) { buchungsdetailsEinerBuchung = context.AlleBuchungsdetails.Where(x => x.Buchung_id == buchungsDetail_id).ToList(); if (vonDatum) { date = (from x in buchungsdetailsEinerBuchung orderby x.Datum select x.Datum).FirstOrDefault(); } else { date = (from x in buchungsdetailsEinerBuchung orderby x.Datum descending select x.Datum).FirstOrDefault(); } } } catch (Exception ex) { log.Error("BuchungsVerwaltung - Buchung - es konnte keine Datenbankverbindung hergestellt werden", ex); if (ex.InnerException != null) { log.Info(ex.InnerException); } } } return(date); }
/// <summary> /// Liefert alle Raumausstattungen /// </summary> /// <returns></returns> public static List <Ausstattung> AlleRaumAusstattungen() { log.Info("RaumVerwaltung - AlleRaumAusstattungen"); List <Ausstattung> alleAusstattungen = null; try { using (var context = new Innovation4AustriaEntities()) { alleAusstattungen = context.AlleAusstattungen.ToList(); if (alleAusstattungen == null) { log.Warn("RaumVerwaltung - AlleRaumAusstattungen - RaumAusstattungen auslesen fehlgeschlagen"); } } } catch (Exception ex) { log.Error("RaumVerwaltung - AlleRaumAusstattungen - DB - Verbindung fehlgeschlagen"); if (ex.InnerException != null) { log.Info(ex.InnerException); } } return(alleAusstattungen); }
/// <summary> /// Ladet alle Firmen /// </summary> /// <returns></returns> public static List <Firma> LadeAlleFirmen() { log.Info("FirmenVerwaltung - LadeAlleFirmen"); List <Firma> alleFirmen = null; try { using (var context = new Innovation4AustriaEntities()) { alleFirmen = context.AlleFirmen.Where(x => x.aktiv).ToList(); if (alleFirmen == null) { log.Warn("FirmenVerwaltung - LadeAlleFirmen - keine Firmen gefunden"); } } } catch (Exception ex) { log.Error("FirmenVerwlatung - ladeAlleFirmen - DatenVerbindung fehlgeschlagen"); if (ex.InnerException != null) { log.Info(ex.InnerException); } } return(alleFirmen); }
/// <summary> /// ein Rechnungsdetail einer Firma wird herausgesucht /// </summary> /// <param name="buchungsDetail_id"></param> /// <returns></returns> public static Rechnungsdetails EinRechnungsDetailsEinesBuchungsDetails(int buchungsDetail_id) { Rechnungsdetails detail = null; log.Info("RechnungsVerwaltung - AlleRechnungsDetailsEinerBuchung"); if (buchungsDetail_id != 0) { try { using (var context = new Innovation4AustriaEntities()) { { detail = context.AlleRechnungsdetails.Where(x => x.Buchungsdetail_Id == buchungsDetail_id).FirstOrDefault(); if (detail == null) { log.Warn("RechnungsVerwaltung - AlleRechnungsDetailsEinerBuchung - es wurden keine Rechnungsdetails zu der Buchung gefunden"); } } } } catch (Exception ex) { log.Error("RechnungsVerwaltung - AlleRechnungsDetailsEinerBuchung - es konnte keine Datenbankverbindung hergestellt werden", ex); if (ex.InnerException != null) { log.Info(ex.InnerException); } } } return(detail); }
/// <summary> /// Erstellt eine Buchung und retouniert die ID /// </summary> /// <param name="raum_id"></param> /// <param name="firma_id"></param> /// <returns></returns> public static int ErstelleBuchung(int raum_id, int firma_id) { Buchung neueBuchung = new Buchung(); neueBuchung.Raum_id = raum_id; neueBuchung.Firma_id = firma_id; neueBuchung.Aktiv = true; log.Info("BuchungsVerwaltung - ErstelleBuchung"); try { using (var context = new Innovation4AustriaEntities()) { context.AlleBuchungen.Add(neueBuchung); context.SaveChanges(); } } catch (Exception ex) { log.Error("BuchungsVerwaltung - BuchungsDetailsVonBuchung - Datenbankverbindung fehlgeschlagen", ex); if (ex.InnerException != null) { log.Info(ex.InnerException); } } return(neueBuchung.Id); }
/// <summary> /// gibt alle Buchugnsdetails einer Buchung zurück /// </summary> /// <param name="buchung_id"></param> /// <returns></returns> public static List <Buchungsdetails> BuchungsDetailsVonBuchung(int buchung_id) { log.Info("RaumVerwaltung - BuchungsDetailsVonBuchung"); List <Buchungsdetails> detailVonBuchung = null; if (buchung_id != 0) { try { using (var context = new Innovation4AustriaEntities()) { detailVonBuchung = context.AlleBuchungsdetails.Include(x => x.Rechnungsdetails).Where(x => x.Buchung_id == buchung_id).ToList(); if (detailVonBuchung == null) { log.Warn("BuchungsVerwaltung - BuchungsDetailsVonBuchung - keine Details zur Buchung gefunden"); } } } catch (Exception ex) { log.Error("BuchungsVerwaltung - BuchungsDetailsVonBuchung - Datenbankverbindung fehlgeschlagen", ex); if (ex.InnerException != null) { log.Info(ex.InnerException); } } } return(detailVonBuchung); }
/// <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 Buchung HoleBuchung(int id) { Buchung gesBuchung = new Buchung(); try { using (var context = new Innovation4AustriaEntities()) { gesBuchung = context.AlleBuchungen.Where(x => x.Id == id).Include(y => y.AlleBuchungsdetails).FirstOrDefault(); } } catch (Exception ex) { throw; } return(gesBuchung); }
public static Rechnungsdetails RGDetailZuBuchung(int id) { Rechnungsdetails RGDeatailZuBuchungsdeatil = new Rechnungsdetails(); try { using (var context = new Innovation4AustriaEntities()) { RGDeatailZuBuchungsdeatil = context.AlleRechnungsdetails.Where(x => x.Buchungsdetail_Id == id).FirstOrDefault(); } } catch (Exception) { throw; } return(RGDeatailZuBuchungsdeatil); }
public static List <Kreditkarte> AlleKreditKarten() { log.Info("RechnungsVerwaltung - AlleKreditKarten"); List <Kreditkarte> alleKreditkarten = new List <Kreditkarte>(); try { using (var context = new Innovation4AustriaEntities()) { alleKreditkarten = context.Kreditkarte.ToList(); } } catch (Exception ex) { log.Error("RechnungsVerwaltung - MonatsBuchungsDetails - DB-Verbindung fehlgeschlagen"); } return(alleKreditkarten); }
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); }
public static List <Rechnung> RechnungenEinerFirma(int firma_id) { log.Info("RechnugnsVerwaltung - RechnungenEinerFirma"); List <Rechnung> rechnungen = new List <Rechnung>(); try { using (var context = new Innovation4AustriaEntities()) { rechnungen = context.AlleRechnungen.Where(x => x.fa_id == firma_id).ToList(); } } catch (Exception ex) { log.Error("RechnugnsVerwaltung - RechnungenEinerFirma - DB_Verbindung fehlgeschlagen"); } return(rechnungen); }
/// <summary> /// Setzt den Benutzer auf inaktiv /// </summary> /// <param name="username"></param> /// <returns></returns> public static bool DeaktiviereBenutzer(string username) { log.Info("DeactivateUser(username)"); bool success = false; if (string.IsNullOrEmpty(username)) { throw new ArgumentNullException(nameof(username)); } else { using (var context = new Innovation4AustriaEntities()) { try { Benutzer aktBenutzer = context.AlleBenutzer.Where(x => x.Emailadresse == username).FirstOrDefault(); if (aktBenutzer != null) { aktBenutzer.Aktiv = false; context.SaveChanges(); success = true; log.Info("User has been deactivated!"); } else { log.Info("Unknown username"); } } catch (Exception ex) { log.Error("Exception in DeactivateUser", ex); if (ex.InnerException != null) { log.Error("Exception in DeactivateUser (inner)", ex.InnerException); } throw; } } } return(success); }
/// <summary> /// Aktualisiert die Daten von einer Firma /// </summary> /// <param name="id"></param> /// <param name="bezeichnung"></param> /// <param name="aktiv"></param> /// <param name="nummer"></param> /// <param name="ort"></param> /// <param name="plz"></param> /// <param name="strasse"></param> /// <returns>erfolgreich/ nach Aktualisierung soll die Bestätigung erfolgen</returns> public static bool FirmaAktualisierung(int id, string bezeichnung, bool aktiv, string nummer, string ort, string plz, string strasse) { bool erfolgreich = false; log.Info("FirmenVerwaltung - FirmaAktualisierung"); Firma aktFirma = null; try { using (var context = new Innovation4AustriaEntities()) { aktFirma = context.AlleFirmen.Where(x => x.Id == id).FirstOrDefault(); if (aktiv) { aktFirma.Bezeichnung = bezeichnung; aktFirma.Nummer = nummer; aktFirma.Ort = ort; aktFirma.Plz = plz; aktFirma.Strasse = strasse; } else { aktFirma.aktiv = aktiv; } int result = context.SaveChanges(); if (result > 0) { erfolgreich = true; } } } catch (Exception ex) { log.Error("FirmenVerwaltung - FirmaAktualisierung - DbVerbindung fehlgeschlagen"); if (ex.InnerException != null) { log.Info(ex.InnerException); } } return(erfolgreich); }
public static void ErstelleRechnungenFuerMonat(int monat, int jahr) { log.Info("RechnungsVerwaltung - ErstelleRechnungenFuerMonat"); List <Buchungsdetails> buchungsDetailsFuerMonat = new List <Buchungsdetails>(); try { using (var context = new Innovation4AustriaEntities()) { buchungsDetailsFuerMonat = context.AlleBuchungsdetails.Where(x => x.Datum.Year == jahr && x.Datum.Month == monat && x.Buchung.Aktiv).ToList(); foreach (var buchungsDetail in buchungsDetailsFuerMonat) { List <Buchungsdetails> buchungsDetailsZuFirma = new List <Buchungsdetails>(); buchungsDetailsZuFirma = buchungsDetailsFuerMonat.Where(x => x.Buchung.Firma_id == buchungsDetail.Buchung.Firma_id).ToList(); Rechnung neueRechnung = new Rechnung(); neueRechnung.Datum = DateTime.Now; neueRechnung.fa_id = buchungsDetail.Buchung.Firma_id; context.AlleRechnungen.Add(neueRechnung); context.SaveChanges(); foreach (var buchungsDetaileinesMonats in buchungsDetailsZuFirma) { Rechnungsdetails DetailZuFirma = new Rechnungsdetails(); DetailZuFirma.Buchungsdetail_Id = buchungsDetaileinesMonats.Id; DetailZuFirma.Rechnung_Id = neueRechnung.Id; context.AlleRechnungsdetails.Add(DetailZuFirma); } } context.SaveChanges(); } } catch (Exception ex) { log.Error("RechnugnsVerwaltung - ErstelleRechnungenFuerMonat - DB_Verbindung fehlgeschlagen"); if (ex.InnerException != null) { log.Info(ex.InnerException); } } }