Example #1
0
 public IActionResult EditTitre(int id, Titre titre)
 {
     if (id != titre.IdTitre)
     {
         return(BadRequest());
     }
     try
     {
         _titreRepository.Update(titre);
         return(Ok());
     }
     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));
            }
        }
Example #3
0
        public IActionResult Edit(TitleViewModel titreVM)
        {
            try
            {
                Titre titre = _titreRepository.Find(titreVM.Titre.IdTitre);
                titre.Libelle      = titreVM.Titre.Libelle;
                titre.UrlEcoute    = titreVM.Titre.UrlEcoute;
                titre.UrlJaquette  = titreVM.Titre.UrlJaquette;
                titre.Chronique    = titreVM.Titre.Chronique;
                titre.Album        = titreVM.Titre.Album;
                titre.DateSortie   = titreVM.Titre.DateSortie;
                titre.IdArtiste    = titreVM.Titre.IdArtiste;
                titre.Duree        = titreVM.Titre.Duree;
                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
                            };
                            titre.TitresStyles.Add(titreStyle);
                        }
                    }
                }

                _titreRepository.Update(titre);
                return(RedirectToAction(nameof(Index)));
            }
            catch (Exception e)
            {
                return(RedirectToAction(nameof(Index)));
            }
        }