示例#1
0
        internal void Update(UserInventoryApp sameApp)
        {
            if (AppId != sameApp.AppId)
            {
                return;
            }

            Name             = sameApp.Name ?? Name;
            Icon             = sameApp.Icon ?? Icon;
            StoreVetted      = sameApp.StoreVetted ?? StoreVetted;
            InventoryLogo    = sameApp.InventoryLogo ?? InventoryLogo;
            TradePermissions = sameApp.TradePermissions ?? TradePermissions;

            foreach (var context in Contexts)
            {
                var newContext = sameApp.Contexts.FirstOrDefault(c => c.ContextId == context.ContextId);

                if (newContext != null)
                {
                    context.Update(newContext);
                }
            }

            Contexts = Contexts.Concat(sameApp.Contexts.Where(c1 => Contexts.All(c2 => c1.ContextId != c2.ContextId)))
                       .ToArray();
        }