Exemplo n.º 1
0
        public async Task <IActionResult> GetSeoDuplicates(string objectId, string objectType)
        {
            var seoDuplicates = await _seoService.GetAllSeoDuplicatesAsync();

            var retVal = _seoDuplicateDetector.DetectSeoDuplicates(objectType, objectId, seoDuplicates);

            return(Ok(retVal.ToArray()));
        }
Exemplo n.º 2
0
        public async Task ExportAsync(Stream outStream, ExportImportOptions options, Action <ExportImportProgressInfo> progressCallback,
                                      ICancellationToken cancellationToken)
        {
            cancellationToken.ThrowIfCancellationRequested();
            var progressInfo = new ExportImportProgressInfo {
                Description = "loading data..."
            };

            progressCallback(progressInfo);

            using (var sw = new StreamWriter(outStream, System.Text.Encoding.UTF8))
                using (var writer = new JsonTextWriter(sw))
                {
                    writer.WriteStartObject();

                    progressInfo.Description = "Currencies exporting...";
                    progressCallback(progressInfo);

                    var currencyResult = await _currencyService.GetAllCurrenciesAsync();

                    writer.WritePropertyName("CurrencyTotalCount");
                    writer.WriteValue(currencyResult.Count());

                    writer.WritePropertyName("Currencies");
                    writer.WriteStartArray();

                    foreach (var currency in currencyResult)
                    {
                        _serializer.Serialize(writer, currency);
                    }

                    writer.Flush();
                    progressInfo.Description = $"{currencyResult.Count()} currencies exported";
                    progressCallback(progressInfo);

                    writer.WriteEndArray();

                    var packageTypesResult = await _packageTypesService.GetAllPackageTypesAsync();

                    writer.WritePropertyName("PackageTypeTotalCount");
                    writer.WriteValue(packageTypesResult.Count());

                    writer.WritePropertyName("PackageTypes");
                    writer.WriteStartArray();

                    foreach (var packageType in packageTypesResult)
                    {
                        _serializer.Serialize(writer, packageType);
                    }

                    writer.Flush();
                    progressInfo.Description = $"{packageTypesResult.Count()} package types exported";
                    progressCallback(progressInfo);
                    writer.WriteEndArray();

                    var seoResult = await _seoService.GetAllSeoDuplicatesAsync();

                    writer.WritePropertyName("SeoInfoTotalCount");
                    writer.WriteValue(seoResult.Count());

                    writer.WritePropertyName("SeoInfos");
                    writer.WriteStartArray();

                    foreach (var seoInfo in seoResult)
                    {
                        _serializer.Serialize(writer, seoInfo);
                    }

                    writer.Flush();
                    progressInfo.Description = $"{seoResult.Count()} seo info exported";
                    progressCallback(progressInfo);

                    writer.WriteEndArray();

                    writer.WriteEndObject();
                    writer.Flush();
                }
        }