Пример #1
0
        public async Task <IActionResult> Edit(BeneficiarioEditInputModel inputModel)
        {
            if (ModelState.IsValid)
            {
                //SE L'UTENTE HA CAMBIATO BENEFICIARIO VERIFICO CHE NON SIA GIA' ESISTENTE
                if (inputModel.Beneficiario != Beneficiario)
                {
                    if (await service.VerificationExistenceAsync(inputModel.Beneficiario))
                    {
                        ViewData["Title"] = "Aggiorna beneficiario".ToUpper();
                        ModelState.AddModelError("key", "Il beneficiario è già esistente. Scegli un nome diverso.");
                        return(View(inputModel));
                    }
                }
                await service.EditBeneficiarioAsync(inputModel);

                Beneficiario        = String.Empty;
                TempData["Message"] = "Aggiornamento effettuato correttamente".ToUpper();
                return(RedirectToAction("Index"));
            }
            else
            {
                ViewData["Title"] = "Aggiorna beneficiario".ToUpper();
                return(View(inputModel));
            }
        }
Пример #2
0
        public async Task <BeneficiarioViewModel> EditBeneficiarioAsync(BeneficiarioEditInputModel inputModel)
        {
            Beneficiario beneficiario = await dbContext.Beneficiari.FindAsync(inputModel.IDBeneficiario);

            if (beneficiario == null)
            {
                throw new BeneficiarioNotFoundException(inputModel.IDBeneficiario);
            }
            try
            {
                //Mapping
                beneficiario.Sbeneficiario = inputModel.Beneficiario;
                beneficiario.Descrizione   = inputModel.Descrizione;
                beneficiario.Email         = inputModel.Email;
                beneficiario.Telefono      = inputModel.Telefono;
                beneficiario.SitoWeb       = inputModel.SitoWeb;


                dbContext.Update(beneficiario);
                await dbContext.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            return(BeneficiarioViewModel.FromEntity(beneficiario));
        }
        public async Task <BeneficiarioViewModel> EditBeneficiarioAsync(BeneficiarioEditInputModel inputModel)
        {
            BeneficiarioViewModel viewModel = await beneficiarioService.EditBeneficiarioAsync(inputModel);

            memoryCache.Remove($"Beneficiario{inputModel.IDBeneficiario}");
            return(viewModel);
        }
Пример #4
0
        public async Task <BeneficiarioEditInputModel> GetBeneficiarioForEditingAsync(int id)
        {
            logger.LogInformation("Ricevuto identificativo beneficiario {id}", id);
            IQueryable <BeneficiarioEditInputModel> queryLinq = dbContext.Beneficiari
                                                                .AsNoTracking()
                                                                .Where(beneficiario => beneficiario.IDBeneficiario == id)
                                                                .Select(beneficiario => BeneficiarioEditInputModel.FromEntity(beneficiario)); //Usando metodi statici come FromEntity, la query potrebbe essere inefficiente. Mantenere il mapping nella lambda oppure usare un extension method personalizzato

            BeneficiarioEditInputModel viewModel = await queryLinq.FirstOrDefaultAsync();

            if (viewModel == null)
            {
                logger.LogWarning("Beneficiario {id} not found", id);
                throw new BeneficiarioNotFoundException(id);
            }

            return(viewModel);
        }