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))); }
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))); }
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))); }