public Task UpdateAsync(StuffItem item) { return(Task.Run(() => { if (item.Id.HasValue) // update { var updateitem = GetItemById(item.Id.Value); if (updateitem == null) { return; } if (item.Name?.ToLower() != StuffItem.Undefined) { updateitem.Name = item.Name; } if (item.Description?.ToLower() != StuffItem.Undefined) { updateitem.Description = item.Description; } _stuffContext.StuffItems.Update(updateitem); } else //Add new { if (item.Name?.ToLower() == StuffItem.Undefined) { item.Name = null; } if (item.Description?.ToLower() == StuffItem.Undefined) { item.Description = null; } _stuffContext.StuffItems.Add(item); } _stuffContext.SaveChanges(); if (item.Id.HasValue && item.Tags != null && item.Tags.Count > 0) { var tags = GetTagsByStuff(item.Id); if (tags.Count > 0) { _tagContext.TagItems.RemoveRange(tags); _tagContext.SaveChanges(); } foreach (var tag in item.Tags) { tag.Id = 0; tag.StuffId = item.Id.Value; } _tagContext.TagItems.AddRange(item.Tags); _tagContext.SaveChanges(); } })); }
public StuffController(StuffContext context) { _context = context; if (_context.StuffItems.Count() == 0) { _context.StuffItems.Add(new StuffItem { Id = 11, Name = "Item1", Category = "Fantastic", Date = "09/03/1991", Author = "Werber" }); _context.SaveChanges(); } }