internal static List <Relatie> Map(Models.Persoon hoofdpersoon, ICollection <Ouder> brpOuders)
        {
            var            o        = brpOuders;
            List <Relatie> relaties = new List <Relatie>();

            foreach (var ouder in brpOuders)
            {
                var r = new Relatie
                {
                    Persoon        = hoofdpersoon,
                    SoortRelatie   = enmSoortRelatie.kindVan,
                    PersoonRelatie = new Models.Persoon
                    {
                        Aanhef                 = ouder.Aanhef,
                        Aanschrijfwijze        = ouder.Aanschrijfwijze,
                        Burgerservicenummer    = ouder.Burgerservicenummer,
                        DatumGeboorte          = ouder.DatumGeboorte,
                        DatumGeboorteBevolking = ouder.DatumGeboorteBevolking,
                        DatumOverlijden        = ouder.DatumOverlijden,
                        Geboorteland           = ouder.Geboorteland,
                        Geheim                 = ouder.Geheim,
                        Geslacht               = (enmGeslacht)ouder.Geslacht,
                        Naam           = ouder.Naam,
                        Nationaliteit1 = ouder.Nationaliteit1,
                        Nationaliteit2 = ouder.Nationaliteit2,
                        Voorletters    = ouder.Voorletters,
                        Voornamen      = ouder.Voornamen,
                        Voorvoegsels   = ouder.Voorvoegsels
                    }
                };

                relaties.Add(r);
            }
            return(relaties);
        }
예제 #2
0
        public async Task <ActionResult <Relatie> > PutRelatie(int id, Relatie relatie)
        {
            if (id != relatie.RelatieID)
            {
                return(BadRequest());
            }

            _context.Entry(relatie).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!RelatieExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }
            return(NoContent());
        }
        public Relatie InsertRelatie(Relatie r)
        {
            Relatie result = repoRelatie.Insert(r);

            repoRelatie.SaveChanges();
            return(result);
        }
예제 #4
0
        public Relatie Read(int id)
        {
            Relatie relatie = _db.Relaties
                              .Where(r => r.RelatieId == id)
                              .FirstOrDefault();

            return(relatie);
        }
예제 #5
0
        public int Create(Relatie relatie)
        {
            _db.Relaties.Add(relatie);

            _db.SaveChanges();

            return(relatie.RelatieId);
        }
예제 #6
0
        public async Task <ActionResult <Relatie> > PostRelatie(RelatieDto relatieDto)
        {
            var relatie          = new Relatie();
            var bestaatGebruiker = _context.Gebruikers.SingleOrDefault(g => g.Email == relatieDto.Email && g.GebruikerID != relatieDto.ZenderID);

            if (bestaatGebruiker == null)
            {
                return(BadRequest(new { message = "Er is geen gebruiker met dit e-mailadres!(Of je voegde jezelf toe als vriend :) )" }));

                //var apiKey = Environment.GetEnvironmentVariable("SENDGRID_API_KEY");
                //var client = new SendGridClient(apiKey);
                //var from = new EmailAddress("*****@*****.**", "Brecht Snoeck");
                //var subject = "Sending with SendGrid is Fun";
                //var to = new EmailAddress("*****@*****.**", "Brecht");
                //var plainTextContent = "and easy to do anywhere, even with C#";
                //var htmlContent = "<strong>and easy to do anywhere, even with C#</strong>";
                //var msg = MailHelper.CreateSingleEmail(from, to, subject, plainTextContent, htmlContent);
                //var response = await client.SendEmailAsync(msg);

                //return relatie;
            }
            else
            {
                var bestaatRelatie1 = _context.Relaties.SingleOrDefault(r => r.GebruikerID_1 == relatieDto.ZenderID && r.GebruikerID_2 == bestaatGebruiker.GebruikerID);
                var bestaatRelatie2 = _context.Relaties.SingleOrDefault(r => r.GebruikerID_1 == bestaatGebruiker.GebruikerID && r.GebruikerID_2 == relatieDto.ZenderID);
                if (bestaatRelatie1 == null && bestaatRelatie2 == null)
                {
                    relatie = new Relatie
                    {
                        GebruikerID_1 = relatieDto.ZenderID,
                        GebruikerID_2 = bestaatGebruiker.GebruikerID,
                        status        = false
                    };
                    _context.Relaties.Add(relatie);
                    await _context.SaveChangesAsync();

                    return(CreatedAtAction("GetRelaties", new { id = relatie.RelatieID }, relatie));
                }
                else
                {
                    if (bestaatRelatie2 == null)
                    {
                        return(BadRequest(new { message = "Je bent al toegevoegd door deze persoon! Kijk of je hieronder een verzoek kreeg!" }));
                    }
                    else
                    {
                        return(BadRequest(new { message = "Je hebt deze gebruiker al toegevoegd als vriend! Het verzoek moet nog geacepteerd worden!" }));
                    }
                }
            }
        }
예제 #7
0
 public ActionResult NewRelatie(Relatie r)
 {
     ks.InsertRelatie(r);
     return(RedirectToAction("Index"));
 }
예제 #8
0
        public void Delete(Relatie relatie)
        {
            _db.Relaties.Remove(relatie);

            _db.SaveChanges();
        }
예제 #9
0
 public int Update(Relatie relatie)
 {
     throw new NotImplementedException();
 }