public void DeleteShoppingLists(AuthIdentity identity, ShoppingList[] lists) { if (!lists.Any()) { throw new ArgumentException("DeleteShoppingLists requires at least one list to delete."); } using (var session = this.GetSession()) { using (var transaction = session.BeginTransaction()) { var shoppingListses = session.QueryOver<ShoppingLists>() .AndRestrictionOn(p => p.ShoppingListId).IsInG(lists.Where(l => l.Id.HasValue).Select(l => l.Id.Value)) .Where(p => p.UserId == identity.UserId) .List(); shoppingListses.ForEach(session.Delete); transaction.Commit(); } } }
public ShoppingListResult CreateShoppingList(AuthIdentity identity, ShoppingList list) { using (var session = this.GetSession()) { var ret = new ShoppingListResult(); using (var transaction = session.BeginTransaction()) { var shoppingList = new ShoppingLists(); shoppingList.Title = list.Title.Trim(); shoppingList.UserId = identity.UserId; session.Save(shoppingList); if (list.Any()) { list.ToList().ForEach(i => { var dbItem = ShoppingListItems.FromShoppingListItem(i); dbItem.ShoppingList = shoppingList; dbItem.UserId = shoppingList.UserId; session.Save(dbItem); }); } transaction.Commit(); ret.NewShoppingListId = shoppingList.ShoppingListId; } ret.List = list; return ret; } }