// GET: Evento/Edit/5
        public ActionResult Edit(int LocalitaId, int EsitoId, int GravitaId, int TipoEventoId, int TipoVittimaId, int MandanteId, int eventoId)
        {
            var eventoDto       = _eventoFeRepository.GetEvento(eventoId);
            var listaAutori     = new ListaAutori(_autoreFeRepository.GetAutori().ToList());
            var eventoViewModel = new CreateUpdateEventoViewModel
            {
                Evento = eventoDto,
                AutoriSelectListItems = listaAutori.GetListaAutori(_autoreFeRepository.GetAutoriFromAnEvent(eventoId)
                                                                   .Select(a => a.AutoreId).ToList()),
            };

            return(View(eventoViewModel));
        }
        public ActionResult Edit(IEnumerable <int> listaAutoriId, int tipoVittimaId, int localitaId, int gravitaId,
                                 int esitoId, int tipoEventoId, int mandanteId, CreateUpdateEventoViewModel eventoToUpdate)
        {
            using (var client = new HttpClient())
            {
                var evento = new Evento()
                {
                    EventoId       = eventoToUpdate.Evento.EventoId,
                    NomeEvento     = eventoToUpdate.Evento.NomeEvento,
                    DataOraInizio  = eventoToUpdate.Evento.DataOraInizio,
                    DataOraFine    = eventoToUpdate.Evento.DataOraFine,
                    NrDecessi      = eventoToUpdate.Evento.NrDecessi,
                    NrVittime      = eventoToUpdate.Evento.NrVittime,
                    NrFeriti       = eventoToUpdate.Evento.NrFeriti,
                    NoteVarie      = eventoToUpdate.Evento.NoteVarie,
                    Mediatore      = eventoToUpdate.Evento.Mediatore,
                    FFSpeciali     = eventoToUpdate.Evento.FFSpeciali,
                    Polizia        = eventoToUpdate.Evento.Polizia,
                    VigiliDelFuoco = eventoToUpdate.Evento.VigiliDelFuoco
                };

                var uriParameters = GetVirtualPropertyUri(listaAutoriId.ToList(), tipoVittimaId, localitaId, gravitaId, esitoId, tipoEventoId, mandanteId);

                client.BaseAddress = new Uri("https://localhost:44357/api/");
                var responseTask = client.PutAsJsonAsync($"eventi/{evento.EventoId}?{uriParameters}", evento);
                responseTask.Wait();

                var result = responseTask.Result;

                if (result.IsSuccessStatusCode)
                {
                    TempData["SuccessMessage"] = $"Evento {evento.NomeEvento} è stato aggiornato con successo.";
                    return(RedirectToAction("Index", "Evento"));
                }

                else
                {
                    ModelState.AddModelError("", "Errore! Evento non creato!");
                }
            }

            var listaAutori = new ListaAutori(_autoreFeRepository.GetAutori().ToList());

            eventoToUpdate.AutoriSelectListItems = listaAutori.GetListaAutori(listaAutoriId.ToList());
            eventoToUpdate.listaAutoriId         = listaAutoriId.ToList();

            return(View(eventoToUpdate));
        }
        // GET: Evento/Create
        public ActionResult Create()
        {
            var autori = _autoreFeRepository.GetAutori();

            if (autori.Count() <= 0)
            {
                ModelState.AddModelError("", "Qualche tipo di errore nell'ottenere autori");
            }

            var listaAutori = new ListaAutori(autori.ToList());

            var createUpdateEvento = new CreateUpdateEventoViewModel
            {
                AutoriSelectListItems = listaAutori.GetListaAutori(),
            };

            return(View(createUpdateEvento));
        }