Ejemplo n.º 1
0
		private void ExportAssets(string catalogId, OperationStatus currentOperation)
		{
			var fileName = string.Format("{0} ItemAssets ({1}).csv", catalogId, DateTime.UtcNow.ToString(DateFormat));
			using (var stream = new MemoryStream())
			{
				var textWriter = new StreamWriter(stream, Encoding.UTF8);
				var csvWriter = new CsvWriter(textWriter, ",");

				csvWriter.WriteRow(new List<string> {"Catalog", "ItemCode", "AssetId", "Group", "Type"}, false);

				using (var repository = _catalogRepositoryFactory.GetRepositoryInstance())
				{
					if (repository != null)
					{
						repository.Items.Expand(x => x.ItemAssets)
						          .Where(item => item.CatalogId.Equals(catalogId))
						          .ToList()
						          .ForEach(item => item.ItemAssets.ToList().ForEach(asset =>
							          {
								          csvWriter.WriteRow(new[] {catalogId, item.Code, asset.AssetId, asset.GroupName, asset.AssetType}, false);
								          currentOperation.Processed++;
							          }));
					}
				}

				stream.Seek(0, SeekOrigin.Begin);
				var uploadError = Upload(fileName, stream);
				if (!string.IsNullOrEmpty(uploadError))
					currentOperation.Errors.Add(uploadError);
			}

		}
Ejemplo n.º 2
0
		private void ExportLocalization(string sourceLanguage, string targetLanguage, OperationStatus currentOperation)
		{
			var fileName = string.Format("{0} - {1} ({2}).csv", sourceLanguage, targetLanguage, DateTime.UtcNow.ToString(DateFormat));

			using (var stream = new MemoryStream())
			{
				var textWriter = new StreamWriter(stream, Encoding.UTF8);
				var csvWriter = new CsvWriter(textWriter, ",");
				csvWriter.WriteRow(
					new List<string>
						{
							"Name",
							sourceLanguage,
							string.Format("LanguageCode ({0})", targetLanguage),
							string.Format("Value - {0}", targetLanguage)
						},
					false);

				using (var repository = _appConfigRepositoryFactory.GetRepositoryInstance())
				{
					if (repository != null)
					{
						var names = repository.Localizations.ToList().Select(x => x.Name).Distinct();
						var translateItems =
							repository.Localizations.Where(x => x.LanguageCode == targetLanguage).ToDictionary(x => x.Name);
						var originalItems =
							repository.Localizations.Where(x => x.LanguageCode == sourceLanguage).ToDictionary(x => x.Name);

						foreach (var name in names)
						{
							var isTranslateExists = translateItems.ContainsKey(name);
							//if ((IsUntranslatedOnly && !isTranslateExists) || !IsUntranslatedOnly)
							{
								var original = originalItems.ContainsKey(name)
									               ? originalItems[name]
									               : new Localization()
										               {
											               Name = name,
											               LanguageCode = sourceLanguage,
											               Value = string.Empty
										               };
								var translated = isTranslateExists
									                 ? translateItems[name]
									                 : new Localization()
										                 {
											                 Name = original.Name,
											                 LanguageCode = targetLanguage,
											                 Category = original.Category,
											                 Value = string.Empty
										                 };

								csvWriter.WriteRow(new[] {name, original.Value, translated.Value}, true);
								currentOperation.Processed++;
							}
						}
					}
				}

				stream.Seek(0, SeekOrigin.Begin);
				var uploadError = Upload(fileName, stream);
				if (!string.IsNullOrEmpty(uploadError))
					currentOperation.Errors.Add(uploadError);
			}

		}
Ejemplo n.º 3
0
		private void ExportItems(string catalogId, OperationStatus currentOperation)
		{
			var fileName = string.Format("{0} Items ({1}).csv", catalogId, DateTime.UtcNow.ToString(DateFormat));
			using (var stream = new MemoryStream())
			{
				var textWriter = new StreamWriter(stream, Encoding.UTF8);
				{
					var csvWriter = new CsvWriter(textWriter, ",");
					csvWriter.WriteRow(
						new List<string>
							{
								"Catalog",
								"Code",
								"Name",
								"StartDate",
								"EndDate",
								"IsBuyable",
								"IsActive",
								"MinQuantity",
								"MaxQuantity",
								"Weight",
								"PackageType",
								"TaxCategory",
								"Type"
							}, false);

					using (var repository = _catalogRepositoryFactory.GetRepositoryInstance())
					{
						if (repository != null)
						{
							repository.Items.Where(item => item.CatalogId.Equals(catalogId)).ToList().ForEach(item =>
								{
									csvWriter.WriteRow(new[]
										{
											catalogId,
											item.Code,
											item.Name,
											item.StartDate.ToString(),
											item.EndDate == null ? string.Empty : item.EndDate.ToString(),
											item.IsBuyable.ToString(),
											item.IsActive.ToString(),
											item.MinQuantity.ToString(),
											item.MaxQuantity.ToString(),
											item.Weight.ToString(),
											item.PackageType == null ? string.Empty : item.PackageType.ToString(),
											item.TaxCategory == null ? string.Empty : item.TaxCategory.ToString(),
											item.GetType().Name
										}, false);
									currentOperation.Processed++;
								});
						}
					}
				}

				stream.Seek(0, SeekOrigin.Begin);
				var uploadError = Upload(fileName, stream);
				if (!string.IsNullOrEmpty(uploadError))
					currentOperation.Errors.Add(uploadError);
			}
		}