Exemple #1
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);
        }
Exemple #2
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);
        }
        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);
                }
            }
        }
Exemple #4
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);
        }
        /// <summary>
        /// legt eine neue Firma an
        /// </summary>
        /// <param name="bezeichnung"></param>
        /// <param name="strasse"></param>
        /// <param name="nummer"></param>
        /// <param name="plz"></param>
        /// <param name="ort"></param>
        /// <returns>betäigt diese wenn erfolgreich</returns>
        public static bool FirmaAnlegen(string bezeichnung, string strasse, string nummer, string plz, string ort)
        {
            log.Info("FirmenVerwaltung - FirmaAnlegen");
            Firma neueFirma = new Firma()
            {
                Bezeichnung = bezeichnung,
                Strasse     = strasse,
                Nummer      = nummer,
                Plz         = plz,
                Ort         = ort,
                aktiv       = true
            };

            bool erfolgreich = false;

            try
            {
                using (var context = new Innovation4AustriaEntities())
                {
                    context.AlleFirmen.Add(neueFirma);
                    if (context.SaveChanges() > 0)
                    {
                        erfolgreich = true;
                    }
                    context.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                log.Error("FirmenVerwaltung - FirmaAktualisierung - DbVerbindung fehlgeschlagen");
                if (ex.InnerException != null)
                {
                    log.Info(ex.InnerException);
                }
            }
            return(erfolgreich);
        }
        /// <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);
        }
Exemple #8
0
 public static void SperreVonUser(int id)
 {
     log.Info("BuchungsVerwaltung - SperreVonUser");
     try
     {
         using (var context = new Innovation4AustriaEntities())
         {
             Stornierung neueStornierung = new Stornierung();
             neueStornierung.Benutzer_id = id;
             neueStornierung.Datum       = DateTime.Now;
             context.Stornierung.Add(neueStornierung);
             context.SaveChanges();
         }
     }
     catch (Exception ex)
     {
         log.Error("BuchungsVerwaltung - Buchung - es konnte keine Datenbankverbindung hergestellt werden", ex);
         if (ex.InnerException != null)
         {
             log.Info(ex.InnerException);
         }
     }
 }
        /// <summary>
        /// wechselt das Passwort
        /// </summary>
        /// <param name="username"></param>
        /// <param name="oldPassword"></param>
        /// <param name="newPassword"></param>
        /// <returns></returns>
        public static Passwortwechselergebnis WechselPasswort(string username, string oldPassword, string newPassword)
        {
            Passwortwechselergebnis result = Passwortwechselergebnis.UsernameInvalid;

            log.Info("ChangePassword(username, oldPassword, newPassword)");

            if (string.IsNullOrEmpty(username))
            {
                throw new ArgumentNullException(nameof(username));
            }
            else if (string.IsNullOrEmpty(newPassword))
            {
                throw new ArgumentNullException(nameof(newPassword));
            }
            else if (string.IsNullOrEmpty(oldPassword))
            {
                throw new ArgumentNullException(nameof(oldPassword));
            }
            else
            {
                using (var context = new Innovation4AustriaEntities())
                {
                    try
                    {
                        Benutzer aktBenutzer = context.AlleBenutzer.Where(x => x.Emailadresse == username).FirstOrDefault();

                        if (aktBenutzer == null)
                        {
                            result = Passwortwechselergebnis.UsernameInvalid;
                        }
                        else if (!aktBenutzer.Aktiv == true)
                        {
                            result = Passwortwechselergebnis.UserInactive;
                        }
                        else if (!aktBenutzer.Passwort.SequenceEqual(Tools.GenerierePasswort(oldPassword)))
                        {
                            result = Passwortwechselergebnis.PasswortInvalid;
                        }
                        else
                        {
                            log4net.LogicalThreadContext.Properties["idUser"] = aktBenutzer.Id;

                            aktBenutzer.Passwort = Tools.GenerierePasswort(newPassword);
                            context.SaveChanges();

                            result = Passwortwechselergebnis.Success;
                            log.Info("Passwort aufgrund altem Passwort erfolgreich geändert!");
                        }
                    }
                    catch (Exception ex)
                    {
                        log.Error("Fehler bei BenutzerPasswortÄndern", ex);
                        if (ex.InnerException != null)
                        {
                            log.Error("Fehler bei BenutzerPasswortÄndern (inner)", ex.InnerException);
                        }
                        throw;
                    }
                }
            }
            return(result);
        }
        /// <summary>
        /// findet den Benutzer anhand von Emailadresse und Password
        /// </summary>
        /// <param name="username"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public static LogonResult Anmelden(string username, string password)
        {
            log.Info("Logon(username, password)");
            LogonResult result = LogonResult.LogonDataInvalid;

            if (string.IsNullOrEmpty(username))
            {
                log.Error("Username is empty!");
                throw new ArgumentNullException(nameof(username));
            }
            else if (string.IsNullOrEmpty(password))
            {
                log.Error("Password is empty!");
                throw new ArgumentNullException(nameof(password));
            }
            else
            {
                using (var context = new Innovation4AustriaEntities())
                {
                    try
                    {
                        Benutzer aktBenutzer = context.AlleBenutzer.Where(x => x.Emailadresse == username).FirstOrDefault();

                        if (aktBenutzer != null)
                        {
                            if (aktBenutzer.Passwort.SequenceEqual(Tools.GenerierePasswort(password)))
                            {
                                if (!aktBenutzer.Aktiv == true)
                                {
                                    log.Info("User inactive");
                                    result = LogonResult.UserInactive;
                                }
                                else
                                {
                                    log.Info("Logon data valid");
                                    result = LogonResult.LogonDataValid;
                                }
                            }
                            else
                            {
                                log.Info("Logon data invalid");
                                result = LogonResult.LogonDataInvalid;
                            }

                            int anzahlZeilen = context.SaveChanges();
                        }
                        else
                        {
                            result = LogonResult.UnkownUser;
                            log.Info("Unknown username");
                        }
                    }
                    catch (Exception ex)
                    {
                        log.Error("Exception in Logon", ex);
                        if (ex.InnerException != null)
                        {
                            log.Error("Exception in Logon (inner)", ex.InnerException);
                        }
                    }
                }
            }
            return(result);
        }