Exemplo n.º 1
0
        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();
                }
            }
        }
Exemplo n.º 2
0
        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;
            }
        }