コード例 #1
0
        public async Task <IActionResult> Edit(int id)
        {
            ViewData["Title"] = applicationPersister.GetTitoloApp();
            OspedaleEditInputModel inputModel = await ospedali.GetOspedaleForEditingAsync(id);

            return(View(inputModel));
        }
コード例 #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 <OspedaleEditInputModel> GetOspedaleForEditingAsync(int id)
        {
            IQueryable <OspedaleEditInputModel> queryLinq = dbContext.Ospedali
                                                            .AsNoTracking()
                                                            .Where(ospedale => ospedale.Id == id)
                                                            .Select(ospedale => ospedale.ToOspedaleEditInputModel());

            OspedaleEditInputModel 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 <OspedaleDetailViewModel> EditOspedaleAsync(OspedaleEditInputModel inputModel)
        {
            Ospedale ospedale = await dbContext.Ospedali.FindAsync(inputModel.Id);

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

            ospedale.ChangeClinica(inputModel.Clinica);
            ospedale.ChangeComune(inputModel.Comune);
            ospedale.ChangeLatitudine(inputModel.Latitudine);
            ospedale.ChangeLongitudine(inputModel.Longitudine);

            await dbContext.SaveChangesAsync();

            return(ospedale.ToOspedaleDetailViewModel());
        }