示例#1
0
        public async Task <IActionResult> DeleteAllegato(int id, int idscadenza)
        {
            ScadenzaViewModel viewModel = await service.GetScadenzaAsync(idscadenza);

            ViewData["Title"] = "Dettaglio Scadenza".ToUpper();
            RicevutaViewModel ricevutaViewModel = await ricevute.GetRicevutaAsync(id);

            await ricevute.DeleteRicevutaAsync(id);

            System.IO.File.Delete(ricevutaViewModel.Path);
            viewModel.Ricevute = ricevute.GetRicevute(idscadenza);
            return(View("Detail", viewModel));
        }
        public async Task <RicevutaViewModel> GetRicevutaAsync(int id)
        {
            logger.LogInformation("Ricevuto {id}", id);
            var queryLinq = dbContext.Ricevute
                            .AsNoTracking()
                            .Where(ricevuta => ricevuta.Id == id)
                            .Select(ricevuta => RicevutaViewModel.FromEntity(ricevuta));
            RicevutaViewModel viewModel = await queryLinq.FirstOrDefaultAsync();

            if (viewModel == null)
            {
                logger.LogWarning("Ricevuta {id} not found", id);
                throw new RicevutaNotFoundException(id);
            }
            return(viewModel);
        }
        public List <RicevutaViewModel> GetRicevute(int id)
        {
            logger.LogInformation("Ricevuto {id}", id);
            var queryLinq = dbContext.Ricevute
                            .AsNoTracking()
                            .Where(ricevuta => ricevuta.IDScadenza == id);
            List <RicevutaViewModel> viewModel = new();

            foreach (var item in queryLinq)
            {
                RicevutaViewModel view = RicevutaViewModel.FromEntity(item);
                viewModel.Add(view);
            }
            if (viewModel == null)
            {
                throw new RicevutaNotFoundException(id);
            }
            return(viewModel);
        }