private void dgListDesigns_SelectionChanged(object sender, SelectionChangedEventArgs e) { try { if (dgListDesigns.SelectedItem == null) { return; } FileDesignDTO fileDesign = dgListDesigns.SelectedItem as FileDesignDTO; storage.RectangleImage = fileDesign.FilePath; } catch (Exception err) { MessageBox.Show("Select cell error: " + err.Message); } }
private void UploadTOGGDrive(FileDesignDTO dgr, string folderId) { // get current row DataGridRow rowDetail = dgvImageInfo.ItemContainerGenerator.ContainerFromItem(dgr) as DataGridRow; string shareableLink = GoogleDriveFilesRepository.FileUpload(dgr.FilePath, folderId); if (shareableLink != null && shareableLink.Length > 0) { string id = dgr.Filename.Split('-')[0]; imageUploads.Add(new ImageUploadDTO() { ID = id, ImageLink = shareableLink }); dgvImageInfo.Dispatcher.Invoke(new Action(delegate { SolidColorBrush brush = new SolidColorBrush(System.Windows.Media.Color.FromArgb(255, 81, 211, 115)); rowDetail.Background = brush; })); } }
private void requestUploadProducts_Shopbase_Thread(object o) { // Break object get data object[] array = o as object[]; FileDesignDTO fileDesign = (FileDesignDTO)(array[0]); string domain = (string)array[1]; DataGrid dgv_designs_UploadShopify = (DataGrid)array[2]; List <string> listTags = (List <string>)array[3]; ShopifyTokenData store = (ShopifyTokenData)array[4]; int i = Convert.ToInt32(array[5]); // Init data temp List <string> fileImageList = new List <string>(); List <string> colorsList = new List <string>(); List <string> productType = new List <string>(); List <ProductImage> productImages = new List <ProductImage>(); BUS_UploadShopify busUploadShopify = new BUS_UploadShopify(); StatusDTO dtoStatus = new StatusDTO(); var colorsByType = new Dictionary <string, List <string> >(); try { Application.Current.Dispatcher.Invoke(() => { SP.WriteLogs(rtbLogsUploadProduct, domain + " uploading design số " + i + ": " + fileDesign.Filename.ToString()); string[] files = Directory.GetFiles(txtDesigns_UploadShopify.Text); Array.Sort(files, StringComparer.InvariantCulture); // Check if file is image and has description foreach (var oFile in files) { if (oFile.Contains(".png") || oFile.ToLower().Contains(".jpg")) { if (oFile.Contains(fileDesign.Filename.ToString())) { string prodType = oFile.Split('-')[1]; productType.Add(prodType); string color = ""; if (oFile.Split('-')[1] == "mug" || oFile.Split('-')[1] == "pillow") { color = SP.CapitalizeFirstLetter(oFile.Split('-')[oFile.Split('-').Length - 2].Replace(".png", "").Replace(".jpg", "")); } else { color = SP.CapitalizeFirstLetter(oFile.Split('-')[oFile.Split('-').Length - 3].Replace(".png", "").Replace(".jpg", "")); } fileImageList.Add(oFile); if (!colorsByType.ContainsKey(prodType)) { colorsByType.Add(prodType, new List <string>()); } colorsByType[prodType].Add(color); productImages.Add(new ProductImage(oFile, fileDesign.Filename, oFile.Split('-')[1], color)); if (File.Exists(pathDescriptionFormat + "\\" + oFile.Split('-')[1] + ".chel") && oFile.Split('-')[1].ToLower() == "mug" || oFile.Split('-')[1].ToLower() == "pillow") { continue; } if (sizePriceName.Text.Length == 0) { MessageBox.Show("Chưa chọn loại sản phẩm!"); return; } var desDocument = descriptionContent.Document; if (new TextRange(desDocument.ContentStart, desDocument.ContentEnd).IsEmpty) { MessageBox.Show("Chưa nhập description!"); return; } } } } var productTypes = productType.Distinct().ToList(); var ind = 0; while (true) { var stop = true; foreach (var prodType in productTypes) { var prodTypeColors = colorsByType.GetValueOrNull(prodType); if (prodTypeColors != null && ind < prodTypeColors.Count) { var newColor = prodTypeColors.ElementAt(ind); colorsList.Add(newColor); stop = false; } } ind++; if (stop) { break; } } // Group by product type list => unique list (set) var title = SP.CapitalizeFirstLetter(fileDesign.Filename.ToString()); var colors = colorsList.Distinct().ToList(); var sizePrices = new List <SizePrice>(); var items = this.sizePriceGrid.Items; foreach (var item in items) { sizePrices.Add((SizePrice)item); } var options = UploadShopifyHelper.GetOptions(productTypes.ToArray(), sizePrices.ToArray(), colors.ToArray()); var variants = UploadShopifyHelper.GetVariants(productTypes.ToArray(), productImages.ToArray(), pathPriceSizeFormat); TextRange textRange = new TextRange(descriptionContent.Document.ContentStart, descriptionContent.Document.ContentEnd); string body_html = textRange.Text.Replace("\"", "\\\"").Replace("\n", ""); var productState = new ProductState(title, body_html, Helper.GetProductType(sizePriceName.Text), listTags.ToArray()); var success = BUS_UploadShopbase.Upload_Shopbase(store, options, variants, productState, productImages.ToArray(), rtbLogsUploadProduct); if (success) { dgv_designs_UploadShopify.Dispatcher.Invoke(new Action(delegate { DataGridRow row = dgv_designs_UploadShopify.ItemContainerGenerator.ContainerFromItem(fileDesign) as DataGridRow; SolidColorBrush brush = new SolidColorBrush(System.Windows.Media.Color.FromArgb(255, 81, 211, 115)); row.Background = brush; })); } else { dgv_designs_UploadShopify.Dispatcher.Invoke(new Action(delegate { DataGridRow row = dgv_designs_UploadShopify.ItemContainerGenerator.ContainerFromItem(fileDesign) as DataGridRow; SolidColorBrush brush = new SolidColorBrush(System.Windows.Media.Color.FromArgb(255, 233, 80, 101)); row.Background = brush; })); } }); } catch (Exception ex) { MessageBox.Show(ex.ToString()); SP.WriteLogs(rtbLogsUploadProduct, ex.Message); } }
private void requestUploadProducts_Shopbase_Thread(object o) { // Break object get data object[] array = o as object[]; FileDesignDTO fileDesign = (FileDesignDTO)(array[0]); string domain = (string)array[1]; DataGrid dgv_designs_UploadShopify = (DataGrid)array[2]; List <string> listTags = (List <string>)array[3]; ShopifyTokenData store = (ShopifyTokenData)array[4]; int i = Convert.ToInt32(array[5]); // Init data temp List <string> fileImageList = new List <string>(); List <string> colorsList = new List <string>(); List <string> productType = new List <string>(); List <ProductImage> productImages = new List <ProductImage>(); BUS_UploadShopify busUploadShopify = new BUS_UploadShopify(); StatusDTO dtoStatus = new StatusDTO(); try { Application.Current.Dispatcher.Invoke(() => { SP.WriteLogs(rtbLogsUploadProduct, domain.Replace(".myshopify.com", "") + " uploading design số " + i + ": " + fileDesign.Filename.ToString()); string[] files = Directory.GetFiles(txtDesigns_UploadShopify.Text); // Check if file is image and has description foreach (var oFile in files) { if (oFile.Contains(".png") || oFile.ToLower().Contains(".jpg")) { if (oFile.Contains(fileDesign.Filename.ToString())) { productType.Add(oFile.Split('-')[1]); string color = ""; if (oFile.Split('-')[1] == "mug" || oFile.Split('-')[1] == "pillow") { fileImageList.Add(oFile); color = SP.CapitalizeFirstLetter(oFile.Split('-')[oFile.Split('-').Length - 2].Replace(".png", "").Replace(".jpg", "")); } else { fileImageList.Add(oFile); color = SP.CapitalizeFirstLetter(oFile.Split('-')[oFile.Split('-').Length - 3].Replace(".png", "").Replace(".jpg", "")); } colorsList.Add(color); productImages.Add(new ProductImage(oFile, fileDesign.Filename, oFile.Split('-')[1], color)); if (File.Exists(pathDescriptionFormat + "\\" + oFile.Split('-')[1] + ".chel") && oFile.Split('-')[1].ToLower() == "mug" || oFile.Split('-')[1].ToLower() == "pillow") { continue; } if (!File.Exists(pathDescriptionFormat + "\\" + oFile.Split('-')[1] + "-men" + ".chel")) { MessageBox.Show("chưa có description cho dòng áo: " + oFile.Split('-')[1] + "-men"); return; } if (!File.Exists(pathDescriptionFormat + "\\" + oFile.Split('-')[1] + "-women" + ".chel")) { MessageBox.Show("chưa có description cho dòng áo: " + oFile.Split('-')[1] + "-women"); return; } if (!File.Exists(pathPriceSizeFormat + "\\" + oFile.Split('-')[1] + ".chel")) { MessageBox.Show("chưa có price-size cho dòng áo: " + oFile.Split('-')[1]); return; } } } } // Group by product type list => unique list (set) var title = SP.CapitalizeFirstLetter(fileDesign.Filename.ToString()); SP.WriteLogs(rtbLogsUploadProduct, "Product title: " + title); var productTypeFromSize = Path.GetFileName(selectedFileNameSizePrice).Replace(".chel", ""); var productTypes = productType.Distinct().ToList(); var colors = colorsList.Distinct().ToList(); var sizePrices = new List <SizePrice>(); var items = this.sizePriceGrid.Items; foreach (var item in items) { sizePrices.Add((SizePrice)item); } var options = UploadShopifyHelper.GetOptions(productTypes.ToArray(), sizePrices.ToArray(), colors.ToArray()); var variants = UploadShopifyHelper.GetVariants(productTypes.ToArray(), productImages.ToArray(), pathPriceSizeFormat); TextRange textRange = new TextRange(descriptionContent.Document.ContentStart, descriptionContent.Document.ContentEnd); string body_html = "<h2 style=\\\"text-align: center; \\\">" + title + "</h2>" + textRange.Text.Replace("\"", "\\\"").Replace("\n", ""); var productState = new ProductState(title, body_html, productTypeFromSize, listTags.ToArray()); var success = BUS_UploadShopbase.Upload_Shopbase(store, options, variants, productState, productImages.ToArray(), rtbLogsUploadProduct); if (success) { dgv_designs_UploadShopify.Dispatcher.Invoke(new Action(delegate { DataGridRow row = dgv_designs_UploadShopify.ItemContainerGenerator.ContainerFromItem(fileDesign) as DataGridRow; SolidColorBrush brush = new SolidColorBrush(System.Windows.Media.Color.FromArgb(255, 81, 211, 115)); row.Background = brush; })); } else { dgv_designs_UploadShopify.Dispatcher.Invoke(new Action(delegate { DataGridRow row = dgv_designs_UploadShopify.ItemContainerGenerator.ContainerFromItem(fileDesign) as DataGridRow; SolidColorBrush brush = new SolidColorBrush(System.Windows.Media.Color.FromArgb(255, 233, 80, 101)); row.Background = brush; })); } }); } catch (Exception ex) { MessageBox.Show(ex.ToString()); SP.WriteLogs(rtbLogsUploadProduct, ex.Message); } }
private void requestUploadProducts_Shopify_Thread(object o) { // Break object get data object[] array = o as object[]; FileDesignDTO fileDesign = (FileDesignDTO)(array[0]); string domain = (string)array[1]; DataGrid dgv_designs_UploadShopify = (DataGrid)array[2]; List <string> listTags = (List <string>)array[3]; string accessToken = (string)array[4]; int i = Convert.ToInt32(array[5]); // Init data temp List <string> fileImageList = new List <string>(); List <string> colorsList = new List <string>(); List <string> productType = new List <string>(); BUS_UploadShopify busUploadShopify = new BUS_UploadShopify(); StatusDTO dtoStatus = new StatusDTO(); try { Application.Current.Dispatcher.Invoke(() => { SP.WriteLogs(rtbLogsUploadProduct, domain.Replace(".myshopify.com", "") + " uploading design số " + i + ": " + fileDesign.Filename.ToString()); string[] files = Directory.GetFiles(txtDesigns_UploadShopify.Text); foreach (var oFile in files) { //MessageBox.Show(oFile.ToString()); if (oFile.Contains(".png") || oFile.ToLower().Contains(".jpg")) { if (oFile.Contains(fileDesign.Filename.ToString())) { productType.Add(oFile.Split('-')[1]); if (File.Exists(pathDescriptionFormat + "\\" + oFile.Split('-')[1] + ".chel") && oFile.Split('-')[1].ToLower() == "mug" || oFile.Split('-')[1].ToLower() == "pillow") { continue; } if (!File.Exists(pathDescriptionFormat + "\\" + oFile.Split('-')[1] + "-men" + ".chel")) { MessageBox.Show("chưa có description cho dòng áo: " + oFile.Split('-')[1] + "-men"); return; } if (!File.Exists(pathDescriptionFormat + "\\" + oFile.Split('-')[1] + "-women" + ".chel")) { MessageBox.Show("chưa có description cho dòng áo: " + oFile.Split('-')[1] + "-women"); return; } if (!File.Exists(pathPriceSizeFormat + "\\" + oFile.Split('-')[1] + ".chel")) { MessageBox.Show("chưa có price-size cho dòng áo: " + oFile.Split('-')[1]); return; } } } } // Group by product type list => unique list (set) productType = productType.Distinct().ToList(); for (int j = 0; j < productType.Count; j++) { fileImageList.Clear(); colorsList.Clear(); foreach (var oFile in files) { if (oFile.Contains(".png") || oFile.ToLower().Contains(".jpg")) { if (oFile.Contains(fileDesign.Filename.ToString()) && oFile.Split('-')[1] == productType[j]) { if (oFile.Split('-')[1] == "mug" || oFile.Split('-')[1] == "pillow") { fileImageList.Add(oFile); colorsList.Add(SP.CapitalizeFirstLetter(oFile.Split('-')[oFile.Split('-').Length - 2].Replace(".png", "").Replace(".jpg", ""))); } else { fileImageList.Add(oFile); colorsList.Add(SP.CapitalizeFirstLetter(oFile.Split('-')[oFile.Split('-').Length - 3].Replace(".png", "").Replace(".jpg", ""))); } } } } // Group by color list => unique list (set) colorsList = colorsList.Distinct().ToList(); // Upload Shopify check product exist if (uploadShopifyHelper.getProductType(productType[j]) == "Not Found") { MessageBox.Show("Product Type Not Found"); return; } dtoStatus = busUploadShopify.Upload_Shopify(txtDesigns_UploadShopify.Text, colorsList, fileImageList, productType[j], fileDesign.Filename.ToString(), pathDescriptionFormat, pathPriceSizeFormat, domain, accessToken, listTags); // Set status on process if (!dtoStatus.status) { dgv_designs_UploadShopify.Dispatcher.Invoke(new Action(delegate { DataGridRow row = dgv_designs_UploadShopify.ItemContainerGenerator.ContainerFromItem(fileDesign) as DataGridRow; SolidColorBrush brush = new SolidColorBrush(System.Windows.Media.Color.FromArgb(255, 233, 80, 101)); row.Background = brush; })); SP.WriteLogs(rtbLogsUploadProduct, domain.Replace(".myshopify.com", "") + " FAIL => số " + i + " " + dgv_designs_UploadShopify.Items.IndexOf(i).ToString().Replace(".png", "").Replace(".jpg", "") + " Sản phẩm: " + productType[j]); } else if (j == productType.Count - 1) { dgv_designs_UploadShopify.Dispatcher.Invoke(new Action(delegate { DataGridRow row = dgv_designs_UploadShopify.ItemContainerGenerator.ContainerFromItem(fileDesign) as DataGridRow; SolidColorBrush brush = new SolidColorBrush(System.Windows.Media.Color.FromArgb(255, 81, 211, 115)); row.Background = brush; })); SP.WriteLogs(rtbLogsUploadProduct, domain.Replace(".myshopify.com", "") + " OK => số " + i + " Sản phẩm: " + productType[j]); } else if (j < productType.Count - 1) { dgv_designs_UploadShopify.Dispatcher.Invoke(new Action(delegate { DataGridRow row = dgv_designs_UploadShopify.ItemContainerGenerator.ContainerFromItem(fileDesign) as DataGridRow; SolidColorBrush brush = new SolidColorBrush(System.Windows.Media.Color.FromArgb(255, 70, 189, 223)); row.Background = brush; })); SP.WriteLogs(rtbLogsUploadProduct, domain.Replace(".myshopify.com", "") + " OK => số " + i + " Sản phẩm: " + productType[j]); } } }); } catch (Exception ex) { MessageBox.Show(ex.ToString()); SP.WriteLogs(rtbLogsUploadProduct, ex.Message); } }