public async Task <SocioDetailViewModel> CreateSocioAsync(SocioCreateInputModel inputModel) { var socio = new Socio(); socio.ChangeTessera(inputModel.Tessera); socio.ChangeNominativo(inputModel.Nominativo); socio.ChangeIndirizzo(inputModel.Indirizzo); socio.ChangeCap(inputModel.Cap); socio.ChangeComune(inputModel.Comune); socio.ChangeProvincia(inputModel.Provincia); socio.ChangeLuogoNascita(inputModel.LuogoNascita); socio.ChangeDataNascita(inputModel.DataNascita); socio.ChangeCodiceFiscale(inputModel.CodiceFiscale); socio.ChangeTelefono(inputModel.Telefono); socio.ChangeEmail(inputModel.Email); socio.ChangeDataTesseramento(inputModel.DataTesseramento); socio.ChangeTrattamentoDati(inputModel.TrattamentoDati); socio.ChangeProfessione(inputModel.Professione); socio.ChangeZona(inputModel.Zona); dbContext.Add(socio); await dbContext.SaveChangesAsync(); return(socio.ToSocioDetailViewModel()); }
public async Task <IActionResult> Create(SocioCreateInputModel inputModel) { if (ModelState.IsValid) { try { SocioDetailViewModel socio = await soci.CreateSocioAsync(inputModel); TempData["ConfirmationMessage"] = "Il socio è stato creato con successo"; return(RedirectToAction(nameof(Detail), new { id = socio.Id })); } catch (SocioUnavailableException) { ModelState.AddModelError(nameof(SocioDetailViewModel.Nominativo), "Il nominativo del socio esiste già"); } } ViewData["Title"] = applicationPersister.GetTitoloApp(); return(View(inputModel)); }