/// <summary> /// Upload hình lấy thông tin từ file Excel /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnUpdateAll_Click(object sender, EventArgs e) { //Check data if (dtDataTemp.Rows.Count == 0) { XtraMessageBox.Show("Not found data!", "Message"); return; } //Check data if (dtDataTempColor.Rows.Count == 0) { XtraMessageBox.Show("No themes selected!", "Message"); return; } panelControlAction.Enabled = false; Thread t = new Thread(new ThreadStart(() => { foreach (DataRow dr in dtDataTemp.Rows) { try { CoreLibary.writeLogThread(lsBoxLog, "Uploading " + dr["Title"].ToString(), 3); UploadAndDownload(dr); CoreLibary.writeLogThread(lsBoxLog, "Uploaded " + dr["Title"].ToString(), 1); } catch (Exception ex) { CoreLibary.writeLogThread(lsBoxLog, "Upload Error: " + ex.Message, 2); } } panelControlAction.Invoke((MethodInvoker) delegate { panelControlAction.Enabled = true; }); })); t.Start(); }
private void Form1_Load(object sender, EventArgs e) { //Tạo folder save file sau khi upload thành công if (!Directory.Exists(dirSaveImageSunUploaded)) { Directory.CreateDirectory(dirSaveImageSunUploaded); } if (!Directory.Exists(dirSaveImageUploaded)) { Directory.CreateDirectory(dirSaveImageUploaded); } //clearContent(); //Khởi tạo dtDataTempColor dtDataTempColor = new DataTable(); dtDataTempColor.Columns.AddRange(new DataColumn[] { new DataColumn("Id"), new DataColumn("Name"), new DataColumn("Price") , new DataColumn("Color1"), new DataColumn("Color2") , new DataColumn("Color3"), new DataColumn("Color4") , new DataColumn("Color5") }); //Khởi tạo dtDataTemp dtDataTemp = new DataTable(); dtDataTemp.Columns.AddRange(new DataColumn[] { new DataColumn("FrontBack"), new DataColumn("Image") , new DataColumn("Title"), new DataColumn("Category") , new DataColumn("Description"), new DataColumn("Keyword") , new DataColumn("Collection"), new DataColumn("Status") }); lsCategory = objCategory.getListCategory(); lsCategoryProduct = objCategory.getListCategoryProduct(); info_cbbCategory.Properties.DataSource = lsCategoryProduct; info_cbbCategory.Properties.DisplayMember = "Name"; info_cbbCategory.Properties.ValueMember = "Id"; cbbCategory.Properties.DataSource = lsCategory; cbbCategory.Properties.DisplayMember = "Name"; cbbCategory.Properties.ValueMember = "Id"; cbbCategory.ItemIndex = 0; info_cbbCategory.ItemIndex = 0; cookieContainer = new CookieContainer(); if (cookieContainer.Count == 0) { CoreLibary.writeLog(lsBoxLog, "Your session has expired and you are no longer logged in.", 1); groupControlInfo.Enabled = groupControlSelectTheme.Enabled = groupControlTheme.Enabled = panelControlAction.Enabled = false; } }
/// <summary> /// Chuyển hình đã upload lên Sunfrog vào folder khác /// </summary> /// <param name="fileName">đường dẫn hình hiện tại</param> private void moveImageUploaded(string fileName) { try { if (File.Exists(fileName)) { string newFileName = dirSaveImageUploaded + Path.GetFileName(fileName); File.Move(fileName, newFileName); } } catch (Exception ex) { CoreLibary.writeLogThread(lsBoxLog, ex.Message, 2); } }
/// <summary> /// Chọn file Excel chứa dữ liệu cần upload /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnOpenFileExcel_Click(object sender, EventArgs e) { try { OpenFileDialog op = new OpenFileDialog(); op.Filter = "Excel .xlsx|*.xlsx|Excel .xls|*.xls"; if (DialogResult.OK == op.ShowDialog()) { txtPath.Text = op.FileName; dtDataTemp = new DataTable(); dtDataTemp = CoreLibary.getDataExcelFromFileToDataTable(op.FileName); CoreLibary.writeLog(lsBoxLog, "Success " + dtDataTemp.Rows.Count + " record(s) is opened", 1); } } catch (Exception ex) { XtraMessageBox.Show("Error: " + ex.Message); } }
/// <summary> /// Lấy chuỗi json màu sắc và danh mục /// </summary> /// <returns>Chuỗi json các màu sắc và category đã chọn</returns> private string getListTheme() { // themes = "{\"id\":8,\"name\":\"Guys Tee\",\"price\":19,\"colors\":[\"Orange\",\"Yellow\"]}"; string result = "["; foreach (DataRow drTheme in dtDataTempColor.Rows) { var color = ""; result += "{\"id\": " + drTheme["Id"] + ", \"name\": \"" + drTheme["Name"] + "\", \"price\": " + drTheme["Price"] + ","; result += "\"colors\":["; if (!string.IsNullOrEmpty(drTheme["Color1"].ToString())) { color += drTheme["Color1"].ToString() + ","; } if (!string.IsNullOrEmpty(drTheme["Color2"].ToString())) { color += drTheme["Color2"].ToString() + ","; } if (!string.IsNullOrEmpty(drTheme["Color3"].ToString())) { color += drTheme["Color3"].ToString() + ","; } if (!string.IsNullOrEmpty(drTheme["Color4"].ToString())) { color += drTheme["Color4"].ToString() + ","; } if (!string.IsNullOrEmpty(drTheme["Color5"].ToString())) { color += drTheme["Color5"].ToString() + ","; } result += CoreLibary.convertStringToJson(color); result += "]"; result += "},"; } result = result.TrimEnd(','); result += "]"; return(result); }
/// <summary> /// Lấy chuỗi json màu sắc và danh mục /// </summary> /// <returns>Chuỗi json các màu sắc và category đã chọn</returns> private List <string> getListThemeObject() { List <string> data = new List <string>(); // themes = "{\"id\":8,\"name\":\"Guys Tee\",\"price\":19,\"colors\":[\"Orange\",\"Yellow\"]}"; foreach (DataRow drTheme in dtDataTempColor.Rows) { var result = ""; var color = ""; result += "{\"id\": " + drTheme["Id"] + ", \"name\": \"" + drTheme["Name"] + "\", \"price\": " + drTheme["Price"] + ","; result += "\"colors\":["; if (!string.IsNullOrEmpty(drTheme["Color1"].ToString())) { color += drTheme["Color1"].ToString() + ","; } if (!string.IsNullOrEmpty(drTheme["Color2"].ToString())) { color += drTheme["Color2"].ToString() + ","; } if (!string.IsNullOrEmpty(drTheme["Color3"].ToString())) { color += drTheme["Color3"].ToString() + ","; } if (!string.IsNullOrEmpty(drTheme["Color4"].ToString())) { color += drTheme["Color4"].ToString() + ","; } if (!string.IsNullOrEmpty(drTheme["Color5"].ToString())) { color += drTheme["Color5"].ToString() + ","; } result += CoreLibary.convertStringToJson(color); result += "]}"; data.Add(result); } return(data); }
/// <summary> /// Upload file to Sunfrog /// </summary> /// <param name="dr">Nội dụng dữ liệu cần upload</param> private void UploadAndDownload(DataRow dr) { //Config Data var frontbackImage = dr["FrontBack"].ToString().Trim(); var pathImage = dr["Image"].ToString().Trim(); var title = dr["Title"].ToString().Trim(); var category = getIDCategory(dr["Category"].ToString().Trim()); var description = dr["Description"].ToString().Trim(); var keyword = CoreLibary.convertStringToJson(dr["Keyword"].ToString().Trim()); var collection = dr["Collection"].ToString().Trim(); var themes = getListTheme(); var imgBase64 = CoreLibary.ConvertImageToBase64(pathImage); //themes = "{\"id\":8,\"name\":\"Guys Tee\",\"price\":19,\"colors\":[\"Orange\",\"Yellow\"]}"; //themes += ",{\"id\":19,\"name\":\"Hoodie\",\"price\":34,\"colors\":[\"White\",\"Green\"]}"; //2. Upload Image var strBack = ""; var strFront = ""; if (frontbackImage == "B") { strBack = "";// Resources.ImageBack; } else { strFront = "";// Resources.ImageFront; } var dataToSend = ""; dataToSend = "{"; dataToSend += "\"ArtOwnerID\":\"0\",\"IAgree\":\"true\""; dataToSend += ",\"Title\":\"" + title + "\""; dataToSend += ",\"Category\":\"" + category + "\""; dataToSend += ",\"Description\":\"" + description + "\""; dataToSend += ",\"Collections\":\"" + collection + "\""; dataToSend += ",\"Keywords\": [" + keyword + "]"; dataToSend += ",\"imageFront\":\"" + strFront + "\""; dataToSend += ",\"imageBack\":\"" + strBack + "\""; dataToSend += ",\"types\":" + themes; dataToSend += ",\"images\":[{\"id\":\"__dataURI: 0__\",\"uri\":\"data:image/png;base64," + imgBase64 + "\"}]"; dataToSend += "}"; byte[] postDataBytes2 = Encoding.ASCII.GetBytes(dataToSend); string getUrl = "https://manager.sunfrogshirts.com/Designer/php/upload-handler.cfm"; HttpWebRequest getRequest = (HttpWebRequest)WebRequest.Create(getUrl); //getRequest.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:49.0) Gecko/20100101 Firefox/49.0"; //getRequest.Accept = "*/*"; getRequest.Method = "POST"; //getRequest.AllowWriteStreamBuffering = true; //getRequest.AllowAutoRedirect = true; getRequest.Host = "manager.sunfrogshirts.com"; getRequest.Headers.Add("X-Requested-With", "XMLHttpRequest"); //getRequest.Headers.Add("Accept-Language", "vi-VN,vi;q=0.8,en-US;q=0.5,en;q=0.3"); //getRequest.Headers.Add("Accept-Encoding", "gzip, deflate, br"); getRequest.ContentType = "application/json; charset=UTF-8"; getRequest.Referer = "https://manager.sunfrogshirts.com/Designer/"; getRequest.CookieContainer = cookieContainer; getRequest.ContentLength = postDataBytes2.Length; getRequest.Headers.Add("Origin", "https://sunfrogshirts.com"); getRequest.KeepAlive = true; using (Stream sr = getRequest.GetRequestStream()) { //sr.Write(dataToSend); sr.Write(postDataBytes2, 0, postDataBytes2.Length); sr.Flush(); sr.Close(); } HttpWebResponse getResponse = (HttpWebResponse)getRequest.GetResponse(); string sourceCode = ""; using (StreamReader sr = new StreamReader(getResponse.GetResponseStream())) { sourceCode = sr.ReadToEnd(); } //Dictionary<string, object> dataUpload = PostDataAPI(getRequest, dataToSend); //if (int.Parse(dataUpload["status"].ToString()) == -1) //{ // CoreLibary.writeLogThread(lsBoxLog, "Step 2: " + dataUpload["data"].ToString(), 1); //} //sourceCode = dataUpload["data"].ToString(); var obj = JObject.Parse(sourceCode); if (int.Parse(obj["result"].ToString()) == 0) { CoreLibary.writeLogThread(lsBoxLog, "Collection:" + obj["collectionName"].ToString() + " - " + obj["description"].ToString(), 2); } else { CoreLibary.writeLogThread(lsBoxLog, "Uploaded " + obj["description"].ToString(), 1); } //Chuyển hình sang folder Uploaded //moveImageUploaded(pathImage); }
/// <summary> /// Upload 1 hình /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnUpdate_Click(object sender, EventArgs e) { if (dtDataTempColor.Rows.Count == 0) { XtraMessageBox.Show("No themes selected!", "Message"); return; } var title = info_txtTitle.Text.Trim(); var obj = info_cbbCategory.GetSelectedDataRow(); var category = ((SunfrogShirts.Category)obj).Name; var description = info_txtDescription.Text.Trim(); var keyword = info_txtKeyWord.Text.Trim(); var collection = info_txtCollection.Text.Trim(); if (string.IsNullOrEmpty(title) || string.IsNullOrEmpty(description) || string.IsNullOrEmpty(keyword) || string.IsNullOrEmpty(collection) || string.IsNullOrEmpty(currentImageUploadOne)) { XtraMessageBox.Show("Title, Description, Keyword, Collection and Image is not empty.", "Message"); return; } panelControlAction.Enabled = false; Thread t = new Thread(new ThreadStart(() => { try { dtDataTemp.Rows.Clear(); DataRow dr = dtDataTemp.NewRow(); //Load Data if (info_ckFront.Checked) { dr["FrontBack"] = "F"; } else { dr["FrontBack"] = "B"; } dr["Image"] = currentImageUploadOne; dr["Title"] = title; dr["Category"] = category; dr["Description"] = description; dr["Keyword"] = keyword; dr["Collection"] = collection; dtDataTemp.Rows.Add(dr); DataRow drItem = dtDataTemp.Rows[0]; CoreLibary.writeLogThread(lsBoxLog, "Uploading Item " + drItem[2].ToString(), 3); UploadAndDownload(drItem); CoreLibary.writeLogThread(lsBoxLog, "Uploaded Item " + drItem[2].ToString(), 1); } catch (Exception ex) { CoreLibary.writeLogThread(lsBoxLog, "Uploaded image to Sunfrog", 2); CoreLibary.writeLogThread(lsBoxLog, ex.Message, 2); XtraMessageBox.Show("Upload failed.\n" + ex.Message, "Message"); } panelControlAction.Invoke((MethodInvoker) delegate { panelControlAction.Enabled = true; }); })); t.Start(); }
/// <summary> /// Đăng nhập vào chương trình /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnLogin_Click(object sender, EventArgs e) { frmWait frm = new frmWait(); frm.SetCaption("Connecting To Server"); frm.SetDescription("Please wait..."); Thread t = new Thread(new ThreadStart(() => { HttpWebRequest wRequest1 = (HttpWebRequest)WebRequest.Create("https://manager.sunfrogshirts.com/"); //wRequest.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0"; //wRequest.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"; //wRequest.Referer = "https://manager.sunfrogshirts.com/"; wRequest1.Method = "GET"; //wRequest.KeepAlive = true;lo wRequest1.CookieContainer = cookieContainer; var cookieHeader1 = ""; WebResponse resp1 = wRequest1.GetResponse(); cookieHeader1 = resp1.Headers["Set-cookie"]; foreach (Cookie cookie in ((HttpWebResponse)resp1).Cookies) { cookieContainer.Add(cookie); } var userName = sys_txtAccount.Text; var password = sys_txtPassword.Text; //data //username=lchoang1995%40gmail.com&password=Omega%40111&login=Login ASCIIEncoding encoding = new ASCIIEncoding(); var enUserName = HttpUtility.UrlEncode(userName); var enPassword = HttpUtility.UrlEncode(password); string data = "username="******"&password="******"&login=Login"; byte[] postDataBytes = encoding.GetBytes(data); HttpWebRequest wRequest = (HttpWebRequest)WebRequest.Create("https://manager.sunfrogshirts.com/"); //wRequest.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0"; //wRequest.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"; //wRequest.Referer = "https://manager.sunfrogshirts.com/"; wRequest.Method = "POST"; wRequest.ContentType = "application/x-www-form-urlencoded"; wRequest.ContentLength = postDataBytes.Length; //wRequest.KeepAlive = true;lo wRequest.CookieContainer = cookieContainer; using (Stream sr = wRequest.GetRequestStream()) { sr.Write(postDataBytes, 0, postDataBytes.Length); } var cookieHeader = ""; WebResponse resp = wRequest.GetResponse(); cookieHeader = resp.Headers["Set-cookie"]; //cookieContainer = new CookieContainer(); //foreach (Cookie cookie in ((HttpWebResponse)resp).Cookies) //{ // cookieContainer.Add(cookie); //} var pageSource = ""; using (StreamReader sr = new StreamReader(resp.GetResponseStream())) { pageSource = sr.ReadToEnd(); } //<strong style="font-size:1.5em; line-height:15px; padding-bottom:0px;" class="clearfix">(.*?)</strong> var regex = "<strong style=\"font-size:1.5em; line-height:15px; padding-bottom:0px;\" class=\"clearfix\">(?<myId>.*?)</strong>"; MatchCollection matchCollection = Regex.Matches(pageSource, regex); if (matchCollection.Count == 0) { XtraMessageBox.Show("Login is disabled, and the password is incorrect!", "Message"); frm.Invoke((MethodInvoker) delegate { frm.Close(); }); imgLogo.Invoke((MethodInvoker) delegate { imgLogo.Visible = false; }); CoreLibary.writeLogThread(lsBoxLog, "User Login", 2); return; } foreach (Match match in matchCollection) { this.Invoke((MethodInvoker) delegate { this.Text += " - [Your Seller ID: " + match.Groups["myId"].Value + "]"; }); } frm.Invoke((MethodInvoker) delegate { frm.Close(); }); imgLogo.Invoke((MethodInvoker) delegate { imgLogo.Visible = true; }); groupControlInfo.Invoke((MethodInvoker) delegate { groupControlInfo.Enabled = true; }); groupControlSelectTheme.Invoke((MethodInvoker) delegate { groupControlSelectTheme.Enabled = true; }); groupControlTheme.Invoke((MethodInvoker) delegate { groupControlTheme.Enabled = true; }); panelControlAction.Invoke((MethodInvoker) delegate { panelControlAction.Enabled = true; }); CoreLibary.writeLogThread(lsBoxLog, "User Login", 1); })); t.Start(); frm.ShowDialog(); }
/// <summary> /// Clear log /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnClear_Click(object sender, EventArgs e) { lsBoxLog.Items.Clear(); CoreLibary.writeLog(lsBoxLog, "CLEAR", 1); }