public IActionResult Create(TitleViewModel titreVM) { try { titreVM.Titre.TitresStyles = new List <TitreStyle>(); if (titreVM.StylesChecked != null) { foreach (int idStyle in titreVM.StylesChecked) { Style style = _styleRepository.Find(idStyle); if (style != null) { TitreStyle titreStyle = new TitreStyle() { IdStyle = idStyle, IdTitre = titreVM.Titre.IdTitre }; titreVM.Titre.TitresStyles.Add(titreStyle); } } } _titreRepository.Add(titreVM.Titre); return(RedirectToAction(nameof(Index))); } catch { return(View()); } }
public IActionResult PostTitre(Titre titre) { try { _titreRepository.Add(titre); return(CreatedAtAction("GetTitre", new { id = titre.IdTitre }, titre)); } catch (Exception e) { throw; return(StatusCode(500, e)); } }
public IActionResult PostTitre([FromBody] Titre titre) { try { _titreRepository.Add(titre); return(Ok(JsonConvert.DeserializeObject <Titre>(JsonConvert.SerializeObject(_titreRepository.Find(titre.IdTitre), Formatting.Indented, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore })))); } catch (Exception e) { return(StatusCode(500, e)); } }
public IActionResult ManagePOST(ManageTitresViewModel manageTitresViewModel) { if (ModelState.IsValid) { //Get selected and affect them in new list of style List <Style> styles = new List <Style>(); Titre titre = new Titre((manageTitresViewModel.Titre.IdTitre != 0) ? manageTitresViewModel.Titre.IdTitre : 0, manageTitresViewModel.Titre.IdArtiste, _artisteRepository.Find(manageTitresViewModel.Titre.IdArtiste), manageTitresViewModel.Titre.Chronique, manageTitresViewModel.Titre.Album, manageTitresViewModel.Titre.DateSortie, manageTitresViewModel.Titre.Duree, manageTitresViewModel.Titre.NomTitre, manageTitresViewModel.Titre.NbLectures, manageTitresViewModel.Titre.NbLikes, manageTitresViewModel.Titre.UrlEcoute, manageTitresViewModel.Titre.UrlJaquette); var liens = Request.Form["style.IdStyle"].Select(id => new LienStyle { IdTitre = (manageTitresViewModel.Titre.IdTitre != 0) ? manageTitresViewModel.Titre.IdTitre : 0, Titre = titre, IdStyle = Convert.ToInt32(id), Style = _styleRepository.Find(Convert.ToInt32(id)) }).ToList(); titre.LienStyle = liens; if (manageTitresViewModel.Titre.IdTitre != 0) { _titreRepository.Update(titre); } else { _titreRepository.Add(titre); } return(RedirectToAction(nameof(TitresController.Index), "Titres", new { area = "Administration" })); } else { InitializeArtistesList(manageTitresViewModel); //Get already selected and affect them in new list of styleviewmodel to display them again manageTitresViewModel.Titre.Styles = Request.Form["style.IdStyle"].ToList().Select(vm => { Style style = _styleRepository.Find(Convert.ToInt32(vm)); return(new StylesViewModel { IdStyle = style.IdStyle, Libelle = style.Libelle, Checked = true }); }).ToList(); InitializeStyleList(manageTitresViewModel); return(this.View(nameof(TitresController.Manage), manageTitresViewModel)); } }