예제 #1
0
        public async Task <IHttpActionResult> GetRegaloById(Guid Id)
        {
            Regalo regalo = null;

            //Controllo se Id è valorizzato.
            if (Id != Guid.Empty)
            {
                regalo = await dbDataContext.Regalo.Include(x => x.ImmagineRegalo).SingleOrDefaultAsync(x => x.Id == Id);
            }
            return(Ok(RegaloMapper.RegaloToRegaloDto(regalo)));
        }
예제 #2
0
        public async Task <IHttpActionResult> InserisciRegalo(RegaloDtoInput Dto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }


            //Regalo regalo = new Regalo();
            //regalo = RegaloMapper.RegaloDtoInputToRegalo(Dto, regalo);
            Regalo regalo = new Regalo()
            {
                Id                  = new Guid(),
                Cancellato          = Dto.Cancellato,
                Descrizione         = Dto.Descrizione,
                IdEvento            = Dto.IdEvento,
                Prezzo              = Dto.Prezzo,
                Titolo              = Dto.Titolo,
                ImportoCollezionato = 0
            };


            if (Dto.ImmagineRegalo != null)
            {
                regalo.ImmagineRegalo = await createOrUpdateImmagineRegalo(Dto.ImmagineRegalo, null);
            }



            dbDataContext.Regalo.Add(regalo);

            try
            {
                dbDataContext.SaveChanges();
            }
            catch (DbUpdateException)
            {
                if (RegaloExists(regalo.Id))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(Ok(RegaloMapper.RegaloToRegaloDto(regalo)));
        }
예제 #3
0
        public async Task <IHttpActionResult> UpdateRegalo([FromUri] Guid IdRegalo, [FromBody] RegaloDtoInput RegaloDto)
        {
            //Controllo che i parametri siano valorizzati
            if (RegaloDto == null || !ModelState.IsValid || (IdRegalo == null || IdRegalo == Guid.Empty))
            {
                return(BadRequest(ModelState));
            }

            //Cerco il regalo
            Regalo regalo = await dbDataContext.Regalo.Include(x => x.ImmagineRegalo).Where(x => x.Id == IdRegalo).FirstAsync();

            //Modifico il regalo

            regalo.Cancellato          = RegaloDto.Cancellato;
            regalo.Descrizione         = RegaloDto.Descrizione;
            regalo.ImportoCollezionato = RegaloDto.ImportoCollezionato;
            regalo.Prezzo = RegaloDto.Prezzo;
            regalo.Titolo = RegaloDto.Titolo;


            if (RegaloDto.ImmagineRegalo != null)
            {
                ImmagineRegalo immagineRegalo = new ImmagineRegalo()
                {
                    Id       = (regalo.IdImmagineRegalo.HasValue ? regalo.IdImmagineRegalo.Value : new Guid()),
                    Immagine = RegaloDto.ImmagineRegalo
                };

                regalo.ImmagineRegalo = immagineRegalo;
            }


            //regalo.ImmagineRegalo.Immagine = RegaloDto.ImmagineRegalo;
            //await createOrUpdateImmagineRegalo(RegaloDto.ImmagineRegalo, regalo.IdImmagineRegalo.ToString());

            //Regalo regalo = RegaloMapper.RegaloDtoToRegalo(dto);
            ////FIXME
            //regalo.ImmagineRegalo = null;
            //regalo.Evento = null;
            //if (!ModelState.IsValid)
            //{
            //    return BadRequest(ModelState);
            //}

            //if (regalo.Id != null)
            //{
            //    ImmagineRegalo immRegalo = await createOrUpdateImmagineRegalo(dto.ImmagineRegalo, dto.IdImmagineRegalo);
            //    regalo.ImmagineRegalo = immRegalo;
            //    dbDataContext.Regalo.Attach(regalo);
            //    dbDataContext.Entry(regalo).State = EntityState.Modified;
            //}

            try
            {
                //Salvo le modifiche sul DB.
                dbDataContext.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!EventoExists(regalo.Id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(Ok(RegaloMapper.RegaloToRegaloDto(regalo)));
        }