public async Task <IActionResult> Create(ClienteCreateInputModel inputModel) { if (ModelState.IsValid) { try { ClienteDetailViewModel cliente = await clienti.CreateClienteAsync(inputModel); TempData["ConfirmationMessage"] = "Il cliente è stato creato con successo"; return(RedirectToAction(nameof(Index))); } catch (RagioneSocialeUnavailableException) { ModelState.AddModelError(nameof(ClienteDetailViewModel.RagioneSociale), "La ragione sociale esiste già"); } } ViewData["Title"] = applicationPersister.GetTitoloApp(); return(View(inputModel)); }
public async Task <ClienteDetailViewModel> CreateClienteAsync(ClienteCreateInputModel inputModel) { var cliente = new Cliente(); cliente.ChangeRagioneSociale(inputModel.RagioneSociale); cliente.ChangeIndirizzo(inputModel.Indirizzo); cliente.ChangeComune(inputModel.Comune); cliente.ChangeCap(inputModel.Cap); cliente.ChangeProvincia(inputModel.Provincia); cliente.ChangeTelefono(inputModel.Telefono); cliente.ChangeFax(inputModel.Fax); cliente.ChangeCodiceFiscale(inputModel.CodiceFiscale); cliente.ChangePartitaIva(inputModel.PartitaIva); cliente.ChangeSpese(inputModel.Spese); dbContext.Add(cliente); await dbContext.SaveChangesAsync(); return(cliente.ToClienteDetailViewModel()); }