Пример #1
0
        public void DeleteStaticShoppingList(string staticPublicID, string userName)
        {
            EveShoppingContext contexto = new EveShoppingContext();
            eshSnapshot        snap     = contexto.eshSnapshots.Where(s => s.publicID == staticPublicID).FirstOrDefault();

            DeleteStaticShoppingList(snap, userName, contexto);
        }
Пример #2
0
        public eshSnapshot CreateStaticShoppingListFromGroup(string groupPublicID, string name, IImageResolver iresolver)
        {
            LogicaGroupLists logica = new LogicaGroupLists();
            EVListSummary    ev     = logica.SelectGroupListSummaryPorPublicID(groupPublicID, iresolver);
            eshSnapshot      snap   = new eshSnapshot();

            if (ev == null)
            {
                return(null);
            }
            snap.name         = ev.Name;
            snap.description  = ev.Description;
            snap.totalVolume  = ev.TotalVolume;
            snap.totalPrice   = ev.TotalPrice;
            snap.publicID     = Guid.NewGuid().ToString();
            snap.creationDate = System.DateTime.Now;
            foreach (var item in ev.Items)
            {
                eshSnapshotInvType sit = new eshSnapshotInvType();
                sit.typeID    = item.ItemID;
                sit.unitPrice = item.UnitPrice;
                sit.units     = item.Units;
                sit.volume    = item.Volume;
                snap.eshSnapshotInvTypes.Add(sit);
            }
            return(snap);
        }
Пример #3
0
        public eshSnapshot CreateStaticShoppingList(string publicID, string name, IImageResolver iresolver)
        {
            LogicaShoppingLists logica =
                new LogicaShoppingLists();

            EVListSummary summ = logica.SelectListSummaryPorPublicID(publicID, iresolver);

            if (summ == null)
            {
                return(null);
            }

            eshSnapshot shot = new eshSnapshot();

            shot.creationDate   = System.DateTime.Now;
            shot.shoppingListID = summ.ShoppingListID;
            shot.totalPrice     = summ.TotalPrice;
            shot.totalVolume    = summ.TotalVolume;
            shot.publicID       = Guid.NewGuid().ToString();
            shot.name           = (string.IsNullOrEmpty(name))? summ.Name:name;
            shot.description    = summ.Description;

            foreach (var item in summ.Items)
            {
                if ((item.Units) > 0)
                {
                    eshSnapshotInvType shotitem = new eshSnapshotInvType();
                    shotitem.typeID    = item.ItemID;
                    shotitem.unitPrice = item.UnitPrice;
                    shotitem.units     = item.Units;
                    shotitem.volume    = item.Volume;
                    shot.eshSnapshotInvTypes.Add(shotitem);
                }
            }
            EveShoppingContext contexto = new EveShoppingContext();

            contexto.eshSnapshots.Add(shot);
            contexto.SaveChanges();

            return(shot);
        }
Пример #4
0
        public void DeleteStaticShoppingList(eshSnapshot snap, string userName, EveShoppingContext contexto)
        {
            if (snap == null)
            {
                throw new ApplicationException(Messages.err_staticShoppingListNoExiste);
            }

            if (userName == null)
            {
                if (snap.eshShoppingList.userID.HasValue)
                {
                    throw new ApplicationException(Messages.err_notOwner);
                }
            }
            UserProfile user = contexto.UserProfiles.Where(u => u.UserName == userName).FirstOrDefault();

            if (user == null)
            {
                throw new ApplicationException(Messages.err_usuarioNoExiste);
            }

            if (snap.eshShoppingList.userID.HasValue && snap.eshShoppingList.userID.Value != user.UserId)
            {
                throw new ApplicationException(Messages.err_notOwner);
            }


            Repositorios.RepositorioShoppingLists repo =
                new Repositorios.RepositorioShoppingLists(contexto);
            repo.ShoppingListUpdated(snap.eshShoppingList.shoppingListID);
            IEnumerable <eshSnapshotInvType> sit = snap.eshSnapshotInvTypes.Where(s => s.snapshotID == snap.snapshotID).ToList();

            foreach (var item in sit)
            {
                contexto.eshSnapshotInvTypes.Remove(item);
            }
            contexto.eshSnapshots.Remove(snap);
            contexto.SaveChanges();
        }