public async Task SaveWidget(Widget widget)
 {
     using (var db = new AppDbContext())
     {
         db.Widgets.Add(widget);
         await db.SaveChangesAsync();
     }
 }
 public async Task SaveUser(User user)
 {
     using (var db = new AppDbContext())
     {
         db.Users.Add(user);
         await db.SaveChangesAsync();
     }
 }
 public async Task DeleteWidget(Guid id)
 {
     using (var db = new AppDbContext())
     {
         var widget = GetWidget(id);
         db.Widgets.Attach(widget);
         db.Widgets.Remove(widget);
         await db.SaveChangesAsync();
     }
 }
 public async Task DeleteUser(Guid id)
 {
     using (var db = new AppDbContext())
     {
         var user = GetUser(id);
         db.Users.Attach(user);
         db.Users.Remove(user);
         await db.SaveChangesAsync();
     }
 }