Example #1
0
        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());
        }