public static Bedrijf createBedrijf(String bedrijfnaam, String activiteit, Boolean perAuto,Boolean openbVervoer,
            String url, String straat, int nummer, String woonplaats, String telefoon, String email,IGemeenteRepository gemeenteRepo)
        {
            Gemeente g = gemeenteRepo.FindGemeenteWithStructuur(woonplaats);
            Adres adres = AddAdres(straat, nummer, g);

            Bedrijf bedrijf = new Bedrijf()
            {
                Bedrijfsnaam = bedrijfnaam,
                Activiteit = activiteit,
                Openbaarvervoer = openbVervoer,
                PerAuto =  perAuto,
                Url = url,
                Telefoon = telefoon,
                UserName = email,
                Adres = adres
            };

            return bedrijf;
        }
        public static Opdracht CreateOpdrachtWhereAdresIsCompanyAdres(int aantalStudent,String schooljaar,String semesters,
            String title,String omschijving,String vaardigheden, String specialisatie,Bedrijf bedrijf,
            ISpecialisatieRepository repo,IGemeenteRepository gemeenteRepository,IStatusRepository statusRepository)
        {
            bool sem1 = false;
            bool sem2 = false;
            Adres adres = null;
            if (semesters.Equals("Semester 1"))
            {
                sem1 = true;
            }
            else if (semesters.Equals("Semester 2"))
            {
                sem2 = true;
            }
            else
            {
                sem1 = true;
                sem2 = true;
            }
            Status status = statusRepository.FindStatusWithId(1);

            Opdracht o = new Opdracht()
            {
                AantalStudenten = aantalStudent,
                Schooljaar = schooljaar,
                Omschrijving = omschijving,
                Vaardigheden = vaardigheden,
                IsSemester1 = sem1,
                IsSemester2 = sem2,
                Title = title,
                //Ondertekenaar = bedrijf.FindContactPersoon(viewModel.ContractOndertekenaar),
                //StageMentor = bedrijf.FindContactPersoon(viewModel.StageMentor),
                Specialisatie = repo.FindSpecialisatieNaam(specialisatie),
                Adres = bedrijf.Adres,
                Status = status

            };
            return o;
        }
 public IList<Opdracht> SearchHelper(Bedrijf bedrijf,String search = null, String select = null)
 {
     int year = DateTime.Now.Year;
     int month = DateTime.Now.Month;
     if (select != null)
     {
         if (select.Equals("Alle opdrachten"))
         {
             bedrijf.AddStrategy(new SearchByAll());
             return bedrijf.SearchResult(bedrijf.GetListOfActiveOpdrachten(year, month), search);
         }
         else if (select.Equals("Uit archief"))
         {
             bedrijf.AddStrategy(new SearchByAll());
             return bedrijf.SearchResult(bedrijf.GetArchive(year), search);
         }
         else if (select.Equals("per contactpersoon"))
         {
             bedrijf.AddStrategy(new SearchByContact());
             return bedrijf.SearchResult(bedrijf.Opdrachten.ToList(), search);
         }
         else if (select.Equals("per schooljaar"))
         {
             bedrijf.AddStrategy(new SearchBySchooljaar());
             return bedrijf.SearchResult(bedrijf.Opdrachten.ToList(), search);
         }
         else if (select.Equals("uit goedgekeurde opdrachten"))
         {
             bedrijf.AddStrategy(new SearchByStatus(3));
             return bedrijf.SearchResult(bedrijf.Opdrachten.ToList(), search);
         }
         else if (select.Equals("uit pending opdrachten"))
         {
             bedrijf.AddStrategy(new SearchByStatus(1));
             return bedrijf.SearchResult(bedrijf.Opdrachten.ToList(), search);
         }
         else if (select.Equals("uit afgekeurde opdrachten"))
         {
             bedrijf.AddStrategy(new SearchByStatus(2));
             return bedrijf.SearchResult(bedrijf.Opdrachten.ToList(), search);  
         }
         else if (select.Equals("op specialisatie"))
         {
             bedrijf.AddStrategy(new SearchByStatus.SearchBySpecialisatie());
             return bedrijf.SearchResult(bedrijf.Opdrachten.ToList(), search);
         }
         else
         {
             if (search == null)
             {
                 return bedrijf.GetListOfActiveOpdrachten(year, month).OrderBy(o => o.Schooljaar).ToList();
             }
             else
             {
                 bedrijf.AddStrategy(new SearchByAll());
                 return bedrijf.SearchResult(bedrijf.Opdrachten.ToList(), search);
             }
         }
     }
     else
     {
         if (search == null)
         {
             return bedrijf.GetListOfActiveOpdrachten(year, month).OrderBy(o => o.Schooljaar).ToList();
         }
         else
         {
             bedrijf.AddStrategy(new SearchByAll());
             return bedrijf.SearchResult(bedrijf.Opdrachten.ToList(), search);
         }
     }
 }
        private void ViewModelToOpdracht(OpdrachtViewModel model, Opdracht opdracht, Bedrijf b)
        {
            if (model.Semesters.Equals("Semester 1"))
            {
                opdracht.IsSemester1 = true;
                opdracht.IsSemester2 = false;
            }
            else if (model.Semesters.Equals("Semester 2"))
            {
                opdracht.IsSemester2 = true;
                opdracht.IsSemester1 = false;
            }
            else
            {
                opdracht.IsSemester1 = true;
                opdracht.IsSemester2 = true;
            }

            if (model.IsBedrijfAdres)
            {
                opdracht.Adres = b.Adres;
            }
            else
            {
                opdracht.Adres = new Adres()
                {
                    StraatNaam = model.Straat,
                    Nummer = (int) model.Nummer,
                    Gemeente = gemeenteRepository.FindGemeenteWithStructuur(model.Gemeente)
                };
            }
            opdracht.Title = model.Title;
            opdracht.Omschrijving = model.Omschrijving;
            opdracht.Schooljaar = model.Schooljaar;
            opdracht.Vaardigheden = model.Vaardigheden;
            opdracht.Specialisatie = specialisatieRepository.FindSpecialisatieNaam(model.Schooljaar);
            opdrachtRepository.SaveChanges();
        }
 public void Add(Bedrijf bedrijf)
 {
     bedrijven.Add(bedrijf);
 }