コード例 #1
0
        public ActionResult Stornieren(KreditkartenModel model)
        {
            log.Info("Rechnung - Bezahlen - POST");
            Benutzer aktBenutzer = BenutzerAdministrator.GetUser(User.Identity.Name);

            if (ModelState.IsValid)
            {
                if (model.GültigBisJahr >= DateTime.Now.Year && model.GültigBisMonat >= DateTime.Now.Month)
                {
                    if (checkLuhn(model.KreditKartenNummer))
                    {
                        BuchungsVerwaltung.Stornieren(model.Buchung_id);
                        TempData[ConstStrings.SUCCESS_MESSAGE] = Validierungen.StornoErfolreich;
                    }
                    else
                    {
                        TempData[ConstStrings.ERROR_MESSAGE] = Validierungen.BezahlungNichtMoeglich;
                    }
                }
                else
                {
                    TempData[ConstStrings.ERROR_MESSAGE] = Validierungen.BezahlungNichtMoeglich;
                }
            }
            return(RedirectToAction("Dashboard", "Benutzer"));
        }
コード例 #2
0
        public ActionResult RaumAuslastung()
        {
            List <AuslastungsModel> AuslastungDerRaueme = new List <AuslastungsModel>();
            List <Raum>             alleRaeume          = new List <Raum>();

            alleRaeume = RaumVerwaltung.alleRaeume();
            foreach (var raum in alleRaeume)
            {
                AuslastungsModel model = new AuslastungsModel()
                {
                    Raumbezeichnung = raum.Bezeichnung,
                    AnzahlTage      = BuchungsVerwaltung.AnzahlTage(raum.Id)
                };
                if (model.AnzahlTage > 0)
                {
                    AuslastungDerRaueme.Add(model);
                }
            }

            return(View(AuslastungDerRaueme));
        }
コード例 #3
0
        public ActionResult Raumbuchung(int Id, DateTime VonDatum, DateTime BisDatum, decimal Preis, int?Fa_Id)
        {
            bool gebucht = false;

            log.Info("BuchnungController - Raumbuchung - POST");
            Benutzer aktBenutzer = BenutzerAdministrator.GetUser(User.Identity.Name);
            int      fa_id       = 0;

            if (Fa_Id == null)
            {
                fa_id = (int)aktBenutzer.Firma_id;
            }
            if (BuchungsVerwaltung.KontrolliereObBuchungMoeglich(aktBenutzer.Id))
            {
                TempData[ConstStrings.ERROR_MESSAGE] = Validierungen.BuchenFehlgeschlagen;
                return(RedirectToAction("Dashboard", "Benutzer"));
            }

            VerbindlichBuchenModel verbindlichBuchenModel = new VerbindlichBuchenModel();

            if (Id >= 0)
            {
                verbindlichBuchenModel.buchung_id = BuchungsVerwaltung.ErstelleBuchung(Id, fa_id);
            }

            if (verbindlichBuchenModel.buchung_id >= 0)
            {
                if (gebucht = BuchungsVerwaltung.ErstelleBuchungDetails(verbindlichBuchenModel.buchung_id, VonDatum, BisDatum, Preis))
                {
                    TempData[ConstStrings.SUCCESS_MESSAGE] = Validierungen.BuchenErfolgreich;
                }
                else
                {
                    TempData[ConstStrings.ERROR_MESSAGE] = Validierungen.BuchenFehlgeschlagen;
                }
            }

            return(RedirectToAction("Laden", "Raum"));
        }
コード例 #4
0
        public ActionResult Stornieren(int Id)
        {
            Benutzer aktBenutzer = BenutzerAdministrator.GetUser(User.Identity.Name);

            Buchung aktBuchung = BuchungsVerwaltung.HoleBuchung(Id);
            List <Buchungsdetails> BuchungsDetailsZuBuchung = BuchungsVerwaltung.BuchungsDetailsVonBuchung(aktBuchung.Id);

            BuchungsDetailsZuBuchung = BuchungsDetailsZuBuchung.OrderBy(x => x.Datum).ToList();
            foreach (var item in BuchungsDetailsZuBuchung)
            {
                if (item.Datum < DateTime.Now.AddDays(1))
                {
                    KreditkartenModel StornoModel = new KreditkartenModel();
                    StornoModel.KreditkartenBezeichnung = new List <KreditkartenArtModel>();
                    List <Kreditkarte> alleKreditkarten = RechnungsVerwaltung.AlleKreditKarten();
                    foreach (var kreditkarte in alleKreditkarten)
                    {
                        KreditkartenArtModel model = new KreditkartenArtModel()
                        {
                            bezeichnung = kreditkarte.bezeichnung,
                            id          = kreditkarte.id
                        };
                        StornoModel.Buchung_id = Id;
                        StornoModel.KreditkartenBezeichnung.Add(model);
                        StornoModel.Rechnungsbetrag = BuchungsDetailsZuBuchung.Sum(x => x.Preis) / 2;
                    }
                    BuchungsVerwaltung.SperreVonUser(aktBenutzer.Id);
                    return(View(StornoModel));
                }
            }


            log.Info("BuchungController - Stornieren -Get");
            if (Id > 0)
            {
                bool storniert = BuchungsVerwaltung.Stornieren(Id);
            }
            return(RedirectToAction("Dashboard", "Benutzer"));
        }
コード例 #5
0
        public ActionResult Dashboard()
        {
            log.Info("BenutzerController - Dashboard");

            Benutzer aktBenutzer = BenutzerAdministrator.GetUser(User.Identity.Name);

            DashboardModel dashboard = new DashboardModel();
            //User.Identity.Name

            // holt alle Mitarbeiter einer Firma
            List <BenutzerModel> alleMitarbeitereinerFirma = new List <BenutzerModel>();

            if (aktBenutzer.Firma_id != null)
            {
                List <Benutzer> alleBenutzer = BenutzerVerwaltung.LadeMitarbeiterEinerFirma((int)aktBenutzer.Firma_id);
                if (alleBenutzer == null)
                {
                    log.Warn("No stuff was found");
                }
                foreach (var einBenutzer in alleBenutzer)
                {
                    BenutzerModel einMitarbeiter = new BenutzerModel()
                    {
                        Emailadresse = einBenutzer.Emailadresse,
                        Nachname     = einBenutzer.Nachname,
                        Vorname      = einBenutzer.Vorname
                    };
                    alleMitarbeitereinerFirma.Add(einMitarbeiter);
                }
            }
            dashboard.AlleMitarbeiter = alleMitarbeitereinerFirma;

            List <BuchungsAnzeigeModel> alleBuchungen = new List <BuchungsAnzeigeModel>();
            List <Rechnungsdetails>     rechnungsDetailsEinerBuchung = new List <Rechnungsdetails>();
            List <Buchungsdetails>      BuchungsDetailsVonFirma      = new List <Buchungsdetails>();

            List <Buchung> bookingsOfCompany = BuchungsVerwaltung.GebuchteRaeume((int)aktBenutzer.Firma_id);

            dashboard.AlleBuchungen = new List <BuchungsAnzeigeModel>();
            if (bookingsOfCompany != null)
            {
                foreach (var booking in bookingsOfCompany)
                {
                    BuchungsDetailsVonFirma = BuchungsVerwaltung.BuchungsDetailsVonBuchung(booking.Id);

                    Raum aktRaum = RaumVerwaltung.GesuchterRaum(booking.Raum_id);
                    BuchungsAnzeigeModel buchungsmodel = new BuchungsAnzeigeModel();
                    buchungsmodel.Id         = booking.Id;
                    buchungsmodel.Raumnummer = aktRaum.Bezeichnung;
                    buchungsmodel.RaumArt    = aktRaum.Art.Bezeichnung;

                    buchungsmodel.VonDatum = (from x in BuchungsDetailsVonFirma orderby x.Datum select x.Datum).FirstOrDefault();
                    buchungsmodel.BisDatum = (from x in BuchungsDetailsVonFirma orderby x.Datum descending select x.Datum).FirstOrDefault();

                    dashboard.AlleBuchungen.Add(buchungsmodel);
                }
            }

            else
            {
                log.Info("BenutzerController - Dashboard - keine Buchungen für die Firma vorhanden sind");
            }

            dashboard.AlleBuchungen = dashboard.AlleBuchungen.OrderBy(x => x.BisDatum).ToList();

            List <Rechnung> alleRechnungenEinerFirma = RechnungsVerwaltung.RechnungenEinerFirma((int)aktBenutzer.Firma_id);

            List <RechnungsModel> alleRechnungenAnzeigen = new List <RechnungsModel>();


            List <Buchungsdetails> buchungsDetailsDieInRechnungsDetailsvorkommen = new List <Buchungsdetails>();

            Buchungsdetails buchungsDetail = new Buchungsdetails();

            foreach (var rechnung in alleRechnungenEinerFirma)
            {
                List <Rechnungsdetails> RechnungsDetailsEinerRechnung = RechnungsVerwaltung.RechnungsDetailsEinerRechnung(rechnung.Id);
                foreach (var rechnungsDetail  in RechnungsDetailsEinerRechnung)
                {
                    buchungsDetail = RechnungsVerwaltung.BuchungsDetailEinerRechnung(rechnungsDetail.Buchungsdetail_Id);
                    buchungsDetailsDieInRechnungsDetailsvorkommen.Add(buchungsDetail);
                }
            }

            List <int> dates = new List <int>();

            foreach (var buchungsdetail in buchungsDetailsDieInRechnungsDetailsvorkommen)
            {
                if (!dates.Contains(buchungsDetail.Datum.Month))
                {
                    int date = buchungsDetail.Datum.Month;
                    dates.Add(date);
                }
            }

            List <RechnungsModel> alleRechnungen = new List <RechnungsModel>();

            foreach (var item in dates)
            {
                RechnungsModel RgModel = new RechnungsModel()
                {
                    Monat       = Monat(item),
                    Monatnummer = item
                };
                alleRechnungen.Add(RgModel);
            }
            ;


            dashboard.AlleRechnungen = alleRechnungen;

            return(View(dashboard));
        }