public IActionResult Inserisci(EdizioneCorso edizioneCorso)
 {
     if (ModelState.IsValid)
     {
         repository.Add(edizioneCorso);
         return(RedirectToAction("InserimentoCompleto")); //vedi metodo InserimentoCompleto qui sotto
     }
     return(View(edizioneCorso));
 }
Exemple #2
0
        public static EdizioneCorsoDTO ToDTO(this EdizioneCorso edizioneCorso)
        {
            if (edizioneCorso == null)
            {
                return(null);
            }

            return(new EdizioneCorsoDTO
            {
                IdEdizioneCorso = edizioneCorso.IdEdizioneCorso,
                IdCorso = edizioneCorso.IdCorso,
                DataInizio = edizioneCorso.DataInizio
            });
        }
        public void AddEdizioneCorso(EdizioneCorso edizioneCorso)
        {
            Console.Error.WriteLine("AAAAAAA");

            try
            {
                ctx.Database.BeginTransaction();
                edizioniCorsiRepo.Add(edizioneCorso);
                ctx.SaveChanges();
                ctx.Database.CommitTransaction();
            }
            catch (DbUpdateException e)
            {
                ctx.Database.RollbackTransaction();
                throw new BusinessLogicException("Errore nell'inserimento EDIZIONE CORSO", e);
            }
        }
Exemple #4
0
        public IActionResult Post([FromBody] EdizioneCorsoDTO edizioneCorsoDTO)
        {
            if (edizioneCorsoDTO == null)
            {
                return(BadRequest());
            }

            EdizioneCorso edizioneCorso = edizioneCorsoDTO.ToEdizioneCorso();

            //work.Begin();
            //work.EdizioniCorsiRepo.Add(edizioneCorso);
            //work.Save();
            //work.End();

            try
            {
                work.AddEdizioneCorso(edizioneCorso);
            }
            catch (BusinessLogicException e)
            {
                return(BadRequest(e));
            }


            //N.B.: il tipo anonimo che viene passato a CreatedAtRoute(,,) come secondo parametro "routeValues:"
            //      deve avere un campo che si chiama COME IL PARAMETRO della Route passatagli come primo argomento.
            //          (In questo caso come routeName: gli passiamo "GetEdizioneCorso", e quindi il campo del tipo anonimo
            //           che gli passiamo come routeValues: deve chiamarsi idEdizioneCorso)
            //
            //      In caso contrario, SEBBENE METTENDO UN BREAKPOINT SU return risposta; il valore di "risposta" sembri essere corretto,
            //      Postman riceve uno status 500 (Internal Server Error) e la pagina di errore html inizia con le seguenti tre righe:
            //      « An unhandled exception occurred while processing the request.
            //        InvalidOperationException: No route matches the supplied values.
            //        Microsoft.AspNetCore.Mvc.CreatedAtRouteResult.OnFormatting(ActionContext context) »
            var risposta = CreatedAtRoute(routeName: "GetEdizioneCorso",
                                          routeValues: new { idEdizioneCorso = edizioneCorso.IdEdizioneCorso },
                                          value: edizioneCorso.ToDTO());

            return(risposta);
        }
 public void Update(EdizioneCorso edizioneCorso)
 {
     ctx.EdizioniCorsi.Update(edizioneCorso);
 }
 public void Delete(EdizioneCorso edizioneCorso)
 {
     ctx.EdizioniCorsi.Remove(edizioneCorso);
 }
 public void Add(EdizioneCorso edizioneCorso)
 {
     ctx.EdizioniCorsi.Add(edizioneCorso);
 }