//public ActionResult AddActivity(FormCollection coll) public ActionResult AddActivity(Activiteit activiteit, string video, string TagsString, string BenodigdhedenString, HttpPostedFileBase AfbeeldingFile, string Prijs, int? BoekId, List<HttpPostedFileBase> images, string bestaandefotos) { //TODO: lijst van de geselecteerde afbeeldingen ModelState.Remove("Id"); ModelState.Remove("Prijs"); if (!BoekId.HasValue) return RedirectToAction("Index"); if (bs.GetBoekByID((int)BoekId) == null) return RedirectToAction("index"); if (!ModelState.IsValid) return RedirectToAction("Boek", new { id = (int)BoekId }); if (bs.GetPoiById(activiteit.PoiId) == null) return RedirectToAction("Boek", new { id = (int)BoekId }); String[] tags = TagsString.Split(','); List<Models.OmgevingsBoek_Models.Tag> tagList = new List<Models.OmgevingsBoek_Models.Tag>(); foreach (string t in tags) { if (t == "") continue; tagList.Add(bs.InsertTag(t)); } String[] benodigdheden = BenodigdhedenString.Split(','); List<Benodigdheid> benodigdhedenList = new List<Benodigdheid>(); foreach (string b in benodigdheden) { if (b == "") continue; benodigdhedenList.Add(bs.InsertBenodigdheid(b)); } if (activiteit.Id == 0) { Activiteit NieuweActiviteit = new Activiteit() { Naam = activiteit.Naam, EigenaarId = bs.GetUser(User.Identity.Name).Id, MaxLeeftijd = activiteit.MaxLeeftijd, MinLeeftijd = activiteit.MinLeeftijd, Prijs = activiteit.Prijs, DitactischeToelichting = activiteit.DitactischeToelichting, MinDuur = activiteit.MinDuur, MaxDuur = activiteit.MaxDuur, PoiId = activiteit.PoiId, Uitleg = activiteit.Uitleg, Benodigdheden = benodigdhedenList, Tags = tagList, AfbeeldingNaam = activiteit.AfbeeldingNaam }; if(video != null){ NieuweActiviteit.Videos = new List<Video>(); NieuweActiviteit.Videos.Add(new Video() { Naam = video }); } NieuweActiviteit.Boeken = new List<Boek>(); NieuweActiviteit.Boeken.Add(bs.GetBoekByID((int)BoekId)); Activiteit p = bs.InsertActiviteit(NieuweActiviteit); if (p.Id > 0) { if (AfbeeldingFile != null) { if (AfbeeldingFile.ContentLength > 10000000) return RedirectToAction("Boek", new { id = (int)BoekId }); try { flickr.UploadPictureAsync(AfbeeldingFile.InputStream, activiteit.Naam, activiteit.Naam, "", "", false, false, false, ContentType.Photo, SafetyLevel.Safe, HiddenFromSearch.Hidden, (res) => { if (!res.HasError) { flickr.PhotosetsAddPhoto(ConfigurationManager.AppSettings.Get("FlickrActiviteitenAlbumId"), res.Result); PhotoInfo fotoInfo = flickr.PhotosGetInfo(res.Result); bs.UpdateActiviteitFoto(p.Id, fotoInfo.MediumUrl); } }); } catch (Exception ex) { //return RedirectToAction("Index"); } } if (images != null) { try { foreach (HttpPostedFileBase image in images) { if (image.ContentLength > 10000000) continue; //nog fouten met meerdere afbeeldingen flickr.UploadPictureAsync(image.InputStream, activiteit.Naam, activiteit.Naam, "", "", false, false, false, ContentType.Photo, SafetyLevel.Safe, HiddenFromSearch.Hidden, (res) => { if (!res.HasError) { PhotoInfo info = flickr.PhotosGetInfo(res.Result); bs.AddFotoToActiviteit(p.Id, info.LargeUrl); } }); } } catch (Exception ex) { //return RedirectToAction("Index"); } } } } else { Activiteit origineeleActiviteit = bs.GetActiviteitById(activiteit.Id); if (origineeleActiviteit == null) return RedirectToAction("Boek", new { id = (int)BoekId }); if (origineeleActiviteit.Eigenaar.UserName != User.Identity.Name) return RedirectToAction("Boek", new { id = (int)BoekId }); if (bestaandefotos != null) { string[] bf = bestaandefotos.Split(','); for (int i = 0; i < bf.Length; i++) { bf[i] = bf[i].Trim(); } foreach (Foto f in origineeleActiviteit.Fotos) { if (!bestaandefotos.Contains(f.FotoUrl)) origineeleActiviteit.Fotos.Remove(f); } } Activiteit NieuweActiviteit = new Activiteit() { Id = activiteit.Id, Naam = activiteit.Naam, MaxLeeftijd = activiteit.MaxLeeftijd, MinLeeftijd = activiteit.MinLeeftijd, Prijs = activiteit.Prijs, DitactischeToelichting = activiteit.DitactischeToelichting, MinDuur = activiteit.MinDuur, MaxDuur = activiteit.MaxDuur, PoiId = activiteit.PoiId, Uitleg = activiteit.Uitleg, Benodigdheden = benodigdhedenList, Tags = tagList, AfbeeldingNaam = activiteit.AfbeeldingNaam, Fotos = origineeleActiviteit.Fotos }; bs.UpdateActiviteit(NieuweActiviteit); if (AfbeeldingFile != null) { if (AfbeeldingFile.ContentLength > 10000000) return RedirectToAction("Boek", new { id = (int)BoekId }); try { flickr.UploadPictureAsync(AfbeeldingFile.InputStream, activiteit.Naam, activiteit.Naam, "", "", false, false, false, ContentType.Photo, SafetyLevel.Safe, HiddenFromSearch.Hidden, (res) => { if (!res.HasError) { flickr.PhotosetsAddPhoto(ConfigurationManager.AppSettings.Get("FlickrActiviteitenAlbumId"), res.Result); PhotoInfo fotoInfo = flickr.PhotosGetInfo(res.Result); bs.UpdateActiviteitFoto(NieuweActiviteit.Id, fotoInfo.MediumUrl); } }); } catch (Exception ex) { //return RedirectToAction("Index"); } } if (images != null) { try { foreach (HttpPostedFileBase image in images) { if (image.ContentLength > 10000000) return RedirectToAction("Boek", new { id = (int)BoekId }); //TODO: Dit hier fixen flickr.UploadPictureAsync(image.InputStream, activiteit.Naam, activiteit.Naam, "", "", false, false, false, ContentType.Photo, SafetyLevel.Safe, HiddenFromSearch.Hidden, (res) => { if (!res.HasError) { PhotoInfo info = flickr.PhotosGetInfo(res.Result); bs.AddFotoToActiviteit(NieuweActiviteit.Id, info.LargeUrl); } }); Thread.Sleep(5); } } catch (Exception ex) { //return RedirectToAction("Index"); } } } return RedirectToAction("Boek", new { id = (int)BoekId }); }
public Activiteit InsertActiviteit(Activiteit activiteit) { return repoActiviteit.Insert(activiteit); }
public void UpdateActiviteit(Activiteit activiteit) { repoActiviteit.UpdateActiviteit(activiteit); }
public void DeleteActiviteit(Activiteit entityToDelete) { repoActiviteit.Delete(entityToDelete); }