Beispiel #1
0
        public ActionResult Create(BetalingAanmakenVM betalingAanmakenVM)
        {
            try
            {
                //lid ophalen uit viewmodel
                Lid lid = ledenService.LidWeergeven(ledenService.LidnummerMetPersoonsIdWeergeven(betalingAanmakenVM.PersoonsId));

                //abonnement ophalen a.d.h.v. het abonnementid van het lid
                Abonnement abonnement = abonnementenService.AbonnementWeergeven(lid.AbonnementId);

                //betaling ophalen uit viewmodel en bepaalde propperties hun waarde geven
                Betaling betaling = betalingAanmakenVM.Betaling;
                betaling.Lidnummer = lid.LidNummer;
                betaling.Bedrag    = abonnement.PrijsPerMaand;
                betalingenService.BetalingToevoegen(betaling);

                //terugsturen naar de index methode
                return(RedirectToAction("Index"));
            }
            //indien er iets misloopt wordt de error pagina weergegeven
            catch
            {
                ViewBag.Message = "Fout";
                return(View());
            }
        }
Beispiel #2
0
        public int BetalingsIdBepalen(int id)
        {
            //database connectie openen die automatisch gaat sluiten
            using (EagleFitContext ctx = new EagleFitContext())
            {
                //Indien er al een betaling in de database zit:
                if (ctx.Betalingen.Count() != 0)
                {
                    //laatste betalingen ophalen a.d.h.v. id
                    Betaling laatsteBetaling = ctx.Betalingen.OrderByDescending(b => b.BetalingsId).FirstOrDefault();

                    //het id van de laatste betalingen weergeven
                    int laatsteBetalingsId = laatsteBetaling.BetalingsId;

                    //1 optellen bij het laatste id en dit teruggeven
                    return(++laatsteBetalingsId);
                }

                //Indien er nog niks in de tabel betalingen van de database zit 1 teruggeven
                else
                {
                    return(1);
                }
            }
        }
Beispiel #3
0
        // GET: Betalingen/Details/5
        public ActionResult Details(int id)
        {
            try
            {
                //de gekozen betaling weergeven
                Betaling betaling = betalingenService.BetalingWeergeven(id);

                //het lid weergeven die bij de betaling hoort en aan de persoon propertie de persoon toevoegen
                Lid lid = ledenService.LidWeergeven(betaling.Lidnummer);
                lid.Persoon = personenService.PersoonWeergeven(lid.PersoonId);

                //viewmodel aanmaken met de betaling en het lid
                BetalingMetLidVM betalingMetLidVM = new BetalingMetLidVM()
                {
                    Betaling = betaling,
                    Lid      = lid
                };

                //de details pagina weergeven met de gegevens die we meegeven in het viewmodel
                return(View(betalingMetLidVM));
            }
            //indien er iets misloopt wordt de error pagina weergegeven
            catch
            {
                return(View("Error"));
            }
        }
Beispiel #4
0
        public void Find_Should_ReturnBetalingWithCertainPredicate_When_Predicate_IsGiven()
        {
            // Arrange
            Betaling betaling1 = new Betaling()
            {
                Bedrag      = 100.0m,
                BetaalDatum = DateTime.Now
            };
            Betaling betaling2 = new Betaling()
            {
                Bedrag      = 120.0m,
                BetaalDatum = DateTime.Now
            };

            _betaalContext.Betalingen.Add(betaling1);
            _betaalContext.Betalingen.Add(betaling2);
            _betaalContext.SaveChanges();

            // Act
            List <Betaling> result = _target.Find(b => b.Bedrag == 120.0m).ToList();

            // Assert
            Assert.AreEqual(1, result.Count);
            Assert.AreEqual(betaling2.Bedrag, result[0].Bedrag);
        }
Beispiel #5
0
        public void GetAll_ShouldReturnAllBetalingen()
        {
            // Arrange
            Betaling betaling1 = new Betaling()
            {
                Bedrag      = 100.0m,
                BetaalDatum = DateTime.Now
            };
            Betaling betaling2 = new Betaling()
            {
                Bedrag      = 120.0m,
                BetaalDatum = DateTime.Now
            };

            _betaalContext.Betalingen.Add(betaling1);
            _betaalContext.Betalingen.Add(betaling2);
            _betaalContext.SaveChanges();

            // Act
            List <Betaling> result = _target.GetAll().ToList();

            // Assert
            Assert.AreEqual(2, result.Count);
            Assert.AreEqual(100.0m, result[0].Bedrag);
            Assert.AreEqual(120.0m, result[1].Bedrag);
        }
 public ActionResult Betaling(Betaling innBetaling)
 {
     if (ModelState.IsValid)
     {
         return(RedirectToAction("CompletePurchase"));
     }
     return(View());
 }
Beispiel #7
0
    public void UpdateBetaling(Betaling betaling)
    {
        Betaling oldBetaling = this.GetBetalingById(betaling.Id);

        oldBetaling.Bedrag           = betaling.Bedrag;
        oldBetaling.StatusBetalingId = betaling.StatusBetalingId;
        db.SubmitChanges();
    }
Beispiel #8
0
 public ActionResult Edit(Betaling betaling)
 {
     if (ModelState.IsValid)
     {
         betalingen.Update(betaling);
         return RedirectToAction("Index");
     }
     return View(betaling);
 }
Beispiel #9
0
        public ActionResult EndreBetaling(int id = 0)
        {
            var      db       = new BrukerContext();
            Betaling betaling = db.Betalinger.Find(id);

            if (betaling == null)
            {
                return(HttpNotFound());
            }
            return(View(betaling));
        }
Beispiel #10
0
        public void BetalingWijzigen(Betaling betaling)
        {
            //database connectie openen die automatisch gaat sluiten
            using (EagleFitContext ctx = new EagleFitContext())
            {
                //de meegegeven betaling wijzigen
                ctx.Entry(betaling).State = EntityState.Modified;

                //de aanpassingen opslaan
                ctx.SaveChanges();
            }
        }
Beispiel #11
0
        public void BetalingToevoegen(Betaling betaling)
        {
            //database connectie openen die automatisch gaat sluiten
            using (EagleFitContext ctx = new EagleFitContext())
            {
                //de meegegeven betaling toevoegen aan de database
                ctx.Betalingen.Add(betaling);

                //de aanpassingen opslaan
                ctx.SaveChanges();
            }
        }
Beispiel #12
0
 public Kunde(string navn, string adresse, string email,
              int postNummer, int tlfNr, List <Sæde> bestilteSæder)
 {
     Navn          = navn;
     Adresse       = adresse;
     Email         = email;
     PostNummer    = postNummer;
     TlfNr         = tlfNr;
     Medlem        = false;
     BestilteSæder = bestilteSæder;
     Betaling      = new Betaling(1111111111111111, 111, DateTime.Now, "navn");
 }
Beispiel #13
0
    public int InsertExtraBetalingBijContract(int bedrag, int contractId)
    {
        Betaling betaling = new Betaling();

        betaling.Bedrag           = bedrag;
        betaling.ContractId       = contractId;
        betaling.StatusBetalingId = 1; //onbetaald default
        betaling.TypeBetalingId   = 4; //extra default

        db.Betalings.InsertOnSubmit(betaling);
        db.SubmitChanges();
        return(betaling.Id);
    }
Beispiel #14
0
        public ActionResult Slettbetaling(FormCollection slett, int id = 0)
        {
            var      db       = new BrukerContext();
            Betaling betaling = db.Betalinger.Find(id);

            if (betaling == null)
            {
                return(HttpNotFound());
            }
            db.Betalinger.Remove(betaling);
            db.SaveChanges();
            return(RedirectToAction("ListAlleBetalinger"));
        }
        public ActionResult Create(Inschrijving inschrijving)
        {
            if (ModelState.IsValid)
            {

                betalingType = betalingTypes.List.Where(x => x.SportklasseID == inschrijving.sportklasseId).First();
                betaling = new Betaling { Betaald = false, LidID = inschrijving.lidId, BetalingTypeID=betalingType.ID, Bedrag=betalingType.Bedrag};
                betalingen.Add(betaling);

                inschrijvingen.Add(inschrijving);

                return RedirectToAction("Index");
            }

            return View(inschrijving);
        }
Beispiel #16
0
        public ActionResult EndreBetaling(Betaling betaling)
        {
            var db = new BrukerContext();

            if (ModelState.IsValid)
            {
                using (db)
                {
                    var automatisk = new Betaling();
                    automatisk.personnummer  = HttpContext.Session["Personnummer"].ToString();
                    db.Entry(betaling).State = EntityState.Modified;
                    db.SaveChanges();
                    return(RedirectToAction("ListAlleBetalinger"));
                }
            }
            return(View(betaling));
        }
        public async Task <IActionResult> BetaalBestelling(Betaling betaling)
        {
            var command = new BetaalBestellingCommand
            {
                Bedrag       = betaling.Bedrag,
                BestellingId = betaling.Factuurnummer
            };
            var bestellingId =
                await _commandPublisher.Publish <int>(command, NameConstants.BetaalBestellingCommandQueue);

            if (bestellingId == 0)
            {
                return(BadRequest());
            }

            return(Ok());
        }
Beispiel #18
0
        public ActionResult Delete(Betaling betaling)
        {
            try
            {
                //de methode oproepen om de betaling te verwijderen
                betalingenService.BetalingVerwijderen(betaling.BetalingsId);

                //terugsturen naar de index methode
                return(RedirectToAction("Index"));
            }
            //indien er iets misloopt wordt de delete pagina opnieuw weergegeven met de betaling
            catch
            {
                ViewBag.Message = "Fout";
                return(View(betaling));
            }
        }
        private List <Betaling> ReadTables(DataTable dataTable)
        {
            List <Betaling> betaalwijzes = new List <Betaling>();

            foreach (DataRow dr in dataTable.Rows)
            {
                Betaling betaalwijze = new Betaling()
                {
                    Betaal_ID     = (int)dr["Betaal_ID"],
                    Order_ID      = (int)dr["Order_ID"],
                    BetaalMethode = (BetaalMethode)dr["Betaal_Methode"],
                    TotaalPrijs   = (int)dr["Prijs"],
                    Fooi          = (int)dr["Fooi"]
                };
                betaalwijzes.Add(betaalwijze);
            }
            return(betaalwijzes);
        }
        public async Task PlaatsNotExistingBestellingReturnsBadRequest()
        {
            var commandpublisherMock = new Mock <ICommandPublisher>(MockBehavior.Strict);

            commandpublisherMock.Setup(c => c.Publish <int>(It.Is <BetaalBestellingCommand>(b => b.BestellingId == 4059549 && b.Bedrag == 100m), NameConstants.BetaalBestellingCommandQueue, "")).ReturnsAsync(0).Verifiable();

            var controller = new BetalingenController(commandpublisherMock.Object);

            var betaling = new Betaling()
            {
                Bedrag        = 100m,
                Factuurnummer = 4059549
            };

            var result = await controller.BetaalBestelling(betaling);

            Assert.IsInstanceOfType(result, typeof(BadRequestResult));
        }
Beispiel #21
0
    public void InsertBetalingenBijContract(int aantalNachten, int aantalPersonen, int aantalTenten, int contractId)
    {
        Betaling betalingWaarborg  = new Betaling();
        Betaling betalingVoorschot = new Betaling();
        Betaling betalingRest      = new Betaling();
        double   bedrag            = 0;
        //==========!!!!!!!!!ook in pagina Periodeaanvragen.aspx.cs aanpassingen over prijzen doen bij textchanged personen textbox
        double voorschot = 250;
        //bedrag uitrekenen
        double berekendBedrag = aantalNachten * aantalPersonen * 3.5;

        //minimumbedrag sowieso > 2500, anders nachten*personen*3.5
        if (berekendBedrag < 2500)
        {
            bedrag = 2500;
        }
        else
        {
            bedrag = berekendBedrag;
        }

        //----------waarborg------------
        betalingWaarborg.Bedrag           = 500;
        betalingWaarborg.ContractId       = contractId;
        betalingWaarborg.StatusBetalingId = 1; //onbetaald default
        betalingWaarborg.TypeBetalingId   = 1; //waarborg
        db.Betalings.InsertOnSubmit(betalingWaarborg);

        //----------voorschot------------
        betalingVoorschot.Bedrag           = (int)(Math.Ceiling(voorschot));
        betalingVoorschot.ContractId       = contractId;
        betalingVoorschot.StatusBetalingId = 1; //onbetaald default
        betalingVoorschot.TypeBetalingId   = 2; //voorschot
        db.Betalings.InsertOnSubmit(betalingVoorschot);

        //----------restbedrag = bedrag-voorschot------------
        betalingRest.Bedrag           = (int)(Math.Ceiling(bedrag - voorschot));
        betalingRest.ContractId       = contractId;
        betalingRest.StatusBetalingId = 1; //onbetaald default
        betalingRest.TypeBetalingId   = 3; //restbedrag
        db.Betalings.InsertOnSubmit(betalingRest);

        db.SubmitChanges();
    }
Beispiel #22
0
        public void HandleBetalingVerwerken(Betaling betaling)
        {
            var klantnummer = _bestellingDataMapper.GetByFactuurnummer(betaling.Factuurnummer).Klantnummer;

            betaling.Klantnummer = klantnummer;
            try
            {
                _betalingDataMapper.Insert(betaling);
            }
            catch (Exception ex)
            {
                _logger.LogError("DB exception occured with factuurnummer: {0}", betaling.Factuurnummer);
                _logger.LogDebug(
                    "DB exception occured with betaling {}, it threw exception: {}. Inner exception: {}",
                    betaling, ex.Message, ex.InnerException?.Message
                    );
                throw new InvalidFactuurnummerException("Something unexpected happend while inserting into the database");
            }
            ProcessBestellingVerwerken(klantnummer);
        }
Beispiel #23
0
        public void Insert_ShouldInsertNewBetalingIntoTheDatabase()
        {
            // Arrange
            var betaling = new Betaling()
            {
                Bedrag        = 100.0m,
                BetaalDatum   = DateTime.Now,
                Factuurnummer = 1
            };

            // Act
            _target.Insert(betaling);

            // Assert
            var result = _betaalContext.Betalingen.SingleOrDefault(b => b.Factuurnummer == 1);

            Assert.AreEqual(betaling.Bedrag, result.Bedrag);
            Assert.AreEqual(betaling.BetaalDatum, result.BetaalDatum);
            Assert.AreEqual(betaling.Factuurnummer, result.Factuurnummer);
        }
Beispiel #24
0
        public ActionResult BetalingenPerLid(FormCollection form)
        {
            try
            {
                //betaling opvragen
                ValueProviderResult betalingOphalen = form.GetValue("item.BetalingsId");
                Betaling            betaling        = betalingenService.BetalingWeergeven(Convert.ToInt32(betalingOphalen.AttemptedValue));

                //betaling als betaald zetten
                betaling.Betaald = true;

                //betaling wijzigen
                betalingenService.BetalingWijzigen(betaling);

                //pagina weergeven van betalingen van de user
                string userId = User.Identity.GetUserId();
                return(View(betalingenService.AlleBetalingenVanLid(userId)));
            }
            //indien er iets misloopt wordt de error pagina weergegeven
            catch
            {
                return(View("Error"));
            }
        }
        public ActionResult SchrijfIn(int? id, int? lid)
        {
            if (id == null || lid == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }
            Inschrijving inschrijving = new Inschrijving { lidId = (int)lid, sportklasseId = (int)id, datumInschrijving = DateTime.Today};
            inschrijvingen.Add(inschrijving);

            betalingType = betalingTypes.List.Where(x => x.SportklasseID == inschrijving.sportklasseId).First();
            betaling = new Betaling { Betaald = false, LidID = inschrijving.lidId, BetalingTypeID = betalingType.ID, Bedrag = betalingType.Bedrag };
            betalingen.Add(betaling);

            return RedirectToAction("Index");
        }
Beispiel #26
0
    public Betaling GetBetalingById(int id)
    {
        Betaling betaling = (from item in db.Betalings where item.Id == id select item).Single <Betaling>();

        return(betaling);
    }
Beispiel #27
0
        public ActionResult Index(Betaling betaling)
        {
            BetaalViewModel betalen = new BetaalViewModel();
            betalen = new BetaalViewModel
            {
                betaaldeRekeningen = (from v in betalingen.List where v.Betaald.Equals(betaling.Betaald) select v)
            };

            return View(betalen.betaaldeRekeningen);
        }
Beispiel #28
0
 public void Update(Betaling entity)
 {
     throw new NotImplementedException();
 }
Beispiel #29
0
 public Betaling Insert(Betaling entity)
 {
     _context.Betalingen.Add(entity);
     _context.SaveChanges();
     return(entity);
 }
Beispiel #30
0
        public void ConfigureAuth(IAppBuilder app)
        {
            // Configure the db context, user manager and signin manager to use a single instance per request
            app.CreatePerOwinContext(ApplicationDbContext.Create);
            app.CreatePerOwinContext <ApplicationUserManager>(ApplicationUserManager.Create);
            app.CreatePerOwinContext <ApplicationSignInManager>(ApplicationSignInManager.Create);

            // Enable the application to use a cookie to store information for the signed in user
            // and to use a cookie to temporarily store information about a user logging in with a third party login provider
            // Configure the sign in cookie
            app.UseCookieAuthentication(new CookieAuthenticationOptions
            {
                AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
                LoginPath          = new PathString("/Account/Login"),
                Provider           = new CookieAuthenticationProvider
                {
                    // Enables the application to validate the security stamp when the user logs in.
                    // This is a security feature which is used when you change a password or add an external login to your account.
                    OnValidateIdentity = SecurityStampValidator.OnValidateIdentity <ApplicationUserManager, ApplicationUser>(
                        validateInterval: TimeSpan.FromMinutes(30),
                        regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
                }
            });
            app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);

            // Enables the application to temporarily store user information when they are verifying the second factor in the two-factor authentication process.
            app.UseTwoFactorSignInCookie(DefaultAuthenticationTypes.TwoFactorCookie, TimeSpan.FromMinutes(5));

            // Enables the application to remember the second login verification factor such as phone or email.
            // Once you check this option, your second step of verification during the login process will be remembered on the device where you logged in from.
            // This is similar to the RememberMe option when you log in.
            app.UseTwoFactorRememberBrowserCookie(DefaultAuthenticationTypes.TwoFactorRememberBrowserCookie);

            //datum en tijd weergeven van de moment dat de applicatie opstart
            DateTime vandaag     = DateTime.Now;
            DateTime vorigeMaand = vandaag.AddMonths(-1);

            //als we de 6de van de maand zijn of indien dit in het weeken ligt we de 7de of 8ste zijn:
            if (vandaag.Day == 7 && vandaag.DayOfWeek == DayOfWeek.Monday || vandaag.Day == 8 && vandaag.DayOfWeek == DayOfWeek.Monday || vandaag.Day == 6)
            {
                //per lid in de database gaan we:
                foreach (Lid lid in ledenService.AlleLedenWeergeven())
                {
                    lid.Persoon = personenService.PersoonWeergeven(lid.PersoonId);

                    //abonnement van lid opvragen
                    Abonnement abonnement = abonnementsService.AbonnementWeergeven(lid.AbonnementId);

                    //betaling aanmaken
                    Betaling betaling = new Betaling()
                    {
                        Bedrag       = abonnement.PrijsPerMaand,
                        Datum        = vandaag,
                        Lidnummer    = lid.LidNummer,
                        Omschrijving = $"{abonnement.Naam} {vorigeMaand.Month}"
                    };
                    betaling.BetalingsId = betalingenService.BetalingsIdBepalen(betaling.BetalingsId);

                    //betaling toevoegen aan database
                    betalingenService.BetalingToevoegen(betaling);

                    //melding van deze te betalen betaling doorsturen naar e-mail

                    IdentityMessage message = new IdentityMessage()
                    {
                        Body        = "Er is een nieuwe factuur voor uw abonnement van vorige maand in Eagle Fit",
                        Destination = lid.Persoon.Email,
                        Subject     = "Factuur Eagle Fit"
                    };
                    EmailExtensions.Send(message);

                    //te wijzigen abonnement op 0 staat, zo niet gaan we het abonnement wijzigen naar dit id en zetten we het te wijzigen id op 0, staat dit al op 0 gebeurt er niks
                    if (lid.TeWijzigenAbonnementId != 0)
                    {
                        lid.AbonnementId           = lid.TeWijzigenAbonnementId;
                        lid.TeWijzigenAbonnementId = 0;
                        ledenService.LidWijzigen(lid);
                    }
                }
            }
        }