public IActionResult Create(Werkaanbieding wa)
        {
            var result = _repository.AddWerkaanbieding(wa);
            var id     = wa.Id;

            return(CreatedAtRoute("GetWerkaanbieding", new { id = wa.Id }, wa));
        }
 public Werkaanbieding AddWerkaanbieding(Werkaanbieding aanbieding)
 {
     aanbieding.Werkgever   = _werkgeversRepository.GetWerkgever(aanbieding.Werkgever.Id);
     aanbieding.TagsStorage = String.Join(";", aanbieding.Tags);
     _werkaanbiedingen.Add(aanbieding);
     SaveChanges();
     return(aanbieding);
 }
        public ActionResult <Werkaanbieding> Update(int id, Werkaanbieding wa)
        {
            var result = _repository.UpdateWerkaanbieding(id, wa);

            return(result ?? (ActionResult <Werkaanbieding>)NotFound(new Dictionary <string, string>()
            {
                { "message", $"werkaanbieding with id: {id} not found" }
            }));
        }
        public Werkaanbieding UpdateWerkaanbieding(int id, Werkaanbieding werkaanbieding)
        {
            var wa = _werkaanbiedingen.Include(eenWerkaanbieding => eenWerkaanbieding.Werkgever).FirstOrDefault(w => w.Id == id);

            if (wa == null)
            {
                return(null);
            }

            wa.Omschrijving = werkaanbieding.Omschrijving;
            wa.Tags         = werkaanbieding.Tags;
            //wa.Projecten = werkaanbieding.Projecten;
            SaveChanges();

            return(wa);
        }
        public Werkaanbieding Delete(int id)
        {
            var wa     = _werkaanbiedingen.Include(eenWerkaanbieding => eenWerkaanbieding.Werkgever).FirstOrDefault(w => w.Id == id);
            var waCopy = new Werkaanbieding(wa.Omschrijving)
            {
                Id = wa.Id, Tags = wa.Tags, Werkgever = wa.Werkgever
            };

            if (wa == null)
            {
                return(null);
            }
            _werkaanbiedingen.Remove(wa);
            SaveChanges();
            return(waCopy);
        }