コード例 #1
0
        public async Task <ClienteDetailViewModel> EditClienteAsync(ClienteEditInputModel inputModel)
        {
            Cliente cliente = await dbContext.Clienti.FindAsync(inputModel.Id);

            if (cliente == null)
            {
                logger.LogWarning("Cliente {id} non trovato", inputModel.Id);
                throw new ClienteNotFoundException(inputModel.Id);
            }

            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);

            await dbContext.SaveChangesAsync();

            return(cliente.ToClienteDetailViewModel());
        }
コード例 #2
0
        public async Task <IActionResult> Edit(int id)
        {
            ViewData["Title"] = applicationPersister.GetTitoloApp();
            ClienteEditInputModel inputModel = await clienti.GetClienteForEditingAsync(id);

            return(View(inputModel));
        }
コード例 #3
0
        public async Task <IActionResult> Edit(ClienteEditInputModel inputModel)
        {
            if (ModelState.IsValid)
            {
                ClienteDetailViewModel cliente = await clienti.EditClienteAsync(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));
        }
コード例 #4
0
        public async Task <ClienteEditInputModel> GetClienteForEditingAsync(int id)
        {
            IQueryable <ClienteEditInputModel> queryLinq = dbContext.Clienti
                                                           .AsNoTracking()
                                                           .Where(cliente => cliente.Id == id)
                                                           .Select(cliente => cliente.ToClienteEditInputModel());

            ClienteEditInputModel viewModel = await queryLinq.FirstOrDefaultAsync();

            if (viewModel == null)
            {
                logger.LogWarning("Cliente {id} non trovato", id);
                throw new ClienteNotFoundException(id);
            }

            return(viewModel);
        }