예제 #1
0
        public IActionResult ManagePOST(ManageArtistesViewModel manageArtistesViewModel)
        {
            if (ModelState.IsValid)
            {
                Artiste artiste = new Artiste
                {
                    IdArtiste     = (manageArtistesViewModel.Artiste.IdArtiste != 0) ? manageArtistesViewModel.Artiste.IdArtiste : 0,
                    Biographie    = manageArtistesViewModel.Artiste.Biographie,
                    Nom           = manageArtistesViewModel.Artiste.NomArtiste,
                    IdPays        = manageArtistesViewModel.Artiste.IdPays,
                    Pays          = _paysRepository.Find(manageArtistesViewModel.Artiste.IdPays),
                    DateNaissance = manageArtistesViewModel.Artiste.DateNaissance
                };

                if (manageArtistesViewModel.Artiste.IdArtiste != 0)
                {
                    _artisteRepository.Update(artiste);
                }
                else
                {
                    _artisteRepository.Add(artiste);
                }

                return(RedirectToAction(nameof(ArtistesController.Index), "Artistes", new { area = "Administration" }));
            }
            else
            {
                InitializePaysList(manageArtistesViewModel);
                return(this.View(nameof(ArtistesController.Manage), manageArtistesViewModel));
            }
        }
예제 #2
0
 /// <summary>
 /// Intialize la liste d'artiste
 /// </summary>
 private void InitializePaysList(ManageArtistesViewModel manage)
 {
     //Initialize un SelectList pour asp-for dans la vue. Le premier paramètre est la liste à convertir, le deuxième est la propriété que l'on va afficher dans la liste, le troisième est la valeur affecter à une ligne
     //Le dernier paramètre est égal à l'artiste du titre si c'est un edit sinon c'est égal à null
     manage.Pays = new SelectList(_paysRepository.FindAll().Select(vm => new Pays {
         IdPays = vm.IdPays, Nom = vm.Nom
     }), nameof(Pays.IdPays), nameof(Pays.Nom), _paysRepository.Find(manage.Artiste.IdPays));
 }
예제 #3
0
        /// <summary>
        /// Permet d'initliaze la liste d'artistes et de styles avec id du titre en paramètre si edit et null si create
        /// </summary>
        private ManageArtistesViewModel InitializeList(int?id)
        {
            ManageArtistesViewModel artistesMAVM = new ManageArtistesViewModel();

            artistesMAVM.Artiste = new ArtisteViewModel {
                IdArtiste = (id.HasValue) ? (int)id : 0
            };
            if (id.HasValue)
            { //Si la valeur id n'est pas égal à null, la propriété Titre est affecté.
                Artiste artiste = _artisteRepository.Find((int)id);
                artistesMAVM.Artiste.NomArtiste    = artiste.Nom;
                artistesMAVM.Artiste.Biographie    = artiste.Biographie;
                artistesMAVM.Artiste.IdPays        = artiste.IdPays;
                artistesMAVM.Artiste.DateNaissance = artiste.DateNaissance;
            }
            InitializePaysList(artistesMAVM);
            return(artistesMAVM);
        }