// 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 Create(IEnumerable <int> listaAutoriId, int tipoVittimaId, int localitaId, int gravitaId, int esitoId, int tipoEventoId, int mandanteId, CreateUpdateEventoViewModel eventoToCreate)
        {
            using (var client = new HttpClient())
            {
                var evento = new Evento()
                {
                    NomeEvento     = eventoToCreate.Evento.NomeEvento,
                    DataOraInizio  = eventoToCreate.Evento.DataOraInizio,
                    DataOraFine    = eventoToCreate.Evento.DataOraFine,
                    NrDecessi      = eventoToCreate.Evento.NrDecessi,
                    NrVittime      = eventoToCreate.Evento.NrVittime,
                    NrFeriti       = eventoToCreate.Evento.NrFeriti,
                    NoteVarie      = eventoToCreate.Evento.NoteVarie,
                    Mediatore      = eventoToCreate.Evento.Mediatore,
                    FFSpeciali     = eventoToCreate.Evento.FFSpeciali,
                    Polizia        = eventoToCreate.Evento.Polizia,
                    VigiliDelFuoco = eventoToCreate.Evento.VigiliDelFuoco
                };

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

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

                var result = responseTask.Result;

                if (result.IsSuccessStatusCode)
                {
                    var readTaskNewEvento = result.Content.ReadAsAsync <Evento>();
                    readTaskNewEvento.Wait();

                    var newEvento = readTaskNewEvento.Result;

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

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

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

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

            return(View(eventoToCreate));
        }
        // 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));
        }