using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Net; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; using WindowsFormsApp1.Delivery; namespace WindowsFormsApp1.Mac { public partial class Check_ISBN : Form { /// /// 전체 보류. /// 납품측 ISBN조회부터 작성할것. /// Main main; List_aggregation list_agg; Helper_DB db = new Helper_DB(); public string compidx; public string list_name = string.Empty; public Check_ISBN(Main _main) { InitializeComponent(); main = _main; compidx = main.com_idx; } public Check_ISBN(List_aggregation _list_agg) { InitializeComponent(); list_agg = _list_agg; compidx = list_agg.compidx; } private void Check_ISBN_Load(object sender, EventArgs e) { tb_list_name.Text = compidx + " " + list_name; string[] list_combo = { "도서명 + 저자", "도서명", "저자", "출판사" }; cb_filter.Items.AddRange(list_combo); cb_filter.SelectedIndex = 0; db.DBcon(); string[] search_tbl = { "compidx", "list_name" }; string[] search_col = { compidx, list_name }; string search_data = "`header`, `num`, `isbn`, `book_name`, `author`, `book_comp`, " + "`count`, `pay`, `total`, `import`, `price`, " + "`etc`, `pubDate`, `persent`, `category`"; string tmp_data = db.More_DB_Search("Obj_List_Book", search_tbl, search_col,search_data); string[] data = tmp_data.Split('|'); made_Grid(data); } private void btn_lookup_Click(object sender, EventArgs e) { string temp = string.Empty; string type = string.Empty; string query = string.Empty; // 도서명 / 저자 / 출판사 / isbn / 정가 / 발행일 / 도서분류 string[] param = { "title", "author", "publisher", "isbn13", "priceStandard", "pubDate", "categoryName" }; API_Aladdin api = new API_Aladdin(); for (int a = 0; a < dataGridView1.Rows.Count - 1; a++) { // int a = 1; query = dataGridView1.Rows[a].Cells["book_name"].Value.ToString(); insert_API(api.Find(query, type, param), a); Thread.Sleep(300); } } void insert_API(string data, int row) { if (row > 0) { dataGridView1.Rows[row - 1].Selected = false; } dataGridView1.Rows[row].Selected = true; bool[] chk = { false, false, false }; // 도서명 저자 출판사 체크. string book_name = dataGridView1.Rows[row].Cells["book_name"].Value.ToString(); string author = dataGridView1.Rows[row].Cells["author"].Value.ToString(); string book_comp = dataGridView1.Rows[row].Cells["book_comp"].Value.ToString(); string[] insert = data.Split('|'); string newstring = string.Empty; if (data == "") { return; } // pubDate형 보기편하게 DateTime형으로 재정리 newstring = String.Format("{0:yyyy/MM/dd HH:mm}", DateTime.Parse(insert[5].Remove(insert[5].IndexOf(" G")))); // 도서 분류 필요한 데이터로 재정리 int top = insert[6].IndexOf('>'); int mid = insert[6].IndexOf('>', top + 1); int bot = insert[6].IndexOf('>', mid + 1); if (bot < 0) { insert[6] = insert[6].Substring(top + 1); } else { insert[6] = insert[6].Substring(top + 1, bot - top - 1); } if (insert.Length > 10) { // 값이 2개 이상일 경우 따로 저장할수 있는 폼이 구축되어야함. return; } if (insert[0] == book_name) { chk[0] = true; } if (insert[1].Contains(author) == true) { chk[1] = true; } if (insert[2] == book_comp) { chk[2] = true; } if (chk[0] == true && chk[1] == true && chk[2] == true) { dataGridView1.Rows[row].Cells["isbn"].Value = insert[3]; dataGridView1.Rows[row].Cells["price"].Value = insert[4]; dataGridView1.Rows[row].Cells["pubDate"].Value = newstring; dataGridView1.Rows[row].Cells["category"].Value = insert[6]; } } void made_Grid(string[] data) { /* 번호 isbn 도서명 저자 출판사 * 수량 단가 합계 상태 정가 * 비고 발행일 % 도서분류 */ string[] grid = { "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; int sdc = 15; // search_data_count for (int a = 0; a < data.Length; a++) { if (a % sdc == 1) { grid[0] = data[a-1] + " " + data[a]; } // 번호 if (a % sdc == 2) { grid[1] = data[a]; } // isbn if (a % sdc == 3) { grid[2] = data[a]; } // 도서명 if (a % sdc == 4) { grid[3] = data[a]; } // 저자 if (a % sdc == 5) { grid[4] = data[a]; } // 출판사 if (a % sdc == 6) { grid[5] = data[a]; } // 수량 if (a % sdc == 7) { grid[6] = data[a]; } // 단가 if (a % sdc == 8) { grid[7] = data[a]; } // 합계 if (a % sdc == 9) { grid[8] = data[a]; } // 상태 if (a % sdc == 10) { grid[9] = data[a]; } // 정가 if (a % sdc == 11) { grid[10] = data[a]; } // 비고 if (a % sdc == 12) { grid[11] = data[a]; } // 발행일 if (a % sdc == 13) { grid[12] = data[a]; } // % if (a % sdc == 14) { grid[13] = data[a]; // 도서분류 dataGridView1.Rows.Add(grid); } } } private void btn_Save_Click(object sender, EventArgs e) { for (int a = 0; a < dataGridView1.Rows.Count; a++) { if (dataGridView1.Rows[a].Cells["isbn"].Value.ToString() == "" || dataGridView1.Rows[a].Cells["price"].Value.ToString() == "" || dataGridView1.Rows[a].Cells["pubDate"].Value.ToString() == "" || dataGridView1.Rows[a].Cells["category"].Value.ToString() == "") { continue; } string[] Edit_tbl = { "isbn", "price", "pubDate", "category" }; string[] Edit_Col = { dataGridView1.Rows[a].Cells["isbn"].Value.ToString(), dataGridView1.Rows[a].Cells["price"].Value.ToString(), dataGridView1.Rows[a].Cells["pubDate"].Value.ToString(), dataGridView1.Rows[a].Cells["category"].Value.ToString() }; string[] Search_tbl = { "book_name", "author", "book_comp", "list_name" }; string[] Search_col = {dataGridView1.Rows[a].Cells["book_name"].Value.ToString(), dataGridView1.Rows[a].Cells["author"].Value.ToString(), dataGridView1.Rows[a].Cells["book_comp"].Value.ToString(), list_name }; db.More_Update("Obj_List_Book", Edit_tbl, Edit_Col, Search_tbl, Search_col); } } private void btn_Close_Click(object sender, EventArgs e) { this.Close(); } } }