예제 #1
0
        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);
        }
예제 #2
0
        /// <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);
        }
예제 #3
0
        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);
        }
예제 #5
0
        /// <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);
        }
예제 #6
0
        /// <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);
        }
예제 #8
0
        /// <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);
        }
예제 #10
0
        /// <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);
        }
예제 #12
0
        /// <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);
        }
예제 #13
0
        /// <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);
        }
예제 #15
0
        /// <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);
        }
예제 #16
0
        /// <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);
        }
예제 #17
0
        /// <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);
        }
예제 #18
0
        /// <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);
        }
예제 #20
0
        /// <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);
        }
예제 #21
0
        /// <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);
        }
예제 #22
0
        /// <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);
        }
예제 #23
0
        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);
        }
예제 #29
0
        /// <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);
                }
            }
        }