private static int MoveItem(IScriptRootData root, IItemsSource S, string N, IStructureData targetStructure, int count, int?maxLimit)
        {
            var target = targetStructure?.GetCurrent()?.GetDevice <Eleon.Modding.IContainer>(N);

            if (target == null)
            {
                Log($"TargetNoFound: {S.Id} #{S.Count} => {N}", LogLevel.Debug);
                return(count);
            }

            if (!targetStructure.ContainerSource.TryGetValue(N, out var targetData))
            {
                Log($"TargetDataNoFound: {S.Id} #{S.Count} => {N}", LogLevel.Debug);
                return(count);
            }

            var tryMoveCount = maxLimit.HasValue
                ? Math.Max(0, Math.Min(count, maxLimit.Value - target.GetTotalItems(S.Id)))
                : count;

            using var locked = WeakCreateDeviceLock(root, root.GetCurrentPlayfield(), targetStructure.GetCurrent(), targetData.Position);
            if (!locked.Success)
            {
                Log($"DeviceIsLocked (Target): {S.Id} #{S.Count} => {targetData.CustomName}", LogLevel.Debug);
                return(count);
            }

            return(maxLimit.HasValue
                ? target.AddItems(S.Id, tryMoveCount) + (count - tryMoveCount)
                : target.AddItems(S.Id, tryMoveCount));
        }
        public SearchPageViewModel(ContainerViewModel container, IItemsSource itemsSource, ClientsClient clientsClient)
            : base(container)
        {
            _itemsSource   = itemsSource;
            _clientsClient = clientsClient;

            SearchContext.UpdateSearchPage(this);
        }
 public ContainerViewModel(IItemsSource itemsSource, ClientsClient clientsClient)
 {
     _itemsSource   = itemsSource;
     _clientsClient = clientsClient;
     Data           = new Data {
         SearchContext = new NullSearchContext()
     };
     GotoSearchPage();
 }
        public CheckComboBoxPropertyEditor(ItemsSourceAttribute attribute)
        {
            var sourceType  = attribute.Type;
            var sourceItems = Activator.CreateInstance(sourceType) as IItemsSource;

            _itemsSource = sourceItems;

            HorizontalAlignment = HorizontalAlignment.Stretch;
        }
Exemple #5
0
 public Filter(String name, IItemsSource source = null, DataTemplate itemTemplate = null)
 {
     _source      = source;
     this.Name    = name;
     ItemTemplate = itemTemplate;
     if (_source != null)
     {
         GetResultCount();
     }
 }
Exemple #6
0
        public static IItemsSource DefaultClient()
        {
            IItemsSource itemsSource = null; // connect with service somehow

            // if featureflag items caching is on
            itemsSource = new CachingItemsSource(itemsSource);

            var retries = 2; // get from config

            itemsSource = new RetryingItemsSource(itemsSource, retries);

            return(itemsSource);
        }
Exemple #7
0
        public ItemsData AddCount(int count, IItemsSource source)
        {
            if (Source == null)
            {
                Source = new List <IItemsSource>();
            }
            if (source == null)
            {
                return(this);
            }

            lock (Source)
            {
                Source.Add(source);
                Count += count;
            }
            return(this);
        }
Exemple #8
0
 public EndpointPropertyViewModel(IMediator mediator, Core.App.IAppContext context, PropertyInfo propertyInfo, object source, IItemsSource itemsSource, IEnumerable <IPropertyViewModel> properties, bool autoload) : base(propertyInfo, source, itemsSource, properties, autoload)
 {
     Commands.Add("Endpoints", new Command(_ => mediator.Send(Page.Show <EndpointsViewModel>("Endpoints", onClose: OnEndpointsViewClosed))));
     Commands.Add("Edit", new Command(_ => Edit(mediator, context), _ => Value is string));
 }
 public EndpointPropertyViewModel(IMediator mediator, PropertyInfo propertyInfo, object source, IItemsSource itemsSource, IEnumerable <IPropertyViewModel> properties, bool autoload) : base(propertyInfo, source, itemsSource, properties, autoload)
 {
     Commands.Add("Endpoints", new Command(_ => mediator.Send(Page.Show <EndpointsViewModel>("Endpoints", onClose: OnEndpointsViewClosed))));
 }
Exemple #10
0
        public IItemsSource GetMovieSource(ItemsSourceReference itemsSourceReference = null)
        {
            IItemsSource itemsSource = null;

            if (itemsSourceReference != null)
            {
                ItemsSourceReference current = null;
                if (_sourcesCache.TryGetValue(itemsSourceReference, out itemsSource))
                {
                    current = itemsSource.GetStateRepresentation();
                }
                if (!itemsSourceReference.Equals(current))
                {
                    switch (itemsSourceReference.Type)
                    {
                    case ItemsSourceType.Movie:
                        switch (itemsSourceReference.Filter)
                        {
                        case ItemsSourceFilter.All:
                            itemsSource = new AllMovieSource(_appContext);
                            break;

                        case ItemsSourceFilter.Cast:
                            itemsSource = new CastMovieSource(_appContext, itemsSourceReference.Param);
                            break;

                        case ItemsSourceFilter.Id:
                            itemsSource = new IdMovieSource(_appContext, int.Parse(itemsSourceReference.Param));
                            break;

                        case ItemsSourceFilter.Title:
                            itemsSource = new TitleMovieSource(_appContext, itemsSourceReference.Param);
                            break;

                        case ItemsSourceFilter.FullText:
                            itemsSource = new FullTextMovieSource(_appContext, itemsSourceReference.Param);
                            break;
                        }
                        break;

                    case ItemsSourceType.Episode:
                        switch (itemsSourceReference.Filter)
                        {
                        case ItemsSourceFilter.Cast:
                            itemsSource = new CastEpisodesSource(_appContext, itemsSourceReference.Param);
                            break;
                        }
                        break;

                    case ItemsSourceType.TVShow:
                        switch (itemsSourceReference.Filter)
                        {
                        case ItemsSourceFilter.Title:
                            itemsSource = new TitleTVShowSource(_appContext, itemsSourceReference.Param);
                            break;

                        case ItemsSourceFilter.Cast:
                            itemsSource = new CastTTVShowSource(_appContext, itemsSourceReference.Param);
                            break;

                        case ItemsSourceFilter.All:
                            itemsSource = new TvShowSource(_appContext);
                            break;

                        case ItemsSourceFilter.Id:
                            itemsSource = new TvShowIdSource(_appContext, int.Parse(itemsSourceReference.Param));
                            break;
                        }
                        break;

                    case ItemsSourceType.WatchList:
                        switch (itemsSourceReference.Filter)
                        {
                        case ItemsSourceFilter.All:
                            itemsSource = new WatchlistMovieSource(_appContext);
                            break;
                        }
                        break;

                    case ItemsSourceType.Season:
                        switch (itemsSourceReference.Filter)
                        {
                        case ItemsSourceFilter.All:
                            itemsSource = new WatchlistMovieSource(_appContext);
                            break;
                        }
                        break;

                    case ItemsSourceType.Extern:
                        switch (itemsSourceReference.Filter)
                        {
                        case ItemsSourceFilter.Cast:
                            itemsSource = new CastTmdbResult(itemsSourceReference.Param);
                            break;

                        case ItemsSourceFilter.Title:
                            itemsSource = new TmdbResult(itemsSourceReference.Param);
                            break;
                        }
                        break;
                    }
                }
                _sourcesCache[itemsSourceReference] = itemsSource;
                current = itemsSource.GetStateRepresentation();
                if ((itemsSource.Selected == null ||
                     itemsSourceReference.Selection != current.Selection) &&
                    itemsSourceReference.Selection >= 0)
                {
                    itemsSource.RestoreSelection(itemsSourceReference.Selection);
                }
            }
            if (itemsSource == null)
            {
                itemsSource = new AllMovieSource(_appContext);
            }
            return(itemsSource);
        }
Exemple #11
0
        private void navigationHelper_LoadState(object sender, LoadStateEventArgs e)
        {
            _itemsSource = App.MainVm.GetMovieSource(new ItemsSourceReference(ItemsSourceType.TVShow, ItemsSourceFilter.All));

            this.DefaultViewModel["Items"] = _itemsSource.Items;
        }
 public AuthorizingItemsSource(IItemsSource implementation)
 {
     _implementation = implementation;
 }
 public CachingItemsSource(IItemsSource implementation)
 {
     _implementation = implementation;
 }
 public RetryingItemsSource(IItemsSource implementation, int retries)
 {
     _implementation = implementation;
     _retries        = retries;
 }