public async Task <IActionResult> Edit(int id) { ViewData["Title"] = applicationPersister.GetTitoloApp(); OspedaleEditInputModel inputModel = await ospedali.GetOspedaleForEditingAsync(id); return(View(inputModel)); }
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)); }
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); }
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()); }