public async Task <IActionResult> PostWinzel([FromBody] Winzel winzel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.Winzels.Add(winzel); await _context.SaveChangesAsync(); return(CreatedAtAction("GetWinzel", new { id = winzel.Id }, winzel)); }
private static Winzel BuildWinzel(string titel, string text, string autor, string date, string location, string image, List <WinzelHashTag> hashtags, List <WinzelComment> usedComments) { var gab1 = new WinzelGrapes(); gab1.Gab = "traube1"; var winzel = new Winzel(); winzel.WinzelAuthor = autor; winzel.WinzelDate = date; winzel.WinzelLocation = location; winzel.WinzelHashTags = hashtags; winzel.WinzelImage = image; winzel.WinzelGraps = new List <WinzelGrapes>() { gab1 }; winzel.WinzelTitle = titel; winzel.WinzelComments = usedComments; winzel.WinzelText = text; return(winzel); }
public async Task <IActionResult> PutWinzel([FromRoute] long id, [FromBody] Winzel winzel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != winzel.Id) { return(BadRequest()); } _context.Entry(winzel).State = EntityState.Modified; var comments = winzel.WinzelComments; if (comments != null) { var knownids = this._context.WinzelComments.Select(c => c.Id); foreach (var comment in comments) { if (knownids.Contains(comment.Id)) { _context.Entry(comment).State = EntityState.Modified; } else { _context.Entry(comment).State = EntityState.Added; } } } var hashtags = winzel.WinzelHashTags; if (hashtags != null) { var knownids = this._context.WinzelHashTags.Select(c => c.Id); foreach (var hashtag in hashtags) { if (knownids.Contains(hashtag.Id)) { _context.Entry(hashtag).State = EntityState.Modified; } else { _context.Entry(hashtag).State = EntityState.Added; } } } var graps = winzel.WinzelGraps; if (graps != null) { var knownids = this._context.Grapes.Select(c => c.Id); foreach (var grap in graps) { if (knownids.Contains(grap.Id)) { _context.Entry(grap).State = EntityState.Modified; } else { _context.Entry(grap).State = EntityState.Added; } } } try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!WinzelExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }