예제 #1
0
        public async Task <IActionResult> Detail(int id)
        {
            ViewData["Title"] = applicationPersister.GetTitoloApp();
            OspedaleDetailViewModel viewModel = await ospedali.GetOspedaleAsync(id);

            return(View(viewModel));
        }
예제 #2
0
        public async Task <IActionResult> Edit(OspedaleEditInputModel inputModel)
        {
            if (ModelState.IsValid)
            {
                OspedaleDetailViewModel ospedale = await ospedali.EditOspedaleAsync(inputModel);

                TempData["ConfirmationMessage"] = "I dati sono stati aggiornati con successo";
                return(RedirectToAction(nameof(Detail), new { id = inputModel.Id }));
            }

            ViewData["Title"] = applicationPersister.GetTitoloApp();
            return(View(inputModel));
        }
예제 #3
0
        public async Task <OspedaleDetailViewModel> GetOspedaleAsync(int id)
        {
            IQueryable <OspedaleDetailViewModel> queryLinq = dbContext.Ospedali
                                                             .AsNoTracking()
                                                             .Where(ospedale => ospedale.Id == id)
                                                             .Select(ospedale => ospedale.ToOspedaleDetailViewModel());

            OspedaleDetailViewModel viewModel = await queryLinq.FirstOrDefaultAsync();

            if (viewModel == null)
            {
                logger.LogWarning("Ospedale {id} non trovato", id);
                throw new OspedaleNotFoundException(id);
            }

            return(viewModel);
        }
예제 #4
0
        public async Task <IActionResult> Create(OspedaleCreateInputModel inputModel)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    OspedaleDetailViewModel ospedale = await ospedali.CreateOspedaleAsync(inputModel);

                    TempData["ConfirmationMessage"] = "L'ospedale è stato creato con successo";
                    return(RedirectToAction(nameof(Detail), new { id = ospedale.Id }));
                }
                catch (OspedaleUnavailableException)
                {
                    ModelState.AddModelError(nameof(OspedaleDetailViewModel.Clinica), "L'ospedale esiste già");
                }
            }

            ViewData["Title"] = applicationPersister.GetTitoloApp();
            return(View(inputModel));
        }