示例#1
0
        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());
            }
        }
示例#2
0
 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));
     }
 }
示例#3
0
 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));
     }
 }
示例#4
0
        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));
            }
        }