public bool Publish(out List <string> publishDetails, BackgroundWorker bw = null) { publishDetails = new List <string>(); var apiKey = Settings.GetApiKey(); if (!string.IsNullOrEmpty(apiKey)) { var categoriesToImport = new ProductCategoryRepository(Settings.ConnectionString).GetAll().ToList(); var existingCategories = WebServiceHelper.GetAllCategories(); //create all categories if they don't exist var numOfPublishedCategories = 0; foreach (var category in categoriesToImport) { if (existingCategories.All(s => s?.Name != category.Category)) { var pushableCategory = new PrivateCategory { Name = category.Category }; //if (!string.IsNullOrWhiteSpace(category.ParentCategoryName)) //{ // pushableCategory.ParentCategoryId = GetParentCategoryID(existingCategories, category); //} //else //{ pushableCategory.Depth = 0; //} existingCategories.Add(WebServiceHelper.PushCategory(pushableCategory)); publishDetails.Add($"Added category: {category.Category}"); numOfPublishedCategories++; } } if (numOfPublishedCategories == 0) { Logger.Instance.Warning("No categories were found to import."); } publishDetails.Insert(0, $"{numOfPublishedCategories} Categories published."); Logger.Instance.Info($"{numOfPublishedCategories} Categories published."); Logger.Instance.Debug($"{numOfPublishedCategories} Categories published. ApiKey: {apiKey}"); return(true); } Logger.Instance.Warning("No Api Key set."); return(false); }
public static PrivateCategory PushCategory(PrivateCategory category) { var requestUrl = $"/CategoryService/rest/Add/{Key}"; var request = new RestRequest(requestUrl, Method.POST); request.AddJsonBody(category); var response = Client.Execute <ApiResult <PrivateCategory> >(request); if (response.Data.Result == null) { return(null); } return(response.Data.Item); }
public static PrivateCategory PushCategory(PrivateCategory category) { try { var requestUrl = $"/CategoryService/rest/Add/{Key}"; var request = new RestRequest(requestUrl, Method.POST); request.AddJsonBody(category); var response = Client.Execute <ApiResult <PrivateCategory> >(request); if (response.Data.Result == null) { return(null); } return(response.Data.Item); } catch (Exception ex) { throw new Exception(JsonConvert.SerializeObject(category), ex); } }