Ejemplo n.º 1
0
        public async Task <ScadenzaViewModel> EditScadenzaAsync(ScadenzaEditInputModel inputModel)
        {
            Scadenza scadenza = await dbContext.Scadenze.FindAsync(inputModel.IDScadenza);

            if (scadenza == null)
            {
                throw new ScadenzaNotFoundException(inputModel.IDScadenza);
            }
            try
            {
                //Mapping
                scadenza.Beneficiario   = inputModel.Beneficiario;
                scadenza.DataScadenza   = inputModel.DataScadenza;
                scadenza.DataPagamento  = inputModel.DataPagamento;
                scadenza.GiorniRitardo  = inputModel.GiorniRitardo;
                scadenza.Sollecito      = inputModel.Sollecito;
                scadenza.Importo        = inputModel.Importo;
                scadenza.IDBeneficiario = inputModel.IDBeneficiario;
                scadenza.IDUser         = user.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;


                dbContext.Update(scadenza);
                await dbContext.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            return(ScadenzaViewModel.FromEntity(scadenza));
        }
Ejemplo n.º 2
0
        public async Task <ScadenzaViewModel> EditScadenzaAsync(ScadenzaEditInputModel inputModel)
        {
            ScadenzaViewModel viewModel = await scadenzaService.EditScadenzaAsync(inputModel);

            memoryCache.Remove($"Scadenze{inputModel.IDScadenza}");
            return(viewModel);
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> Edit(ScadenzaEditInputModel inputModel)
        {
            inputModel.Beneficiario = service.GetBeneficiarioById(inputModel.IDBeneficiario);
            if (ModelState.IsValid)
            {
                if (inputModel.DataPagamento.HasValue)
                {
                    inputModel.GiorniRitardo = service.DateDiff(inputModel.DataScadenza, inputModel.DataPagamento.Value);
                }
                else
                {
                    inputModel.GiorniRitardo = service.DateDiff(inputModel.DataScadenza, DateTime.Now.Date);
                }
                await service.EditScadenzaAsync(inputModel);

                //Gestione Ricevute
                if (Ricevute != null)
                {
                    await ricevute.CreateRicevutaAsync(Ricevute);
                }
                Ricevute            = null;
                TempData["Message"] = "Aggiornamento effettuato correttamente".ToUpper();
                return(RedirectToAction("Index"));
            }
            else
            {
                ViewData["Title"]      = "Aggiorna Scadenza".ToUpper();
                inputModel.Beneficiari = service.GetBeneficiari;
                return(View(inputModel));
            }
        }
Ejemplo n.º 4
0
        public async Task <ScadenzaEditInputModel> GetScadenzaForEditingAsync(int id)
        {
            logger.LogInformation("Ricevuto identificativo scadenza {id}", id);
            IQueryable <ScadenzaEditInputModel> queryLinq = dbContext.Scadenze
                                                            .AsNoTracking()
                                                            .Where(scadenza => scadenza.IDScadenza == id)
                                                            .Select(scadenza => ScadenzaEditInputModel.FromEntity(scadenza)); //Usando metodi statici come FromEntity, la query potrebbe essere inefficiente. Mantenere il mapping nella lambda oppure usare un extension method personalizzato

            ScadenzaEditInputModel viewModel = await queryLinq.FirstOrDefaultAsync();

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

            return(viewModel);
        }