Example #1
0
 public DoubleProvider(IProviderBase <R, W> readerProvider, IProviderBase <R, W> writerProvider, IMediator <R, W> mediator)
 {
     this.readerProvider          = readerProvider;
     this.writerProvider          = writerProvider;
     this.mediator                = mediator;
     this.mediator.ReaderProvider = readerProvider;
     this.mediator.WriterProvider = writerProvider;
 }
Example #2
0
        public R ForwardData(T data, IProviderBase <T, R> provider)
        {
            bool flag = provider == (ProviderBase <T, R>) this._readerProvider;
            R    result;

            if (flag)
            {
                result = this._writerProvider.ProcessData(data);
            }
            else
            {
                result = this._readerProvider.ProcessData(data);
            }
            return(result);
        }
        public static async Task <List <RemoteSearchResult> > GetSearchResultsFromUpdate(IProviderBase provider, int[] siteNum, string[] sceneID, DateTime?searchDate, CancellationToken cancellationToken)
        {
            var result = new List <RemoteSearchResult>();

            var sceneData = await provider.Update(siteNum, sceneID, cancellationToken).ConfigureAwait(false);

            if (!string.IsNullOrEmpty(sceneData.Item.Name))
            {
                sceneData.Item.ProviderIds[Plugin.Instance.Name] = string.Join("#", sceneID);
                var posters = (await provider.GetImages(siteNum, sceneID, sceneData.Item, cancellationToken).ConfigureAwait(false)).Where(o => o.Type == ImageType.Primary);

                var res = new RemoteSearchResult
                {
                    ProviderIds  = sceneData.Item.ProviderIds,
                    Name         = sceneData.Item.Name,
                    PremiereDate = sceneData.Item.PremiereDate,
                };

                if (searchDate.HasValue && !res.PremiereDate.HasValue)
                {
                    res.PremiereDate = searchDate.Value;
                }

                if (!string.IsNullOrEmpty(sceneData.Item.OriginalTitle))
                {
                    res.Name = $"{sceneData.Item.OriginalTitle} {sceneData.Item.Name}";
                }

                if (posters.Any())
                {
                    res.ImageUrl = posters.First().Url;
                }

                result.Add(res);
            }

            return(result);
        }
        public static async Task <List <RemoteSearchResult> > GetSearchResultsFromUpdate(IProviderBase provider, int[] siteNum, string[] sceneID, CancellationToken cancellationToken)
        {
            var result = new List <RemoteSearchResult>();

            var curID = new List <string>()
            {
                siteNum[0].ToString(CultureInfo.InvariantCulture),
                siteNum[1].ToString(CultureInfo.InvariantCulture),
            };

            curID.AddRange(sceneID);

            var sceneData = await provider.Update(siteNum, sceneID, cancellationToken).ConfigureAwait(false);

            if (!string.IsNullOrEmpty(sceneData.Item.Name))
            {
                sceneData.Item.ProviderIds.Add(Plugin.Instance.Name, string.Join("#", curID));
                var posters = (await provider.GetImages(siteNum, sceneID, sceneData.Item, cancellationToken).ConfigureAwait(false)).Where(o => o.Type == ImageType.Primary);

                var res = new RemoteSearchResult
                {
                    ProviderIds  = sceneData.Item.ProviderIds,
                    Name         = sceneData.Item.Name,
                    PremiereDate = sceneData.Item.PremiereDate,
                };

                if (!string.IsNullOrEmpty(sceneData.Item.OriginalTitle))
                {
                    res.Name = $"{sceneData.Item.OriginalTitle} {sceneData.Item.Name}";
                }

                if (posters.Any())
                {
                    res.ImageUrl = posters.First().Url;
                }

                result.Add(res);
            }

            return(result);
        }
Example #5
0
 public AnaysleService()
 {
     DataProvider = new ProviderWithDB();
 }
Example #6
0
 public ProviderService(IProviderBase providerBase)
 {
     this.providerBase = providerBase;
 }
Example #7
0
        private void textBox3_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                if (!checkBox1.Checked)
                {
                    IProviderBase provider = _providers.Where(p => p == comboBox1.SelectedValue).FirstOrDefault();
                    try
                    {
                        textBox2.Text = TableFromVerb(provider.GetConjugation(textBox3.Text.Trim()));
                    }
                    catch (Exception ex)
                    {
                        string temp = string.Empty;
                        foreach (var key in ex.Data.Keys)
                        {
                            temp += $"{key}:{ex.Data[key]}";
                        }

                        textBox2.Text = string.Format($"{ex.Message}=\r\n{ex.StackTrace}\r\n\r\n\r\n{temp}");
                        ////textBox2.Text = string.Format($"{ex.Message}\r\n{ex.StackTrace}\r\n{ex.Data}" );
                    }
                }
                else
                {
                    foreach (IProviderBase provider in _providers)
                    {
                        string verbTable = string.Empty;
                        try
                        {
                            verbTable = TableFromVerb(provider.GetConjugation(textBox3.Text.Trim()));
                        }
                        catch (Exception ex)
                        {
                            string temp = string.Empty;
                            foreach (var key in ex.Data.Keys)
                            {
                                temp += $"{key}:{ex.Data[key]}";
                            }

                            textBox2.Text = string.Format($"{ex.Message}=\r\n{ex.StackTrace}\r\n{temp}");
                            ////textBox2.Text = string.Format($"{ex.Message}\r\n{ex.StackTrace}\r\n{ex.Data}");
                        }

                        if (!string.IsNullOrEmpty(verbTable))
                        {
                            textBox2.Text = verbTable;
                            break;
                        }
                    }
                }

                textBox3.Text = string.Empty;
            }

            if (e.Control && e.KeyCode == Keys.A)
            {
                textBox3.SelectAll();
                e.Handled          = true;
                e.SuppressKeyPress = true;
            }
        }