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())); }
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(); } }