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"));
        }
        public ActionResult Bezahlen(int Monatnummer)
        {
            log.Info("Rechnung - Bezahlen - GET");

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

            List <Buchungsdetails> gesuchteBuchungsDetails = RechnungsVerwaltung.MonatsBuchungsDetails((int)aktBenutzer.Firma_id, Monatnummer);
            KreditkartenModel      KreditkartenVorlage     = new KreditkartenModel();

            foreach (var item in gesuchteBuchungsDetails)
            {
                if (KreditkartenVorlage.Rechnungsnummer == 0)
                {
                    Rechnungsdetails rgDeatail = RechnungsVerwaltung.RGDetailZuBuchung(item.Id);
                    KreditkartenVorlage.Rechnungsnummer = rgDeatail.Rechnung_Id;
                }
            }

            KreditkartenVorlage.KreditkartenBezeichnung = new List <KreditkartenArtModel>();
            List <Kreditkarte> alleKreditkarten = RechnungsVerwaltung.AlleKreditKarten();

            foreach (var kreditkarte in alleKreditkarten)
            {
                KreditkartenArtModel model = new KreditkartenArtModel()
                {
                    bezeichnung = kreditkarte.bezeichnung,
                    id          = kreditkarte.id
                };
                KreditkartenVorlage.KreditkartenBezeichnung.Add(model);
            }

            KreditkartenVorlage.Rechnungsbetrag = gesuchteBuchungsDetails.Sum(x => x.Preis);

            return(View(KreditkartenVorlage));
        }
        public ActionResult Bezahlen(KreditkartenModel model)
        {
            log.Info("Rechnung - Bezahlen - POST");
            Benutzer aktBenutzer = BenutzerAdministrator.GetUser(User.Identity.Name);

            if (ModelState.IsValid)
            {
                if (model.GültigBisJahr >= DateTime.Now.Year)
                {
                    if (model.GültigBisMonat >= DateTime.Now.Month)
                    {
                        if (checkLuhn(model.KreditKartenNummer))
                        {
                            RechnungsVerwaltung.RechnungIstBezahlt(model.Rechnungsnummer);
                        }
                        else
                        {
                            TempData[ConstStrings.SUCCESS_MESSAGE] = Validierungen.WurdeSchonBezahlt;
                        }
                    }
                }
            }



            return(RedirectToAction("Dashboard", "Benutzer"));
        }
        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"));
        }