Ejemplo n.º 1
0
        public ActionResult <Owner> PostOwner(Request request)
        {
            // Create owner object
            Owner owner = new Owner
            {
                Adress      = request.Adress,
                BSN         = request.BSN,
                Email       = request.Email,
                Gemeente    = request.Gemeente,
                Name        = request.Name,
                PhoneNumber = request.PhoneNumber,
                ValidInfo   = request.ValidInfo
            };

            // Check if vacationadress is already registered
            string encryptedAdress = Application.Encryption.Encryption.Encrypt(request.AdressToRegister);

            if (_context.Registrations.Any(o => o.Adress == encryptedAdress))
            {
                return(Ok("Het vakantieadres is al ingeschreven"));
            }

            // check if user exists --> add extra registration for new VacationAdress
            string encryptedBSN = Application.Encryption.Encryption.Encrypt(owner.BSN);

            if (_context.Owners.Any(o => o.BSN == encryptedBSN))
            {
                var personExists = _context.Owners.Where(o => o.BSN == encryptedBSN)
                                   .Include(o => o.Registrations)
                                   .FirstOrDefault();
                var update = new Application.Owners.DataAccess(_context);
                update.AddAdress(personExists, request.AdressToRegister);
                return(Ok(personExists.Registrations.LastOrDefault().RegistrationNumber));
            }

            try
            {
                owner.Registrations = new List <Registration>();
                var datainstance = new Application.Owners.DataAccess(_context);
                var mailinstance = new Application.mailservice.mailservice();
                datainstance.CreateEncrypedOwner(owner, request.AdressToRegister);
                mailinstance.SendMail(owner);

                return(Ok(owner.Registrations.FirstOrDefault().RegistrationNumber));
            }
            catch
            {
                return(BadRequest("Not good sir!!"));
            }
        }
Ejemplo n.º 2
0
        public ActionResult <Owner> Get(string bsn)
        {
            try
            {
                var encryptedBSN = Application.Encryption.Encryption.Encrypt(bsn);
                var owners       = _context.Owners
                                   .Where(p => p.BSN.Equals(encryptedBSN))
                                   .Include(p => p.Registrations)
                                   .FirstOrDefault();

                var instance       = new Application.Owners.DataAccess(_context);
                var decryptedOwner = instance.GetDecrypedOwner(owners);

                return(Ok(decryptedOwner));
            }
            catch
            {
                return(Ok("Geen geldig BSN nummer. Probeer een ander BSN nummer"));
            }
        }