Compare commits

...

11 Commits

Author SHA1 Message Date
c2c9122c55 편집기 통합작업 중, 등급 미적용 데이터 수정 2026-02-22 01:04:35 +09:00
ad866c1384 마크편집기를 공용으로 분리작업(90%) 2026-02-21 23:22:03 +09:00
86dbda1d21 ¸¶ũ º¹Á¦ ±â´É ±¸Çö ¹× Dµî±Þ »ö»ó ¼öÁ¤ (Grade E Ã߰¡ Ãë¼Ò) 2026-02-21 11:21:52 +09:00
82aa5a21d9 미소장 전체가져오기 기능 정상화 2026-02-20 16:17:17 +09:00
ed60319978 마크목록등록 ctrl+v 기능 오류 수정
목록창에서 isbn 조회 창으로 바로 진입할 수 있는 버튼이 필요(ppt15)
마크편집창 저장시 ISBN중복여부 확인
마크편집창 서브필드 정렬수정(245,440)- PPT21
2026-02-20 14:39:19 +09:00
35792b0a72 마크목록(new), 정렬,필터 기능 업데이트 2026-02-19 18:42:25 +09:00
77ef720197 .. 2026-02-19 18:28:22 +09:00
c0782ea5c1 마크편집창에서 isbn 을 복사할 수있도록 텍스트박스로 변경 2026-02-14 22:49:17 +09:00
6e25a3d4e9 일부 폼. .신규파일이름 2로 추가 2026-02-14 22:10:32 +09:00
f6dcd5630a 목록 생성 이후 수정 할 수 있는 기능이 필요
Ex) 목록일, 완료일, 목록명, 납품처, 담당자 등
2026-02-14 21:58:29 +09:00
9108993612 현재 마크목록 -> 목록생성(추후 목록 등록으로 수정요망) 버튼을 누르면
마크 목록 생성(추후 목록 등록으로 수정요망) 창이 뜨는 데 항목 순서 변경이 필요기존 가격 수량 합계 순서를 수량 가격 합계 순서로 변경요망
(북엔피에 적용된 순서와 동일하게 하려고 함)
2026-02-14 21:38:57 +09:00
79 changed files with 11583 additions and 1842 deletions

View File

@@ -121,5 +121,4 @@ namespace UniMarc
catch { } catch { }
} }
} }
} }

View File

@@ -0,0 +1,19 @@
namespace UniMarc
{
public static class DB_Utils
{
public static bool ExistISBN(string value)
{
Helper_DB db = new Helper_DB();
// ISBN 중복체크
string checkSql = string.Format("SELECT COUNT(*) FROM Marc WHERE isbn = '{0}' AND compidx = '{1}'", value, PUB.user.CompanyIdx);
string dupeCount = db.self_Made_Cmd(checkSql).Replace("|", "");
if (dupeCount != "0" && !string.IsNullOrEmpty(dupeCount))
{
return true;
}
return false;
}
}
}

View File

@@ -269,6 +269,32 @@ namespace UniMarc
conn.Close(); conn.Close();
return result; return result;
} }
public DataTable DB_Send_CMD_Search_DataTable(string cmd)
{
DataTable dt = new DataTable();
try
{
if (conn.State == ConnectionState.Closed)
conn.Open();
using (MySqlDataAdapter adapter = new MySqlDataAdapter(cmd, conn))
{
adapter.Fill(dt);
}
}
catch (Exception ex)
{
UTIL.MsgE($"데이터베이스 실행오류\n{ex.Message}");
return null;
}
finally
{
if (conn.State == ConnectionState.Open)
conn.Close();
}
return dt;
}
public void DB_Send_CMD_Search_ApplyGrid(string cmd, DataGridView dgv) public void DB_Send_CMD_Search_ApplyGrid(string cmd, DataGridView dgv)
{ {
// DB 연결 // DB 연결

View File

@@ -140,6 +140,7 @@
this.mdiTabControl = new System.Windows.Forms.TabControl(); this.mdiTabControl = new System.Windows.Forms.TabControl();
this.tabPage1 = new System.Windows.Forms.TabPage(); this.tabPage1 = new System.Windows.Forms.TabPage();
this.tabPage2 = new System.Windows.Forms.TabPage(); this.tabPage2 = new System.Windows.Forms.TabPage();
this.NewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.menuStrip1.SuspendLayout(); this.menuStrip1.SuspendLayout();
this.panel1.SuspendLayout(); this.panel1.SuspendLayout();
this.toolStrip1.SuspendLayout(); this.toolStrip1.SuspendLayout();
@@ -307,14 +308,14 @@
// 송금내역조회 // 송금내역조회
// //
this..Name = "송금내역조회"; this..Name = "송금내역조회";
this..Size = new System.Drawing.Size(154, 22); this..Size = new System.Drawing.Size(180, 22);
this..Text = "송금 내역 조회"; this..Text = "송금 내역 조회";
this..Click += new System.EventHandler(this.ToolStripMenuItem_Click); this..Click += new System.EventHandler(this.ToolStripMenuItem_Click);
// //
// 송금등록 // 송금등록
// //
this..Name = "송금등록"; this..Name = "송금등록";
this..Size = new System.Drawing.Size(154, 22); this..Size = new System.Drawing.Size(180, 22);
this..Text = "송금 등록"; this..Text = "송금 등록";
this..Click += new System.EventHandler(this.ToolStripMenuItem_Click); this..Click += new System.EventHandler(this.ToolStripMenuItem_Click);
// //
@@ -325,7 +326,7 @@
this., this.,
this.ToolStripMenuItem}); this.ToolStripMenuItem});
this..Name = "매입"; this..Name = "매입";
this..Size = new System.Drawing.Size(154, 22); this..Size = new System.Drawing.Size(180, 22);
this..Text = "매입"; this..Text = "매입";
// //
// 매입집계 // 매입집계
@@ -358,7 +359,7 @@
this., this.,
this.}); this.});
this..Name = "매출"; this..Name = "매출";
this..Size = new System.Drawing.Size(154, 22); this..Size = new System.Drawing.Size(180, 22);
this..Text = "매출"; this..Text = "매출";
// //
// 매출입력 // 매출입력
@@ -392,7 +393,7 @@
// 파트타임관리 // 파트타임관리
// //
this..Name = "파트타임관리"; this..Name = "파트타임관리";
this..Size = new System.Drawing.Size(154, 22); this..Size = new System.Drawing.Size(180, 22);
this..Text = "파트타임 관리"; this..Text = "파트타임 관리";
this..Click += new System.EventHandler(this.ToolStripMenuItem_Click); this..Click += new System.EventHandler(this.ToolStripMenuItem_Click);
// //
@@ -418,13 +419,13 @@
this., this.,
this.}); this.});
this..Name = "마크설정"; this..Name = "마크설정";
this..Size = new System.Drawing.Size(156, 22); this..Size = new System.Drawing.Size(180, 22);
this..Text = "설정"; this..Text = "설정";
// //
// 단축키설정 // 단축키설정
// //
this..Name = "단축키설정"; this..Name = "단축키설정";
this..Size = new System.Drawing.Size(138, 22); this..Size = new System.Drawing.Size(180, 22);
this..Text = "단축키"; this..Text = "단축키";
this..Visible = false; this..Visible = false;
this..Click += new System.EventHandler(this.ToolStripMenuItem_Click); this..Click += new System.EventHandler(this.ToolStripMenuItem_Click);
@@ -432,14 +433,14 @@
// 매크로문구 // 매크로문구
// //
this..Name = "매크로문구"; this..Name = "매크로문구";
this..Size = new System.Drawing.Size(138, 22); this..Size = new System.Drawing.Size(180, 22);
this..Text = "매크로 문구"; this..Text = "매크로 문구";
this..Click += new System.EventHandler(this.ToolStripMenuItem_Click); this..Click += new System.EventHandler(this.ToolStripMenuItem_Click);
// //
// 불용어 // 불용어
// //
this..Name = "불용어"; this..Name = "불용어";
this..Size = new System.Drawing.Size(138, 22); this..Size = new System.Drawing.Size(180, 22);
this..Text = "불용어"; this..Text = "불용어";
this..Visible = false; this..Visible = false;
this..Click += new System.EventHandler(this.ToolStripMenuItem_Click); this..Click += new System.EventHandler(this.ToolStripMenuItem_Click);
@@ -447,7 +448,7 @@
// 작업지시서 // 작업지시서
// //
this..Name = "작업지시서"; this..Name = "작업지시서";
this..Size = new System.Drawing.Size(138, 22); this..Size = new System.Drawing.Size(180, 22);
this..Text = "작업지시서"; this..Text = "작업지시서";
this..Visible = false; this..Visible = false;
this..Click += new System.EventHandler(this.ToolStripMenuItem_Click); this..Click += new System.EventHandler(this.ToolStripMenuItem_Click);
@@ -459,12 +460,13 @@
this.NewToolStripMenuItem, this.NewToolStripMenuItem,
this., this.,
this., this.,
this.NewToolStripMenuItem,
this., this.,
this.1, this.1,
this.2, this.2,
this.iSBN조회}); this.iSBN조회});
this..Name = "마크작업"; this..Name = "마크작업";
this..Size = new System.Drawing.Size(156, 22); this..Size = new System.Drawing.Size(180, 22);
this..Text = "마크 작업"; this..Text = "마크 작업";
// //
// 마크작성 // 마크작성
@@ -530,7 +532,7 @@
this., this.,
this.}); this.});
this.dVDCDLPToolStripMenuItem.Name = "dVDCDLPToolStripMenuItem"; this.dVDCDLPToolStripMenuItem.Name = "dVDCDLPToolStripMenuItem";
this.dVDCDLPToolStripMenuItem.Size = new System.Drawing.Size(156, 22); this.dVDCDLPToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.dVDCDLPToolStripMenuItem.Text = "DVD / CD / LP"; this.dVDCDLPToolStripMenuItem.Text = "DVD / CD / LP";
// //
// 목록 // 목록
@@ -554,7 +556,7 @@
this., this.,
this.}); this.});
this..Name = "반입및반출"; this..Name = "반입및반출";
this..Size = new System.Drawing.Size(156, 22); this..Size = new System.Drawing.Size(180, 22);
this..Text = "반입 및 반출"; this..Text = "반입 및 반출";
// //
// 마크반입 // 마크반입
@@ -579,7 +581,7 @@
this., this.,
this.}); this.});
this..Name = "부가기능"; this..Name = "부가기능";
this..Size = new System.Drawing.Size(156, 22); this..Size = new System.Drawing.Size(180, 22);
this..Text = "부가기능"; this..Text = "부가기능";
// //
// 마크수집 // 마크수집
@@ -620,7 +622,7 @@
this.DLS조회, this.DLS조회,
this.dLS복본조사}); this.dLS복본조사});
this.DLS.Name = "DLS"; this.DLS.Name = "DLS";
this.DLS.Size = new System.Drawing.Size(156, 22); this.DLS.Size = new System.Drawing.Size(180, 22);
this.DLS.Text = "DLS"; this.DLS.Text = "DLS";
// //
// DLS조회 // DLS조회
@@ -644,7 +646,7 @@
this., this.,
this.}); this.});
this..Name = "마크기타"; this..Name = "마크기타";
this..Size = new System.Drawing.Size(156, 22); this..Size = new System.Drawing.Size(180, 22);
this..Text = "기타"; this..Text = "기타";
// //
// 서류작성 // 서류작성
@@ -1142,6 +1144,13 @@
this.tabPage2.Text = "tabPage2"; this.tabPage2.Text = "tabPage2";
this.tabPage2.UseVisualStyleBackColor = true; this.tabPage2.UseVisualStyleBackColor = true;
// //
// 소장자료검색NewToolStripMenuItem
//
this.NewToolStripMenuItem.Name = "소장자료검색NewToolStripMenuItem";
this.NewToolStripMenuItem.Size = new System.Drawing.Size(182, 22);
this.NewToolStripMenuItem.Text = "소장자료검색(New)";
this.NewToolStripMenuItem.Click += new System.EventHandler(this.NewToolStripMenuItem_Click);
//
// Main // Main
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
@@ -1283,5 +1292,6 @@
private System.Windows.Forms.TabPage tabPage2; private System.Windows.Forms.TabPage tabPage2;
private System.Windows.Forms.ToolStripMenuItem menu_allclose; private System.Windows.Forms.ToolStripMenuItem menu_allclose;
private System.Windows.Forms.ToolStripMenuItem NewToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem NewToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem NewToolStripMenuItem;
} }
} }

View File

@@ -883,5 +883,10 @@ namespace UniMarc
{ {
OpenFormInTab<AddMarc2>(() => new AddMarc2(this)); OpenFormInTab<AddMarc2>(() => new AddMarc2(this));
} }
private void NewToolStripMenuItem_Click(object sender, EventArgs e)
{
OpenFormInTab(() => new Search_Infor2(this));
}
} }
} }

View File

@@ -1,8 +1,10 @@
using System; using AR;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Web.UI.WebControls.WebParts;
using System.Windows.Forms; using System.Windows.Forms;
using UniMarc.Properties; using UniMarc.Properties;
@@ -35,5 +37,35 @@ namespace UniMarc
user = new LoginInfo(); user = new LoginInfo();
} }
/// <summary>
/// 빈 MARC String 을 생성한다
/// </summary>
/// <param name="ISBN13"></param>
/// <param name="BookName"></param>
/// <param name="Author"></param>
/// <param name="Publisher"></param>
/// <param name="Price"></param>
/// <returns></returns>
public static string MakeEmptyMarc(string ISBN13, string BookName, string Author, string Publisher, string Price)
{
string yyMMdd = DateTime.Now.ToString("yyMMdd");
string yyyy = DateTime.Now.ToString("yyyy");
string Empty_008 = yyMMdd + "s" + yyyy + " 000 kor ▲";
var tag_008 = Empty_008.Replace("▲", "");
string Empty_text = string.Format(
"020\t \t▼a{1}▼c\\{5}▲\n" +
"056\t \t▼a▼25▲\n" +
"100\t \t▼a▲\n" +
"245\t \t▼a{2}▼d{3}▲\n" +
"260\t \t▼b{4}▲\n" +
"300\t \t▼a▼c▲\n" +
"653\t \t▼a▲\n" +
"700\t \t▼a▲\n" +
"950\t \t▼b\\{5}▲\n",
Empty_008, ISBN13, BookName, Author, Publisher, Price);
return Empty_text;
}
} }
} }

View File

@@ -0,0 +1,169 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Reflection;
namespace UniMarc
{
public class SortableBindingList<T> : BindingList<T>, IBindingListView
{
private bool _isSorted;
private ListSortDirection _sortDirection;
private PropertyDescriptor _sortProperty;
private string _filter;
private readonly List<T> _originalItems = new List<T>();
public SortableBindingList() : base() { }
public SortableBindingList(IList<T> list) : base(list)
{
foreach (var item in list)
_originalItems.Add(item);
}
protected override void OnListChanged(ListChangedEventArgs e)
{
if (e.ListChangedType == ListChangedType.ItemAdded)
{
_originalItems.Insert(e.NewIndex, this[e.NewIndex]);
}
else if (e.ListChangedType == ListChangedType.ItemDeleted)
{
// This is slightly tricky if filtered, but we assume basic usage for now
// Ideally we'd track IDs
}
base.OnListChanged(e);
}
#region Sorting
protected override bool SupportsSortingCore => true;
protected override bool IsSortedCore => _isSorted;
protected override ListSortDirection SortDirectionCore => _sortDirection;
protected override PropertyDescriptor SortPropertyCore => _sortProperty;
protected override void ApplySortCore(PropertyDescriptor prop, ListSortDirection direction)
{
var items = this.Items as List<T>;
if (items != null)
{
PropertyComparer<T> pc = new PropertyComparer<T>(prop, direction);
items.Sort(pc);
_isSorted = true;
_sortDirection = direction;
_sortProperty = prop;
}
else
{
_isSorted = false;
}
OnListChanged(new ListChangedEventArgs(ListChangedType.Reset, -1));
}
protected override void RemoveSortCore()
{
_isSorted = false;
_sortProperty = null;
OnListChanged(new ListChangedEventArgs(ListChangedType.Reset, -1));
}
#endregion
#region Filtering (IBindingListView)
public string Filter
{
get => _filter;
set
{
_filter = value;
if (string.IsNullOrEmpty(_filter))
RemoveFilter();
else
ApplyFilter(_filter);
}
}
public bool SupportsFiltering => true;
public void ApplyFilter(string filter)
{
_filter = filter;
if (_originalItems.Count == 0 && this.Count > 0)
{
foreach (var item in this) _originalItems.Add(item);
}
// Simple parser for "Property=Value" or "Property='Value'"
var parts = filter.Split('=');
if (parts.Length != 2) return;
string propName = parts[0].Trim();
string valStr = parts[1].Trim().Trim('\'');
var prop = TypeDescriptor.GetProperties(typeof(T))[propName];
if (prop == null) return;
this.RaiseListChangedEvents = false;
this.Clear();
foreach (var item in _originalItems)
{
var val = prop.GetValue(item);
if (val != null && val.ToString().Equals(valStr, StringComparison.OrdinalIgnoreCase))
{
this.Add(item);
}
}
this.RaiseListChangedEvents = true;
OnListChanged(new ListChangedEventArgs(ListChangedType.Reset, -1));
}
public void RemoveFilter()
{
_filter = null;
if (_originalItems.Count > 0)
{
this.RaiseListChangedEvents = false;
this.Clear();
foreach (var item in _originalItems) this.Add(item);
this.RaiseListChangedEvents = true;
OnListChanged(new ListChangedEventArgs(ListChangedType.Reset, -1));
}
}
public ListSortDescriptionCollection SortDescriptions => null;
public bool SupportsAdvancedSorting => false;
public void ApplySort(ListSortDescriptionCollection sorts) => throw new NotSupportedException();
#endregion
private class PropertyComparer<TItem> : IComparer<TItem>
{
private readonly PropertyDescriptor _prop;
private readonly ListSortDirection _direction;
public PropertyComparer(PropertyDescriptor prop, ListSortDirection direction)
{
_prop = prop;
_direction = direction;
}
public int Compare(TItem x, TItem y)
{
object xVal = _prop.GetValue(x);
object yVal = _prop.GetValue(y);
int result;
if (xVal == null && yVal == null) result = 0;
else if (xVal == null) result = -1;
else if (yVal == null) result = 1;
else if (xVal is IComparable comparable)
result = comparable.CompareTo(yVal);
else if (xVal.Equals(yVal))
result = 0;
else
result = xVal.ToString().CompareTo(yVal.ToString());
return _direction == ListSortDirection.Ascending ? result : -result;
}
}
}
}

View File

@@ -224,6 +224,7 @@
<DesignTime>True</DesignTime> <DesignTime>True</DesignTime>
<DependentUpon>Reference.svcmap</DependentUpon> <DependentUpon>Reference.svcmap</DependentUpon>
</Compile> </Compile>
<Compile Include="DB_Utils.cs" />
<Compile Include="Helper_LibraryDelaySettings.cs" /> <Compile Include="Helper_LibraryDelaySettings.cs" />
<Compile Include="ListOfValue\fSelectDT.cs"> <Compile Include="ListOfValue\fSelectDT.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
@@ -267,12 +268,25 @@
<Compile Include="SearchModel\JunnamEduSearcher.cs" /> <Compile Include="SearchModel\JunnamEduSearcher.cs" />
<Compile Include="SearchModel\NamguLibrarySearcher.cs" /> <Compile Include="SearchModel\NamguLibrarySearcher.cs" />
<Compile Include="SearchModel\SeleniumHelper.cs" /> <Compile Include="SearchModel\SeleniumHelper.cs" />
<Compile Include="SortableBindingList.cs" />
<Compile Include="개발자용\fDevDB.cs"> <Compile Include="개발자용\fDevDB.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
<Compile Include="개발자용\fDevDB.Designer.cs"> <Compile Include="개발자용\fDevDB.Designer.cs">
<DependentUpon>fDevDB.cs</DependentUpon> <DependentUpon>fDevDB.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="납품관리\Book_Lookup2.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="납품관리\Book_Lookup2.Designer.cs">
<DependentUpon>Book_Lookup2.cs</DependentUpon>
</Compile>
<Compile Include="납품관리\Order_input_Search2.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="납품관리\Order_input_Search2.Designer.cs">
<DependentUpon>Order_input_Search2.cs</DependentUpon>
</Compile>
<Compile Include="마스터\From_User_manage_List.cs"> <Compile Include="마스터\From_User_manage_List.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
@@ -297,6 +311,7 @@
<Compile Include="마크\AddMarc_FillBlank.Designer.cs"> <Compile Include="마크\AddMarc_FillBlank.Designer.cs">
<DependentUpon>AddMarc_FillBlank.cs</DependentUpon> <DependentUpon>AddMarc_FillBlank.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="마크\BookGridItem.cs" />
<Compile Include="마크\CD_LP.cs"> <Compile Include="마크\CD_LP.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
@@ -345,6 +360,30 @@
<Compile Include="마크\Check_Copy_Sub_Selector.Designer.cs"> <Compile Include="마크\Check_Copy_Sub_Selector.Designer.cs">
<DependentUpon>Check_Copy_Sub_Selector.cs</DependentUpon> <DependentUpon>Check_Copy_Sub_Selector.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="마크\Check_ISBN2.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="마크\Check_ISBN2.Designer.cs">
<DependentUpon>Check_ISBN2.cs</DependentUpon>
</Compile>
<Compile Include="마크\Check_ISBN_ItemEdit.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="마크\Check_ISBN_ItemEdit.Designer.cs">
<DependentUpon>Check_ISBN_ItemEdit.cs</DependentUpon>
</Compile>
<Compile Include="마크\Check_ISBN_Sub2.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="마크\Check_ISBN_Sub2.Designer.cs">
<DependentUpon>Check_ISBN_Sub2.cs</DependentUpon>
</Compile>
<Compile Include="마크\Check_ISBN_Yes242.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="마크\Check_ISBN_Yes242.Designer.cs">
<DependentUpon>Check_ISBN_Yes242.cs</DependentUpon>
</Compile>
<Compile Include="마크\FillBlankItem.cs" /> <Compile Include="마크\FillBlankItem.cs" />
<Compile Include="마크\Help_007.cs"> <Compile Include="마크\Help_007.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
@@ -358,14 +397,27 @@
<Compile Include="마크\Help_008.Designer.cs"> <Compile Include="마크\Help_008.Designer.cs">
<DependentUpon>Help_008.cs</DependentUpon> <DependentUpon>Help_008.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="마크\IsbnGridItem.cs" />
<Compile Include="마크\MacEditorParameter.cs" /> <Compile Include="마크\MacEditorParameter.cs" />
<Compile Include="마크\MacListItem.cs" /> <Compile Include="마크\MacListItem.cs" />
<Compile Include="마크\Mac_List_Add2.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="마크\Mac_List_Add2.Designer.cs">
<DependentUpon>Mac_List_Add2.cs</DependentUpon>
</Compile>
<Compile Include="마크\Mac_List_Add.cs"> <Compile Include="마크\Mac_List_Add.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
<Compile Include="마크\Mac_List_Add.Designer.cs"> <Compile Include="마크\Mac_List_Add.Designer.cs">
<DependentUpon>Mac_List_Add.cs</DependentUpon> <DependentUpon>Mac_List_Add.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="마크\Mac_List_Edit.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="마크\Mac_List_Edit.Designer.cs">
<DependentUpon>Mac_List_Edit.cs</DependentUpon>
</Compile>
<Compile Include="마크\MarcBookItem.cs" /> <Compile Include="마크\MarcBookItem.cs" />
<Compile Include="마크\MarcCopySelect2.cs"> <Compile Include="마크\MarcCopySelect2.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
@@ -392,6 +444,9 @@
<DependentUpon>Marc.cs</DependentUpon> <DependentUpon>Marc.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="마크\MarcPlanItem.cs" /> <Compile Include="마크\MarcPlanItem.cs" />
<Compile Include="마크\Marc_CopyForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="마크\Marc_FillBlank.cs"> <Compile Include="마크\Marc_FillBlank.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
@@ -533,11 +588,11 @@
<Compile Include="마크\Marc_Plan_PrintLabel.Designer.cs"> <Compile Include="마크\Marc_Plan_PrintLabel.Designer.cs">
<DependentUpon>Marc_Plan_PrintLabel.cs</DependentUpon> <DependentUpon>Marc_Plan_PrintLabel.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="마크\Marc_Plan_Sub_MarcEdit2.cs"> <Compile Include="마크\fMarc_Editor.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
<Compile Include="마크\Marc_Plan_Sub_MarcEdit2.Designer.cs"> <Compile Include="마크\fMarc_Editor.Designer.cs">
<DependentUpon>Marc_Plan_Sub_MarcEdit2.cs</DependentUpon> <DependentUpon>fMarc_Editor.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="마크\Marc_Plan_Sub_MarcEdit.cs"> <Compile Include="마크\Marc_Plan_Sub_MarcEdit.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
@@ -587,11 +642,12 @@
<Compile Include="마크\Marc_memo.Designer.cs"> <Compile Include="마크\Marc_memo.Designer.cs">
<DependentUpon>Marc_memo.cs</DependentUpon> <DependentUpon>Marc_memo.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="마크\Search_Infor_Sub.cs"> <Compile Include="마크\SearchInforItem.cs" />
<Compile Include="마크\Search_Infor2.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
<Compile Include="마크\Search_Infor_Sub.Designer.cs"> <Compile Include="마크\Search_Infor2.Designer.cs">
<DependentUpon>Search_Infor_Sub.cs</DependentUpon> <DependentUpon>Search_Infor2.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="마크\SHDocVw.cs" /> <Compile Include="마크\SHDocVw.cs" />
<Compile Include="마크\ShowDeleteMarc.cs"> <Compile Include="마크\ShowDeleteMarc.cs">
@@ -1050,6 +1106,12 @@
<EmbeddedResource Include="개발자용\fDevDB.resx"> <EmbeddedResource Include="개발자용\fDevDB.resx">
<DependentUpon>fDevDB.cs</DependentUpon> <DependentUpon>fDevDB.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="납품관리\Book_Lookup2.resx">
<DependentUpon>Book_Lookup2.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="납품관리\Order_input_Search2.resx">
<DependentUpon>Order_input_Search2.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="마스터\From_User_manage_List.resx"> <EmbeddedResource Include="마스터\From_User_manage_List.resx">
<DependentUpon>From_User_manage_List.cs</DependentUpon> <DependentUpon>From_User_manage_List.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
@@ -1086,15 +1148,33 @@
<EmbeddedResource Include="마크\Check_Copy_Sub_Selector.resx"> <EmbeddedResource Include="마크\Check_Copy_Sub_Selector.resx">
<DependentUpon>Check_Copy_Sub_Selector.cs</DependentUpon> <DependentUpon>Check_Copy_Sub_Selector.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="마크\Check_ISBN2.resx">
<DependentUpon>Check_ISBN2.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="마크\Check_ISBN_ItemEdit.resx">
<DependentUpon>Check_ISBN_ItemEdit.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="마크\Check_ISBN_Sub2.resx">
<DependentUpon>Check_ISBN_Sub2.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="마크\Check_ISBN_Yes242.resx">
<DependentUpon>Check_ISBN_Yes242.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="마크\Help_007.resx"> <EmbeddedResource Include="마크\Help_007.resx">
<DependentUpon>Help_007.cs</DependentUpon> <DependentUpon>Help_007.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="마크\Help_008.resx"> <EmbeddedResource Include="마크\Help_008.resx">
<DependentUpon>Help_008.cs</DependentUpon> <DependentUpon>Help_008.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="마크\Mac_List_Add2.resx">
<DependentUpon>Mac_List_Add2.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="마크\Mac_List_Add.resx"> <EmbeddedResource Include="마크\Mac_List_Add.resx">
<DependentUpon>Mac_List_Add.cs</DependentUpon> <DependentUpon>Mac_List_Add.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="마크\Mac_List_Edit.resx">
<DependentUpon>Mac_List_Edit.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="마크\MarcCopySelect2.resx"> <EmbeddedResource Include="마크\MarcCopySelect2.resx">
<DependentUpon>MarcCopySelect2.cs</DependentUpon> <DependentUpon>MarcCopySelect2.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
@@ -1107,6 +1187,9 @@
<EmbeddedResource Include="마크\MarcEditorControl.resx"> <EmbeddedResource Include="마크\MarcEditorControl.resx">
<DependentUpon>MarcEditorControl.cs</DependentUpon> <DependentUpon>MarcEditorControl.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="마크\Marc_CopyForm.resx">
<DependentUpon>Marc_CopyForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="마크\Marc_FillBlank.resx"> <EmbeddedResource Include="마크\Marc_FillBlank.resx">
<DependentUpon>Marc_FillBlank.cs</DependentUpon> <DependentUpon>Marc_FillBlank.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
@@ -1176,8 +1259,8 @@
<EmbeddedResource Include="마크\Marc_Plan_PrintLabel.resx"> <EmbeddedResource Include="마크\Marc_Plan_PrintLabel.resx">
<DependentUpon>Marc_Plan_PrintLabel.cs</DependentUpon> <DependentUpon>Marc_Plan_PrintLabel.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="마크\Marc_Plan_Sub_MarcEdit2.resx"> <EmbeddedResource Include="마크\fMarc_Editor.resx">
<DependentUpon>Marc_Plan_Sub_MarcEdit2.cs</DependentUpon> <DependentUpon>fMarc_Editor.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="마크\Marc_Plan_Sub_MarcEdit.resx"> <EmbeddedResource Include="마크\Marc_Plan_Sub_MarcEdit.resx">
<DependentUpon>Marc_Plan_Sub_MarcEdit.cs</DependentUpon> <DependentUpon>Marc_Plan_Sub_MarcEdit.cs</DependentUpon>
@@ -1203,8 +1286,8 @@
<EmbeddedResource Include="마크\Marc_memo.resx"> <EmbeddedResource Include="마크\Marc_memo.resx">
<DependentUpon>Marc_memo.cs</DependentUpon> <DependentUpon>Marc_memo.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="마크\Search_Infor_Sub.resx"> <EmbeddedResource Include="마크\Search_Infor2.resx">
<DependentUpon>Search_Infor_Sub.cs</DependentUpon> <DependentUpon>Search_Infor2.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="마크\ShowDeleteMarc.resx"> <EmbeddedResource Include="마크\ShowDeleteMarc.resx">
<DependentUpon>ShowDeleteMarc.cs</DependentUpon> <DependentUpon>ShowDeleteMarc.cs</DependentUpon>

View File

@@ -1,23 +0,0 @@
$path = "s:\Source\Gloria\Unimarc\unimarc\unimarc\Helper_LibraryDelaySettings.cs"
$utf8 = [System.Text.Encoding]::GetEncoding(65001)
$cp949 = [System.Text.Encoding]::GetEncoding(949)
# Read the CURRENT mangled file as UTF-8
$mangledString = [System.IO.File]::ReadAllText($path, $utf8)
# Convert each character to its CP949 bytes
# Note: This is tricky because some "characters" might be multiple bytes in CP949
# but here each character in the string represents what CP949 read from the original UTF-8 bytes.
$byteList = New-Object System.Collections.Generic.List[byte]
foreach ($char in $mangledString.ToCharArray()) {
$cBytes = $cp949.GetBytes($char)
foreach ($b in $cBytes) {
$byteList.Add($b)
}
}
# Now interpret these bytes as UTF-8 (the original encoding)
$restored = $utf8.GetString($byteList.ToArray())
Write-Host "--- Attempted Restoration ---"
Write-Host ($restored -split "`r`n" | select -First 10)

View File

@@ -0,0 +1,679 @@
namespace UniMarc
{
partial class Book_Lookup2
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
this.panel1 = new System.Windows.Forms.Panel();
this.lbl_idx = new System.Windows.Forms.Label();
this.tb_isbn = new System.Windows.Forms.TextBox();
this.tb_order_idx = new System.Windows.Forms.TextBox();
this.label9 = new System.Windows.Forms.Label();
this.tb_etc = new System.Windows.Forms.TextBox();
this.label10 = new System.Windows.Forms.Label();
this.tb_num = new System.Windows.Forms.TextBox();
this.label17 = new System.Windows.Forms.Label();
this.label20 = new System.Windows.Forms.Label();
this.tb_order1 = new System.Windows.Forms.TextBox();
this.tb_charge = new System.Windows.Forms.TextBox();
this.label12 = new System.Windows.Forms.Label();
this.tb_total = new System.Windows.Forms.TextBox();
this.label6 = new System.Windows.Forms.Label();
this.tb_pay = new System.Windows.Forms.TextBox();
this.label5 = new System.Windows.Forms.Label();
this.tb_stock = new System.Windows.Forms.TextBox();
this.tb_count = new System.Windows.Forms.TextBox();
this.label13 = new System.Windows.Forms.Label();
this.label22 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.tb_order_date = new System.Windows.Forms.TextBox();
this.tb_book_comp = new System.Windows.Forms.TextBox();
this.label3 = new System.Windows.Forms.Label();
this.tb_author = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
this.tb_book_name = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.tb_date = new System.Windows.Forms.TextBox();
this.label7 = new System.Windows.Forms.Label();
this.btn_stock = new System.Windows.Forms.Button();
this.btn_order_ccl = new System.Windows.Forms.Button();
this.btn_order = new System.Windows.Forms.Button();
this.btn_close = new System.Windows.Forms.Button();
this.btn_save = new System.Windows.Forms.Button();
this.btn_printLine = new System.Windows.Forms.Button();
this.panel2 = new System.Windows.Forms.Panel();
this.tb_List_name = new System.Windows.Forms.TextBox();
this.label11 = new System.Windows.Forms.Label();
this.tb_date_res = new System.Windows.Forms.TextBox();
this.label8 = new System.Windows.Forms.Label();
this.dataGridView1 = new System.Windows.Forms.DataGridView();
this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column4 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column5 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column6 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.btn_unstock = new System.Windows.Forms.Button();
this.panel1.SuspendLayout();
this.panel2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.SuspendLayout();
//
// panel1
//
this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panel1.Controls.Add(this.lbl_idx);
this.panel1.Controls.Add(this.tb_isbn);
this.panel1.Controls.Add(this.tb_order_idx);
this.panel1.Controls.Add(this.label9);
this.panel1.Controls.Add(this.tb_etc);
this.panel1.Controls.Add(this.label10);
this.panel1.Controls.Add(this.tb_num);
this.panel1.Controls.Add(this.label17);
this.panel1.Controls.Add(this.label20);
this.panel1.Controls.Add(this.tb_order1);
this.panel1.Controls.Add(this.tb_charge);
this.panel1.Controls.Add(this.label12);
this.panel1.Controls.Add(this.tb_total);
this.panel1.Controls.Add(this.label6);
this.panel1.Controls.Add(this.tb_pay);
this.panel1.Controls.Add(this.label5);
this.panel1.Controls.Add(this.tb_stock);
this.panel1.Controls.Add(this.tb_count);
this.panel1.Controls.Add(this.label13);
this.panel1.Controls.Add(this.label22);
this.panel1.Controls.Add(this.label4);
this.panel1.Controls.Add(this.tb_order_date);
this.panel1.Controls.Add(this.tb_book_comp);
this.panel1.Controls.Add(this.label3);
this.panel1.Controls.Add(this.tb_author);
this.panel1.Controls.Add(this.label2);
this.panel1.Controls.Add(this.tb_book_name);
this.panel1.Controls.Add(this.label1);
this.panel1.Location = new System.Drawing.Point(9, 106);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(648, 199);
this.panel1.TabIndex = 0;
//
// lbl_idx
//
this.lbl_idx.AutoSize = true;
this.lbl_idx.Location = new System.Drawing.Point(212, 10);
this.lbl_idx.Name = "lbl_idx";
this.lbl_idx.Size = new System.Drawing.Size(62, 12);
this.lbl_idx.TabIndex = 2;
this.lbl_idx.Text = "idx 들어감";
//
// tb_isbn
//
this.tb_isbn.Location = new System.Drawing.Point(414, 7);
this.tb_isbn.Name = "tb_isbn";
this.tb_isbn.Size = new System.Drawing.Size(215, 21);
this.tb_isbn.TabIndex = 1;
this.tb_isbn.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Book_Lookup_KeyDown);
//
// tb_order_idx
//
this.tb_order_idx.BackColor = System.Drawing.SystemColors.Control;
this.tb_order_idx.Enabled = false;
this.tb_order_idx.Location = new System.Drawing.Point(214, 168);
this.tb_order_idx.Name = "tb_order_idx";
this.tb_order_idx.Size = new System.Drawing.Size(43, 21);
this.tb_order_idx.TabIndex = 1;
this.tb_order_idx.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Book_Lookup_KeyDown);
//
// label9
//
this.label9.AutoSize = true;
this.label9.BackColor = System.Drawing.SystemColors.ActiveCaption;
this.label9.Location = new System.Drawing.Point(374, 11);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(33, 12);
this.label9.TabIndex = 0;
this.label9.Text = "ISBN";
//
// tb_etc
//
this.tb_etc.Location = new System.Drawing.Point(69, 141);
this.tb_etc.Name = "tb_etc";
this.tb_etc.Size = new System.Drawing.Size(560, 21);
this.tb_etc.TabIndex = 1;
this.tb_etc.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Book_Lookup_KeyDown);
//
// label10
//
this.label10.AutoSize = true;
this.label10.BackColor = System.Drawing.SystemColors.ActiveCaption;
this.label10.Location = new System.Drawing.Point(22, 10);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(29, 12);
this.label10.TabIndex = 0;
this.label10.Text = "번호";
//
// tb_num
//
this.tb_num.BackColor = System.Drawing.SystemColors.Control;
this.tb_num.Enabled = false;
this.tb_num.Location = new System.Drawing.Point(69, 6);
this.tb_num.Name = "tb_num";
this.tb_num.Size = new System.Drawing.Size(124, 21);
this.tb_num.TabIndex = 1;
this.tb_num.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Book_Lookup_KeyDown);
//
// label17
//
this.label17.AutoSize = true;
this.label17.BackColor = System.Drawing.SystemColors.ActiveCaption;
this.label17.Location = new System.Drawing.Point(22, 145);
this.label17.Name = "label17";
this.label17.Size = new System.Drawing.Size(29, 12);
this.label17.TabIndex = 0;
this.label17.Text = "비고";
//
// label20
//
this.label20.AutoSize = true;
this.label20.BackColor = System.Drawing.SystemColors.ActiveCaption;
this.label20.Location = new System.Drawing.Point(14, 172);
this.label20.Name = "label20";
this.label20.Size = new System.Drawing.Size(41, 12);
this.label20.TabIndex = 0;
this.label20.Text = "주문처";
//
// tb_order1
//
this.tb_order1.Location = new System.Drawing.Point(69, 168);
this.tb_order1.Name = "tb_order1";
this.tb_order1.Size = new System.Drawing.Size(139, 21);
this.tb_order1.TabIndex = 1;
this.tb_order1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Book_Lookup_KeyDown);
//
// tb_charge
//
this.tb_charge.BackColor = System.Drawing.SystemColors.Control;
this.tb_charge.Enabled = false;
this.tb_charge.Location = new System.Drawing.Point(487, 87);
this.tb_charge.Name = "tb_charge";
this.tb_charge.Size = new System.Drawing.Size(142, 21);
this.tb_charge.TabIndex = 1;
this.tb_charge.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Book_Lookup_KeyDown);
//
// label12
//
this.label12.AutoSize = true;
this.label12.BackColor = System.Drawing.SystemColors.ActiveCaption;
this.label12.Location = new System.Drawing.Point(430, 91);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(41, 12);
this.label12.TabIndex = 0;
this.label12.Text = "담당자";
//
// tb_total
//
this.tb_total.Location = new System.Drawing.Point(487, 114);
this.tb_total.Name = "tb_total";
this.tb_total.Size = new System.Drawing.Size(142, 21);
this.tb_total.TabIndex = 1;
this.tb_total.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Book_Lookup_KeyDown);
//
// label6
//
this.label6.AutoSize = true;
this.label6.BackColor = System.Drawing.SystemColors.ActiveCaption;
this.label6.Location = new System.Drawing.Point(424, 118);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(53, 12);
this.label6.TabIndex = 0;
this.label6.Text = "합계금액";
//
// tb_pay
//
this.tb_pay.Location = new System.Drawing.Point(69, 114);
this.tb_pay.Name = "tb_pay";
this.tb_pay.Size = new System.Drawing.Size(124, 21);
this.tb_pay.TabIndex = 1;
this.tb_pay.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Book_Lookup_KeyDown);
//
// label5
//
this.label5.AutoSize = true;
this.label5.BackColor = System.Drawing.SystemColors.ActiveCaption;
this.label5.Location = new System.Drawing.Point(22, 118);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(29, 12);
this.label5.TabIndex = 0;
this.label5.Text = "정가";
//
// tb_stock
//
this.tb_stock.Location = new System.Drawing.Point(357, 114);
this.tb_stock.Name = "tb_stock";
this.tb_stock.Size = new System.Drawing.Size(57, 21);
this.tb_stock.TabIndex = 1;
this.tb_stock.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Book_Lookup_KeyDown);
//
// tb_count
//
this.tb_count.Location = new System.Drawing.Point(242, 114);
this.tb_count.Name = "tb_count";
this.tb_count.Size = new System.Drawing.Size(57, 21);
this.tb_count.TabIndex = 1;
this.tb_count.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Book_Lookup_KeyDown);
//
// label13
//
this.label13.AutoSize = true;
this.label13.BackColor = System.Drawing.SystemColors.ActiveCaption;
this.label13.Location = new System.Drawing.Point(314, 118);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(41, 12);
this.label13.TabIndex = 0;
this.label13.Text = "입고수";
//
// label22
//
this.label22.AutoSize = true;
this.label22.BackColor = System.Drawing.SystemColors.ActiveCaption;
this.label22.Location = new System.Drawing.Point(349, 172);
this.label22.Name = "label22";
this.label22.Size = new System.Drawing.Size(53, 12);
this.label22.TabIndex = 0;
this.label22.Text = "주문일자";
//
// label4
//
this.label4.AutoSize = true;
this.label4.BackColor = System.Drawing.SystemColors.ActiveCaption;
this.label4.Location = new System.Drawing.Point(211, 118);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(29, 12);
this.label4.TabIndex = 0;
this.label4.Text = "수량";
//
// tb_order_date
//
this.tb_order_date.BackColor = System.Drawing.SystemColors.Control;
this.tb_order_date.Enabled = false;
this.tb_order_date.Location = new System.Drawing.Point(409, 168);
this.tb_order_date.Name = "tb_order_date";
this.tb_order_date.Size = new System.Drawing.Size(220, 21);
this.tb_order_date.TabIndex = 1;
this.tb_order_date.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Book_Lookup_KeyDown);
//
// tb_book_comp
//
this.tb_book_comp.Location = new System.Drawing.Point(69, 87);
this.tb_book_comp.Name = "tb_book_comp";
this.tb_book_comp.Size = new System.Drawing.Size(345, 21);
this.tb_book_comp.TabIndex = 1;
this.tb_book_comp.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Book_Lookup_KeyDown);
//
// label3
//
this.label3.AutoSize = true;
this.label3.BackColor = System.Drawing.SystemColors.ActiveCaption;
this.label3.Location = new System.Drawing.Point(16, 91);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(41, 12);
this.label3.TabIndex = 0;
this.label3.Text = "출판사";
//
// tb_author
//
this.tb_author.Location = new System.Drawing.Point(69, 60);
this.tb_author.Name = "tb_author";
this.tb_author.Size = new System.Drawing.Size(345, 21);
this.tb_author.TabIndex = 1;
this.tb_author.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Book_Lookup_KeyDown);
//
// label2
//
this.label2.AutoSize = true;
this.label2.BackColor = System.Drawing.SystemColors.ActiveCaption;
this.label2.Location = new System.Drawing.Point(22, 64);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(29, 12);
this.label2.TabIndex = 0;
this.label2.Text = "저자";
//
// tb_book_name
//
this.tb_book_name.Location = new System.Drawing.Point(69, 33);
this.tb_book_name.Name = "tb_book_name";
this.tb_book_name.Size = new System.Drawing.Size(560, 21);
this.tb_book_name.TabIndex = 1;
this.tb_book_name.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Book_Lookup_KeyDown);
//
// label1
//
this.label1.AutoSize = true;
this.label1.BackColor = System.Drawing.SystemColors.ActiveCaption;
this.label1.Location = new System.Drawing.Point(16, 37);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(41, 12);
this.label1.TabIndex = 0;
this.label1.Text = "도서명";
//
// tb_date
//
this.tb_date.Enabled = false;
this.tb_date.Location = new System.Drawing.Point(69, 34);
this.tb_date.Name = "tb_date";
this.tb_date.Size = new System.Drawing.Size(230, 21);
this.tb_date.TabIndex = 1;
this.tb_date.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Book_Lookup_KeyDown);
//
// label7
//
this.label7.AutoSize = true;
this.label7.BackColor = System.Drawing.SystemColors.ActiveCaption;
this.label7.Location = new System.Drawing.Point(10, 38);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(53, 12);
this.label7.TabIndex = 0;
this.label7.Text = "목록일자";
//
// btn_stock
//
this.btn_stock.Location = new System.Drawing.Point(90, 6);
this.btn_stock.Name = "btn_stock";
this.btn_stock.Size = new System.Drawing.Size(75, 23);
this.btn_stock.TabIndex = 3;
this.btn_stock.Text = "입고처리";
this.btn_stock.UseVisualStyleBackColor = true;
this.btn_stock.Click += new System.EventHandler(this.btn_stock_Click);
//
// btn_order_ccl
//
this.btn_order_ccl.Location = new System.Drawing.Point(171, 6);
this.btn_order_ccl.Name = "btn_order_ccl";
this.btn_order_ccl.Size = new System.Drawing.Size(75, 23);
this.btn_order_ccl.TabIndex = 3;
this.btn_order_ccl.Text = "주문취소";
this.btn_order_ccl.UseVisualStyleBackColor = true;
this.btn_order_ccl.Click += new System.EventHandler(this.btn_order_ccl_Click);
//
// btn_order
//
this.btn_order.Location = new System.Drawing.Point(252, 6);
this.btn_order.Name = "btn_order";
this.btn_order.Size = new System.Drawing.Size(75, 23);
this.btn_order.TabIndex = 3;
this.btn_order.Text = "주문처리";
this.btn_order.UseVisualStyleBackColor = true;
this.btn_order.Click += new System.EventHandler(this.btn_order_Click);
//
// btn_close
//
this.btn_close.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.btn_close.Location = new System.Drawing.Point(564, 6);
this.btn_close.Name = "btn_close";
this.btn_close.Size = new System.Drawing.Size(75, 23);
this.btn_close.TabIndex = 3;
this.btn_close.Text = "닫 기";
this.btn_close.UseVisualStyleBackColor = true;
this.btn_close.Click += new System.EventHandler(this.btn_close_Click);
//
// btn_save
//
this.btn_save.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.btn_save.Location = new System.Drawing.Point(483, 6);
this.btn_save.Name = "btn_save";
this.btn_save.Size = new System.Drawing.Size(75, 23);
this.btn_save.TabIndex = 3;
this.btn_save.Text = "저 장";
this.btn_save.UseVisualStyleBackColor = true;
this.btn_save.Click += new System.EventHandler(this.btn_save_Click);
//
// btn_printLine
//
this.btn_printLine.Location = new System.Drawing.Point(333, 6);
this.btn_printLine.Name = "btn_printLine";
this.btn_printLine.Size = new System.Drawing.Size(75, 23);
this.btn_printLine.TabIndex = 3;
this.btn_printLine.Text = "띠지출력";
this.btn_printLine.UseVisualStyleBackColor = true;
this.btn_printLine.Visible = false;
this.btn_printLine.Click += new System.EventHandler(this.btn_printLine_Click);
//
// panel2
//
this.panel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panel2.Controls.Add(this.tb_List_name);
this.panel2.Controls.Add(this.label11);
this.panel2.Controls.Add(this.tb_date_res);
this.panel2.Controls.Add(this.label8);
this.panel2.Controls.Add(this.tb_date);
this.panel2.Controls.Add(this.label7);
this.panel2.Location = new System.Drawing.Point(9, 36);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(648, 64);
this.panel2.TabIndex = 4;
//
// tb_List_name
//
this.tb_List_name.Enabled = false;
this.tb_List_name.Location = new System.Drawing.Point(69, 7);
this.tb_List_name.Name = "tb_List_name";
this.tb_List_name.Size = new System.Drawing.Size(560, 21);
this.tb_List_name.TabIndex = 1;
this.tb_List_name.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Book_Lookup_KeyDown);
//
// label11
//
this.label11.AutoSize = true;
this.label11.BackColor = System.Drawing.SystemColors.ActiveCaption;
this.label11.Location = new System.Drawing.Point(16, 11);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(41, 12);
this.label11.TabIndex = 0;
this.label11.Text = "목록명";
//
// tb_date_res
//
this.tb_date_res.Enabled = false;
this.tb_date_res.Location = new System.Drawing.Point(399, 34);
this.tb_date_res.Name = "tb_date_res";
this.tb_date_res.Size = new System.Drawing.Size(230, 21);
this.tb_date_res.TabIndex = 1;
this.tb_date_res.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Book_Lookup_KeyDown);
//
// label8
//
this.label8.AutoSize = true;
this.label8.BackColor = System.Drawing.SystemColors.ActiveCaption;
this.label8.Location = new System.Drawing.Point(340, 38);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(53, 12);
this.label8.TabIndex = 0;
this.label8.Text = "완료일자";
//
// dataGridView1
//
this.dataGridView1.AllowUserToAddRows = false;
this.dataGridView1.AllowUserToDeleteRows = false;
this.dataGridView1.AllowUserToResizeColumns = false;
this.dataGridView1.AllowUserToResizeRows = false;
dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle1.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.Column1,
this.Column2,
this.Column3,
this.Column4,
this.Column5,
this.Column6});
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Window;
dataGridViewCellStyle2.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.ControlText;
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dataGridView1.DefaultCellStyle = dataGridViewCellStyle2;
this.dataGridView1.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
this.dataGridView1.Location = new System.Drawing.Point(9, 311);
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.RowHeadersWidth = 15;
this.dataGridView1.RowTemplate.Height = 23;
this.dataGridView1.Size = new System.Drawing.Size(648, 190);
this.dataGridView1.TabIndex = 5;
//
// Column1
//
this.Column1.HeaderText = "처리일자";
this.Column1.Name = "Column1";
//
// Column2
//
this.Column2.HeaderText = "구분";
this.Column2.Name = "Column2";
//
// Column3
//
this.Column3.HeaderText = "거래처명";
this.Column3.Name = "Column3";
this.Column3.Width = 250;
//
// Column4
//
this.Column4.HeaderText = "단가";
this.Column4.Name = "Column4";
this.Column4.Width = 80;
//
// Column5
//
this.Column5.HeaderText = "수량";
this.Column5.Name = "Column5";
this.Column5.Width = 40;
//
// Column6
//
this.Column6.HeaderText = "%";
this.Column6.Name = "Column6";
this.Column6.Width = 40;
//
// btn_unstock
//
this.btn_unstock.Location = new System.Drawing.Point(9, 6);
this.btn_unstock.Name = "btn_unstock";
this.btn_unstock.Size = new System.Drawing.Size(75, 23);
this.btn_unstock.TabIndex = 6;
this.btn_unstock.Text = "미입고처리";
this.btn_unstock.UseVisualStyleBackColor = true;
this.btn_unstock.Click += new System.EventHandler(this.btn_unstock_Click);
//
// Book_Lookup
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(667, 510);
this.Controls.Add(this.btn_unstock);
this.Controls.Add(this.dataGridView1);
this.Controls.Add(this.panel2);
this.Controls.Add(this.btn_save);
this.Controls.Add(this.btn_close);
this.Controls.Add(this.btn_printLine);
this.Controls.Add(this.btn_order);
this.Controls.Add(this.btn_order_ccl);
this.Controls.Add(this.btn_stock);
this.Controls.Add(this.panel1);
this.Name = "Book_Lookup";
this.Text = "도서 정보";
this.Load += new System.EventHandler(this.Book_Lookup_Load);
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Book_Lookup_KeyDown);
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.panel2.ResumeLayout(false);
this.panel2.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.TextBox tb_isbn;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.TextBox tb_etc;
private System.Windows.Forms.Label label17;
private System.Windows.Forms.TextBox tb_charge;
private System.Windows.Forms.Label label12;
private System.Windows.Forms.TextBox tb_num;
private System.Windows.Forms.Label label10;
private System.Windows.Forms.TextBox tb_date;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.TextBox tb_total;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.TextBox tb_pay;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.TextBox tb_count;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.TextBox tb_book_comp;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.TextBox tb_author;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.TextBox tb_book_name;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox tb_order_idx;
private System.Windows.Forms.Label label20;
private System.Windows.Forms.TextBox tb_order1;
private System.Windows.Forms.Label label22;
private System.Windows.Forms.TextBox tb_order_date;
private System.Windows.Forms.Button btn_stock;
private System.Windows.Forms.Button btn_order_ccl;
private System.Windows.Forms.Button btn_order;
private System.Windows.Forms.Button btn_close;
private System.Windows.Forms.Button btn_save;
private System.Windows.Forms.Button btn_printLine;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.TextBox tb_date_res;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.TextBox tb_List_name;
private System.Windows.Forms.Label label11;
private System.Windows.Forms.DataGridView dataGridView1;
private System.Windows.Forms.DataGridViewTextBoxColumn Column1;
private System.Windows.Forms.DataGridViewTextBoxColumn Column2;
private System.Windows.Forms.DataGridViewTextBoxColumn Column3;
private System.Windows.Forms.DataGridViewTextBoxColumn Column4;
private System.Windows.Forms.DataGridViewTextBoxColumn Column5;
private System.Windows.Forms.DataGridViewTextBoxColumn Column6;
private System.Windows.Forms.TextBox tb_stock;
private System.Windows.Forms.Label label13;
private System.Windows.Forms.Label lbl_idx;
private System.Windows.Forms.Button btn_unstock;
}
}

View File

@@ -0,0 +1,320 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Printing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace UniMarc
{
public partial class Book_Lookup2 : Form
{
Helper_DB db = new Helper_DB();
Order_input oin;
Purchase pur;
List_Lookup ll;
Bring_Back bb;
Check_ISBN2 cisbn;
string list_name;
int idx;
public Book_Lookup2(Order_input _oin)
{
InitializeComponent();
oin = _oin;
idx = oin.grididx;
}
public Book_Lookup2(Purchase _pur)
{
InitializeComponent();
pur = _pur;
idx = pur.grididx;
}
public Book_Lookup2(List_Lookup _ll)
{
InitializeComponent();
ll = _ll;
idx = ll.grididx;
}
public Book_Lookup2(Bring_Back _bb)
{
InitializeComponent();
bb = _bb;
idx = bb.grididx;
}
public Book_Lookup2(Check_ISBN2 _isbn)
{
InitializeComponent();
cisbn = _isbn;
idx = cisbn.rowidx;
}
private void Book_Lookup_Load(object sender, EventArgs e)
{
db.DBcon();
tb_isbn.Text = isbn();
list_db();
this.Text = "도서 정보 - 『" + tb_book_name.Text + "』";
mk_Grid();
/* Obj_List_Book
* idx 도서명 저자 출판사 isbn
* 정가 수량 입고수 합계금액 비고
* 주문처 주문일자 */
string[] List_book = { PUB.user.CompanyIdx, tb_book_name.Text, tb_author.Text, tb_book_comp.Text, tb_isbn.Text,
tb_pay.Text, tb_count.Text, tb_stock.Text, tb_total.Text, tb_etc.Text,
tb_order1.Text, tb_order_date.Text, tb_List_name.Text };
}
private void mk_Grid()
{
string Area = "`order`, `pay`, `count`, `persent`, " + // 0-3
"`order_date`, `import_date`, `chk_date`, `export_date`"; // 4-7
string[] Search_col = { "compidx", "list_name", "book_name", "author", "book_comp" };
string[] Search_data = { PUB.user.CompanyIdx, tb_List_name.Text, tb_book_name.Text, tb_author.Text, tb_book_comp.Text };
string cmd = db.More_DB_Search("Obj_List_Book", Search_col, Search_data, Area);
string db_res = db.DB_Send_CMD_Search(cmd);
string[] db_data = db_res.Split('|');
string[] add_grid = { "", "", db_data[0], db_data[1], db_data[2], db_data[3] };
// 처리일자 구분 거래처명 단가 수량 %
if (db_data[4] != "") {
add_grid[0] = db_data[4];
add_grid[1] = "주문";
dataGridView1.Rows.Add(add_grid);
}
if (db_data[5] != "") {
add_grid[0] = db_data[5];
add_grid[1] = "입고";
btn_printLine.Visible = true;
dataGridView1.Rows.Add(add_grid);
}
if (db_data[6] != "") {
add_grid[0] = db_data[6];
add_grid[1] = "검수";
dataGridView1.Rows.Add(add_grid);
}
if (db_data[7] != "") {
add_grid[0] = db_data[7];
add_grid[1] = "출고";
dataGridView1.Rows.Add(add_grid);
}
}
/// <summary>
/// 폼에 들어갈 데이터를 사전에 준비하여야함.
/// </summary>
/// <param name="book_name"></param>
/// <param name="author"></param>
/// <param name="book_comp"></param>
/// <param name="list_name"></param>
public void Lookup_Load(string book_name, string author, string book_comp, string list_name)
{
this.list_name = list_name;
db.DBcon();
string search = "`book_name`, `author`, `book_comp`, `count`, `pay`, " +
"`total`, `header`, `num`, `order`, `etc`, " +
"`input_count`, `order_date`, `list_name`, `idx`";
string[] data = { PUB.user.CompanyIdx, book_name, author, book_comp, list_name };
string[] table = { "compidx", "book_name", "author", "book_comp", "list_name" };
string cmd = db.More_DB_Search("Obj_List_Book", table, data, search);
string db_res = db.DB_Send_CMD_Search(cmd);
mk_Lookup(db_res);
}
public void Lookup_Load_tmp(string idx)
{
db.DBcon();
string search = "`book_name`, `author`, `book_comp`, `count`, `pay`, " +
"`total`, `header`, `num`, `order`, `etc`, " +
"`input_count`, `order_date`, `list_name`, `idx`";
string[] data = { PUB.user.CompanyIdx, idx };
string[] table = { "compidx", "idx" };
string cmd = db.More_DB_Search("Obj_List_Book", table, data, search);
string db_res = db.DB_Send_CMD_Search(cmd);
mk_Lookup(db_res);
}
private void mk_Lookup(string values)
{
string[] data = values.Split('|');
tb_book_name.Text = data[0];
tb_author.Text = data[1];
tb_book_comp.Text = data[2];
tb_count.Text = data[3];
tb_pay.Text = data[4];
tb_total.Text = data[5];
tb_num.Text = data[6] + " " + data[7];
tb_order1.Text = data[8];
tb_etc.Text = data[9];
tb_stock.Text = data[10];
if (data[11].Length < 3) { tb_order_date.Text = ""; }
else { tb_order_date.Text = data[11].Substring(0, 10); }
this.list_name = data[12];
lbl_idx.Text = data[13];
}
/// <summary>
/// 목록db에서 불러온 값을 적용시키는 함수
/// </summary>
private void list_db()
{
string[] where_table = { "comp_num", "list_name" };
string[] search_data = { PUB.user.CompanyIdx, list_name };
string cmd = db.More_DB_Search("Obj_List", where_table, search_data,
"`clt`, `dly`, `charge`, `date`, `date_res`");
cmd = db.DB_Send_CMD_Search(cmd);
string[] data = cmd.Split('|');
tb_List_name.Text = list_name;
tb_charge.Text = data[2];
tb_date.Text = data[3];
tb_date_res.Text = data[4];
}
/// <summary>
/// 목록도서DB에 저장된 isbn값을 가져오는 함수.
/// </summary>
/// <returns></returns>
private string isbn()
{
string[] where_table = { "compidx", "list_name", "book_name", "author", "book_comp" };
string[] search_data = { PUB.user.CompanyIdx,
list_name, tb_book_name.Text, tb_author.Text, tb_book_comp.Text };
string cmd = db.More_DB_Search("Obj_List_Book", where_table, search_data, "`isbn`");
string db_res = db.DB_Send_CMD_Search(cmd);
db_res = db_res.Replace("|", "");
return db_res;
}
private void Book_Lookup_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Escape)
{
btn_close_Click(null, null);
}
}
private void btn_save_Click(object sender, EventArgs e)
{
/* Obj_List_Book
* idx 도서명 저자 출판사 isbn
* 정가 수량 입고수 합계금액 비고
* 주문처 주문일자 */
string[] Table = {
"compidx", "book_name", "author", "book_comp", "isbn",
"pay", "count", "input_count", "total", "etc",
"order", "order_date", "list_name" };
string[] List_book = {
PUB.user.CompanyIdx, tb_book_name.Text, tb_author.Text, tb_book_comp.Text, tb_isbn.Text,
tb_pay.Text, tb_count.Text, tb_stock.Text, tb_total.Text, tb_etc.Text,
tb_order1.Text, tb_order_date.Text, tb_List_name.Text };
string[] idx_table = { "idx" };
string[] idx_col = { lbl_idx.Text };
string U_cmd = db.More_Update("Obj_List_Book", Table, List_book, idx_table, idx_col);
Helper_DB.ExcuteNonQuery(U_cmd);
MessageBox.Show("저장되었습니다.");
}
private void btn_close_Click(object sender, EventArgs e)
{
Close();
}
private void btn_stock_Click(object sender, EventArgs e)
{
tb_stock.Text = tb_count.Text;
string[] edit_tbl = { "input_count", "import", "import_date" };
string[] edit_col = { tb_stock.Text, "입고", DateTime.Today.ToString("yyyy-MM-dd") };
string[] search_tbl = { "compidx", "list_name", "book_name", "author", "book_comp", "isbn" };
string[] search_col = { PUB.user.CompanyIdx,
tb_List_name.Text, tb_book_name.Text, tb_author.Text, tb_book_comp.Text, tb_isbn.Text };
string U_cmd = db.More_Update("Obj_List_Book", edit_tbl, edit_col, search_tbl, search_col);
Helper_DB.ExcuteNonQuery(U_cmd);
MessageBox.Show(tb_book_name.Text + "가 입고처리되었습니다.");
mk_Grid();
}
private void btn_unstock_Click(object sender, EventArgs e)
{
tb_stock.Text = "0";
string[] edit_tbl = { "input_count", "import", "import_date" };
string[] edit_col = { tb_stock.Text, "미입고", "" };
string[] search_tbl = { "compidx",
"list_name", "book_name", "author", "book_comp", "isbn" };
string[] search_col = { PUB.user.CompanyIdx,
tb_List_name.Text, tb_book_name.Text, tb_author.Text, tb_book_comp.Text, tb_isbn.Text };
string U_cmd = db.More_Update("Obj_List_Book", edit_tbl, edit_col, search_tbl, search_col);
Helper_DB.ExcuteNonQuery(U_cmd);
MessageBox.Show(tb_book_name.Text + "가 미입고처리되었습니다.");
mk_Grid();
}
private void btn_order_ccl_Click(object sender, EventArgs e)
{
tb_order1.Text = "";
tb_order_date.Text = "";
tb_order_idx.Text = "";
}
private void btn_order_Click(object sender, EventArgs e)
{
tb_order_date.Text = DateTime.Now.ToString("G").Substring(0, 10);
}
private void btn_printLine_Click(object sender, EventArgs e)
{
PrintDocument pd = new PrintDocument();
pd.DocumentName = "띠지 출력";
pd.DefaultPageSettings.Landscape = true;
pd.PrintPage += new PrintPageEventHandler(this.pd_Print_Page);
pd.Print();
}
#region PrintLine_Sub
private void pd_Print_Page(object sender, PrintPageEventArgs e)
{
string list_name = tb_List_name.Text.Replace("[", "");
list_name = list_name.Replace("]", "-");
string book_name = tb_book_name.Text;
string price = tb_pay.Text.Replace(",", "");
price = string.Format("{0:#,###}", Convert.ToInt32(price));
tb_pay.Text = price;
string[] text = { tb_num.Text, tb_count.Text, list_name, book_name, price, tb_book_comp.Text, tb_isbn.Text };
Graphics g = e.Graphics;
int xPos = 0;
int yPos = 0;
int MaxX = 133;
Pen p = new Pen(Color.Black);
Font title = new Font("굴림", 22, FontStyle.Bold);
Font count = new Font("굴림", 16, FontStyle.Bold);
Font list = new Font("굴림", 14, FontStyle.Regular);
Font book = new Font("굴림", 18, FontStyle.Regular);
Font price_f = new Font("굴림", 14, FontStyle.Regular);
RectangleF title_Area = new RectangleF(xPos, yPos, MaxX, 35);
yPos += 30;
RectangleF count_Area = new RectangleF(xPos, yPos, MaxX, 35);
yPos += 25;
RectangleF list_Area = new RectangleF(xPos, yPos, MaxX, 70);
yPos += 65;
RectangleF book_Area1 = new RectangleF(xPos, yPos, MaxX, 120);
yPos += 115;
RectangleF price_Area = new RectangleF(xPos, yPos, MaxX, 70);
//g.DrawLine(p, MaxX, 0, MaxX, yPos);
using (SolidBrush drawBrush = new SolidBrush(Color.Black))
{
g.DrawString(text[0], title, drawBrush, title_Area);
g.DrawString(text[1], count, drawBrush, count_Area);
g.DrawString(text[2], list, drawBrush, list_Area);
g.DrawString(text[3], book, drawBrush, book_Area1);
g.DrawString(text[4], price_f, drawBrush, price_Area);
}
}
#endregion
}
}

View File

@@ -0,0 +1,138 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="Column1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column4.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column5.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column6.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>

View File

@@ -0,0 +1,123 @@
namespace UniMarc
{
partial class Order_input_Search2
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
this.dataGridView1 = new System.Windows.Forms.DataGridView();
this.idx = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.list_name = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.charge = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.date = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.date_res = new System.Windows.Forms.DataGridViewTextBoxColumn();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.SuspendLayout();
//
// dataGridView1
//
this.dataGridView1.AllowUserToAddRows = false;
this.dataGridView1.AllowUserToDeleteRows = false;
this.dataGridView1.ClipboardCopyMode = System.Windows.Forms.DataGridViewClipboardCopyMode.Disable;
dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.TopCenter;
dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle1.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.idx,
this.list_name,
this.charge,
this.date,
this.date_res});
this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.dataGridView1.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
this.dataGridView1.Location = new System.Drawing.Point(0, 0);
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.RowHeadersWidth = 21;
this.dataGridView1.RowTemplate.Height = 23;
this.dataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.dataGridView1.Size = new System.Drawing.Size(641, 215);
this.dataGridView1.TabIndex = 0;
this.dataGridView1.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellDoubleClick);
this.dataGridView1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.dataGridView1_KeyDown);
//
// idx
//
this.idx.HeaderText = "idx";
this.idx.Name = "idx";
this.idx.Visible = false;
//
// list_name
//
this.list_name.HeaderText = "목록";
this.list_name.Name = "list_name";
this.list_name.Width = 300;
//
// charge
//
this.charge.HeaderText = "담당자";
this.charge.Name = "charge";
//
// date
//
this.date.HeaderText = "목록일자";
this.date.Name = "date";
//
// date_res
//
this.date_res.HeaderText = "완료일자";
this.date_res.Name = "date_res";
//
// Order_input_Search
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(641, 215);
this.Controls.Add(this.dataGridView1);
this.Name = "Order_input_Search";
this.Text = "Order_input_Search";
this.Load += new System.EventHandler(this.Order_input_Search_Load);
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.DataGridView dataGridView1;
private System.Windows.Forms.DataGridViewTextBoxColumn idx;
private System.Windows.Forms.DataGridViewTextBoxColumn list_name;
private System.Windows.Forms.DataGridViewTextBoxColumn charge;
private System.Windows.Forms.DataGridViewTextBoxColumn date;
private System.Windows.Forms.DataGridViewTextBoxColumn date_res;
}
}

View File

@@ -0,0 +1,202 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace UniMarc
{
public partial class Order_input_Search2 : Form
{
Order_input oin;
Purchase_Book pb;
Remit_reg2 rem2;
Check_ISBN2 isbn;
Helper_DB db = new Helper_DB();
public int[] oin_grid_idx = { 0, 0 };
public string Where_Open;
public string searchText;
public bool OnlyMarc = false;
string compidx;
public Order_input_Search2(Order_input o_in)
{
InitializeComponent();
oin = o_in;
compidx = oin.compidx;
}
public Order_input_Search2(Remit_reg2 _rem2)
{
InitializeComponent();
rem2 = _rem2;
compidx = rem2.compidx;
searchText = rem2.tb_purchase.Text;
}
public Order_input_Search2(Purchase_Book _pb)
{
InitializeComponent();
pb = _pb;
compidx = pb.compidx;
searchText = pb.tb_purchase.Text;
}
public Order_input_Search2(Check_ISBN2 _isbn)
{
InitializeComponent();
isbn = _isbn;
compidx = isbn.compidx;
searchText = isbn.tb_list_name.Text;
}
public Order_input_Search2()
{
InitializeComponent();
}
private void Order_input_Search_Load(object sender, EventArgs e)
{
string cmd, db_res;
db.DBcon();
if (Where_Open == "book_list")
{
string table = "Obj_List";
string Area = "`idx`, `list_name`, `charge`, `date`, `date_res`";
cmd = string.Format("SELECT {0} FROM {1} WHERE `comp_num` = {2} AND `state` = \"진행\"", Area, table, compidx);
if (searchText != "")
{
cmd += " AND `list_name` like \"%" + searchText + "%\"";
// cmd = db.DB_Contains("Obj_List", compidx,
// "", "", "`list_name`, `charge`, `date`, `date_res`");
}
if (OnlyMarc)
{
cmd += " AND `chk_marc` > 0";
// cmd = db.DB_Contains("Obj_List", compidx,
// "list_name", searchText, "`list_name`, `charge`, `date`, `date_res`");
}
cmd += ";";
db_res = db.DB_Send_CMD_Search(cmd);
made_grid(db_res);
this.Text = "목록 검색";
}
else if (Where_Open.Contains("Order"))
{
list_name.HeaderText = "주문처";
charge.HeaderText = "대표자";
date.HeaderText = "종목";
date_res.HeaderText = "업태";
cmd = db.DB_Contains("Purchase", compidx,
"sangho", searchText, "`idx`, `sangho`, `boss`, `jongmok`, `uptae`");
db_res = db.DB_Send_CMD_Search(cmd);
made_grid(db_res);
this.Text = "주문처 검색";
}
}
private void made_grid(string strValue)
{
string[] data = strValue.Split('|');
dataGridView1.Rows.Clear();
string[] res = { "", "", "", "", "" };
for (int a = 0; a < data.Length; a++)
{
if (a % 5 == 0) { res[0] = data[a]; }
if (a % 5 == 1) { res[1] = data[a]; }
if (a % 5 == 2) { res[2] = data[a]; }
if (a % 5 == 3) { res[3] = data[a]; }
if (a % 5 == 4) { res[4] = data[a];
if (res[1].Contains(searchText))
dataGridView1.Rows.Add(res);
}
}
}
private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter) {
if (dataGridView1.Rows.Count == 0)
return;
dataGridView1_CellDoubleClick(null, null);
}
if (e.KeyCode == Keys.Escape) { Close(); }
}
private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
int row = 0;
if (Where_Open == "") { row = 0; }
else row = dataGridView1.CurrentCell.RowIndex;
if (e != null) { row = e.RowIndex; }
else row = dataGridView1.CurrentCell.RowIndex;
if (oin != null) {
oin_result(row);
}
else if (pb != null) {
pb_result(row);
}
else if (rem2 != null) {
rem2.tb_purchase.Text = dataGridView1.Rows[row].Cells["list_name"].Value.ToString();
rem2.mk_base(rem2.tb_purchase.Text);
}
else if (isbn != null) {
string listName = dataGridView1.Rows[row].Cells["list_name"].Value.ToString();
string l_idx = dataGridView1.Rows[row].Cells["idx"].Value.ToString();
isbn.tb_list_name.Text = listName;
isbn.DataLoad(listName, l_idx);
}
Close();
}
private void oin_result(int grididx)
{
if (Where_Open == "book_list")
{
string ListName = dataGridView1.Rows[grididx].Cells["list_name"].Value.ToString();
string DBdate = dataGridView1.Rows[grididx].Cells["date"].Value.ToString();
string[] tmp_col = { "compidx", "list_name", "date" };
string[] tmp_data = { compidx, ListName, DBdate };
string takedata = "`order`, `order_stat`, `isbn`, `book_name`, `author`, " +
"`book_comp`, `order_count`, `count`, `pay`, `total`, " +
"`etc`, `list_name`, `order_date`, `send_date`, `header`, " +
"`num`, `idx`";
string cmd = db.More_DB_Search("Obj_List_Book", tmp_col, tmp_data, takedata);
string db_res = db.DB_Send_CMD_Search(cmd);
oin.made_grid(db_res, false);
oin.tb_search_book_list.Text = ListName;
DateTime setDate = DateTime.ParseExact(DBdate, "yyyy-MM-dd", null);
oin.dtp_listBegin.Checked = true;
oin.dtp_listEnd.Checked = true;
oin.dtp_listBegin.Value = setDate;
oin.dtp_listEnd.Value = setDate;
}
else if (Where_Open.Contains("Order"))
{
if (Where_Open == "Order_Grid") {
oin.dataGridView1.Rows[oin_grid_idx[0]].Cells[oin_grid_idx[1]].Value =
dataGridView1.Rows[grididx].Cells["list_name"].Value.ToString();
}
else
{
try
{
oin.tb_orderText.Text = dataGridView1.Rows[grididx].Cells["list_name"].Value.ToString();
}
catch { }
}
}
}
private void pb_result(int grididx)
{
pb.tb_purchase.Text = dataGridView1.Rows[grididx].Cells["list_name"].Value.ToString();
pb.btn_Lookup_Click(null, null);
}
}
}

View File

@@ -0,0 +1,135 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="idx.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="list_name.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="charge.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="date.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="date_res.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>

View File

@@ -101,10 +101,13 @@ namespace UniMarc
private void Btn_Memo_Click(object sender, EventArgs e) private void Btn_Memo_Click(object sender, EventArgs e)
{ {
Marc_memo memo = new Marc_memo(this); Marc_memo memo = new Marc_memo();
memo.StartPosition = FormStartPosition.Manual; memo.StartPosition = FormStartPosition.Manual;
memo.TopMost = true; memo.TopMost = true;
memo.Location = new Point(1018, 8); memo.Location = new Point(1018, 8);
memo.OnSave += (s1, e1) => {
this.richTextBox1.Text = e1.Data;
};
memo.Show(); memo.Show();
} }

View File

@@ -30,20 +30,30 @@ namespace UniMarc
private void InitializeComponent() private void InitializeComponent()
{ {
this.btn_close = new System.Windows.Forms.Button(); this.btn_close = new System.Windows.Forms.Button();
this.panel1 = new System.Windows.Forms.Panel(); this.btn_Save = new System.Windows.Forms.Button();
this.Btn_SearchKolis = new System.Windows.Forms.Button();
this.cb_SearchCol = new System.Windows.Forms.ComboBox(); this.cb_SearchCol = new System.Windows.Forms.ComboBox();
this.btn_Empty = new System.Windows.Forms.Button();
this.tb_Search = new System.Windows.Forms.TextBox(); this.tb_Search = new System.Windows.Forms.TextBox();
this.panel2 = new System.Windows.Forms.Panel(); this.panel2 = new System.Windows.Forms.Panel();
this.Btn_SearchKolis = new System.Windows.Forms.Button(); this.marcEditorControl1 = new UniMarc.MarcEditorControl();
this.btn_Empty = new System.Windows.Forms.Button(); this.panel5 = new System.Windows.Forms.Panel();
this.marcEditorControl1 = new MarcEditorControl(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.panel1.SuspendLayout(); this.rtEtc1 = new System.Windows.Forms.RichTextBox();
this.rtEtc2 = new System.Windows.Forms.RichTextBox();
this.panel6 = new System.Windows.Forms.Panel();
this.lbl_SaveData = new System.Windows.Forms.Label();
this.cb_grade = new System.Windows.Forms.ComboBox();
this.label6 = new System.Windows.Forms.Label();
this.panel2.SuspendLayout(); this.panel2.SuspendLayout();
this.panel5.SuspendLayout();
this.tableLayoutPanel1.SuspendLayout();
this.panel6.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// btn_close // btn_close
// //
this.btn_close.Location = new System.Drawing.Point(1168, 3); this.btn_close.Location = new System.Drawing.Point(102, 156);
this.btn_close.Name = "btn_close"; this.btn_close.Name = "btn_close";
this.btn_close.Size = new System.Drawing.Size(77, 23); this.btn_close.Size = new System.Drawing.Size(77, 23);
this.btn_close.TabIndex = 381; this.btn_close.TabIndex = 381;
@@ -51,19 +61,25 @@ namespace UniMarc
this.btn_close.UseVisualStyleBackColor = true; this.btn_close.UseVisualStyleBackColor = true;
this.btn_close.Click += new System.EventHandler(this.btn_close_Click); this.btn_close.Click += new System.EventHandler(this.btn_close_Click);
// //
// panel1 // btn_Save
// //
this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.btn_Save.Location = new System.Drawing.Point(19, 185);
this.panel1.Controls.Add(this.Btn_SearchKolis); this.btn_Save.Name = "btn_Save";
this.panel1.Controls.Add(this.cb_SearchCol); this.btn_Save.Size = new System.Drawing.Size(77, 23);
this.panel1.Controls.Add(this.btn_Empty); this.btn_Save.TabIndex = 398;
this.panel1.Controls.Add(this.tb_Search); this.btn_Save.Text = "저장(F9)";
this.panel1.Controls.Add(this.btn_close); this.btn_Save.UseVisualStyleBackColor = true;
this.panel1.Dock = System.Windows.Forms.DockStyle.Top; this.btn_Save.Click += new System.EventHandler(this.btn_Save_Click);
this.panel1.Location = new System.Drawing.Point(0, 0); //
this.panel1.Name = "panel1"; // Btn_SearchKolis
this.panel1.Size = new System.Drawing.Size(1324, 32); //
this.panel1.TabIndex = 393; this.Btn_SearchKolis.Location = new System.Drawing.Point(102, 185);
this.Btn_SearchKolis.Name = "Btn_SearchKolis";
this.Btn_SearchKolis.Size = new System.Drawing.Size(77, 23);
this.Btn_SearchKolis.TabIndex = 397;
this.Btn_SearchKolis.Text = "코리스 검색";
this.Btn_SearchKolis.UseVisualStyleBackColor = true;
this.Btn_SearchKolis.Click += new System.EventHandler(this.Btn_SearchKolis_Click);
// //
// cb_SearchCol // cb_SearchCol
// //
@@ -74,14 +90,24 @@ namespace UniMarc
"서명", "서명",
"저자", "저자",
"출판사"}); "출판사"});
this.cb_SearchCol.Location = new System.Drawing.Point(8, 5); this.cb_SearchCol.Location = new System.Drawing.Point(19, 15);
this.cb_SearchCol.Name = "cb_SearchCol"; this.cb_SearchCol.Name = "cb_SearchCol";
this.cb_SearchCol.Size = new System.Drawing.Size(121, 20); this.cb_SearchCol.Size = new System.Drawing.Size(121, 20);
this.cb_SearchCol.TabIndex = 395; this.cb_SearchCol.TabIndex = 395;
// //
// btn_Empty
//
this.btn_Empty.Location = new System.Drawing.Point(19, 156);
this.btn_Empty.Name = "btn_Empty";
this.btn_Empty.Size = new System.Drawing.Size(77, 23);
this.btn_Empty.TabIndex = 396;
this.btn_Empty.Text = "비 우 기";
this.btn_Empty.UseVisualStyleBackColor = true;
this.btn_Empty.Click += new System.EventHandler(this.btn_Empty_Click);
//
// tb_Search // tb_Search
// //
this.tb_Search.Location = new System.Drawing.Point(135, 5); this.tb_Search.Location = new System.Drawing.Point(11, 41);
this.tb_Search.Name = "tb_Search"; this.tb_Search.Name = "tb_Search";
this.tb_Search.Size = new System.Drawing.Size(205, 21); this.tb_Search.Size = new System.Drawing.Size(205, 21);
this.tb_Search.TabIndex = 0; this.tb_Search.TabIndex = 0;
@@ -90,41 +116,121 @@ namespace UniMarc
// panel2 // panel2
// //
this.panel2.Controls.Add(this.marcEditorControl1); this.panel2.Controls.Add(this.marcEditorControl1);
this.panel2.Controls.Add(this.panel5);
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill; this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel2.Location = new System.Drawing.Point(0, 32); this.panel2.Location = new System.Drawing.Point(0, 0);
this.panel2.Name = "panel2"; this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(1324, 907); this.panel2.Size = new System.Drawing.Size(1059, 751);
this.panel2.TabIndex = 394; this.panel2.TabIndex = 394;
// //
// Btn_SearchKolis
//
this.Btn_SearchKolis.Location = new System.Drawing.Point(1002, 3);
this.Btn_SearchKolis.Name = "Btn_SearchKolis";
this.Btn_SearchKolis.Size = new System.Drawing.Size(77, 23);
this.Btn_SearchKolis.TabIndex = 397;
this.Btn_SearchKolis.Text = "코리스 검색";
this.Btn_SearchKolis.UseVisualStyleBackColor = true;
this.Btn_SearchKolis.Click += new System.EventHandler(this.Btn_SearchKolis_Click);
//
// btn_Empty
//
this.btn_Empty.Location = new System.Drawing.Point(1085, 3);
this.btn_Empty.Name = "btn_Empty";
this.btn_Empty.Size = new System.Drawing.Size(77, 23);
this.btn_Empty.TabIndex = 396;
this.btn_Empty.Text = "비 우 기";
this.btn_Empty.UseVisualStyleBackColor = true;
this.btn_Empty.Click += new System.EventHandler(this.btn_Empty_Click);
//
// marcEditorControl1 // marcEditorControl1
// //
this.marcEditorControl1.Dock = System.Windows.Forms.DockStyle.Fill; this.marcEditorControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.marcEditorControl1.Font = new System.Drawing.Font("돋움", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); this.marcEditorControl1.Font = new System.Drawing.Font("돋움", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.marcEditorControl1.Location = new System.Drawing.Point(0, 0); this.marcEditorControl1.Location = new System.Drawing.Point(0, 0);
this.marcEditorControl1.Name = "marcEditorControl1"; this.marcEditorControl1.Name = "marcEditorControl1";
this.marcEditorControl1.Size = new System.Drawing.Size(1324, 907); this.marcEditorControl1.Size = new System.Drawing.Size(793, 751);
this.marcEditorControl1.TabIndex = 394; this.marcEditorControl1.TabIndex = 394;
// //
// panel5
//
this.panel5.Controls.Add(this.tableLayoutPanel1);
this.panel5.Controls.Add(this.panel6);
this.panel5.Dock = System.Windows.Forms.DockStyle.Right;
this.panel5.Location = new System.Drawing.Point(793, 0);
this.panel5.Name = "panel5";
this.panel5.Size = new System.Drawing.Size(266, 751);
this.panel5.TabIndex = 395;
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.ColumnCount = 1;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel1.Controls.Add(this.rtEtc1, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.rtEtc2, 0, 1);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 308);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 2;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(266, 443);
this.tableLayoutPanel1.TabIndex = 0;
//
// rtEtc1
//
this.rtEtc1.BackColor = System.Drawing.SystemColors.ScrollBar;
this.rtEtc1.Dock = System.Windows.Forms.DockStyle.Fill;
this.rtEtc1.Font = new System.Drawing.Font("굴림체", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.rtEtc1.Location = new System.Drawing.Point(3, 3);
this.rtEtc1.Name = "rtEtc1";
this.rtEtc1.Size = new System.Drawing.Size(260, 215);
this.rtEtc1.TabIndex = 32;
this.rtEtc1.Text = "Remark1";
//
// rtEtc2
//
this.rtEtc2.BackColor = System.Drawing.SystemColors.ScrollBar;
this.rtEtc2.Dock = System.Windows.Forms.DockStyle.Fill;
this.rtEtc2.Font = new System.Drawing.Font("굴림체", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.rtEtc2.Location = new System.Drawing.Point(3, 224);
this.rtEtc2.Name = "rtEtc2";
this.rtEtc2.Size = new System.Drawing.Size(260, 216);
this.rtEtc2.TabIndex = 32;
this.rtEtc2.Text = "Remark2";
//
// panel6
//
this.panel6.Controls.Add(this.tb_Search);
this.panel6.Controls.Add(this.cb_SearchCol);
this.panel6.Controls.Add(this.btn_Save);
this.panel6.Controls.Add(this.Btn_SearchKolis);
this.panel6.Controls.Add(this.lbl_SaveData);
this.panel6.Controls.Add(this.cb_grade);
this.panel6.Controls.Add(this.label6);
this.panel6.Controls.Add(this.btn_Empty);
this.panel6.Controls.Add(this.btn_close);
this.panel6.Dock = System.Windows.Forms.DockStyle.Top;
this.panel6.Location = new System.Drawing.Point(0, 0);
this.panel6.Name = "panel6";
this.panel6.Size = new System.Drawing.Size(266, 308);
this.panel6.TabIndex = 1;
//
// lbl_SaveData
//
this.lbl_SaveData.AutoSize = true;
this.lbl_SaveData.Font = new System.Drawing.Font("굴림체", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.lbl_SaveData.ForeColor = System.Drawing.Color.PaleTurquoise;
this.lbl_SaveData.Location = new System.Drawing.Point(32, 119);
this.lbl_SaveData.Name = "lbl_SaveData";
this.lbl_SaveData.Size = new System.Drawing.Size(64, 19);
this.lbl_SaveData.TabIndex = 319;
this.lbl_SaveData.Text = "[] []";
//
// cb_grade
//
this.cb_grade.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cb_grade.FormattingEnabled = true;
this.cb_grade.Items.AddRange(new object[] {
"A (F9)",
"B (F10)",
"C (F11)",
"D (F12)"});
this.cb_grade.Location = new System.Drawing.Point(19, 96);
this.cb_grade.Name = "cb_grade";
this.cb_grade.Size = new System.Drawing.Size(75, 20);
this.cb_grade.TabIndex = 222;
//
// label6
//
this.label6.AutoSize = true;
this.label6.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.label6.Location = new System.Drawing.Point(16, 78);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(62, 12);
this.label6.TabIndex = 223;
this.label6.Text = "마크 등급";
//
// AddMarc2 // AddMarc2
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
@@ -132,26 +238,35 @@ namespace UniMarc
this.BackColor = System.Drawing.Color.Gray; this.BackColor = System.Drawing.Color.Gray;
this.ClientSize = new System.Drawing.Size(1324, 939); this.ClientSize = new System.Drawing.Size(1324, 939);
this.Controls.Add(this.panel2); this.Controls.Add(this.panel2);
this.Controls.Add(this.panel1);
this.Name = "AddMarc2"; this.Name = "AddMarc2";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "마크 작성(2-New)"; this.Text = "마크 작성(2-New)";
this.Load += new System.EventHandler(this.AddMarc_Load); this.Load += new System.EventHandler(this.AddMarc_Load);
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.panel2.ResumeLayout(false); this.panel2.ResumeLayout(false);
this.panel5.ResumeLayout(false);
this.tableLayoutPanel1.ResumeLayout(false);
this.panel6.ResumeLayout(false);
this.panel6.PerformLayout();
this.ResumeLayout(false); this.ResumeLayout(false);
} }
#endregion #endregion
private System.Windows.Forms.Button btn_close; private System.Windows.Forms.Button btn_close;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Panel panel2; private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.TextBox tb_Search; private System.Windows.Forms.TextBox tb_Search;
private System.Windows.Forms.ComboBox cb_SearchCol; private System.Windows.Forms.ComboBox cb_SearchCol;
private System.Windows.Forms.Button btn_Empty; private System.Windows.Forms.Button btn_Empty;
private System.Windows.Forms.Button Btn_SearchKolis; private System.Windows.Forms.Button Btn_SearchKolis;
private MarcEditorControl marcEditorControl1; private MarcEditorControl marcEditorControl1;
private System.Windows.Forms.Button btn_Save;
private System.Windows.Forms.Panel panel5;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
public System.Windows.Forms.RichTextBox rtEtc1;
public System.Windows.Forms.RichTextBox rtEtc2;
private System.Windows.Forms.Panel panel6;
private System.Windows.Forms.Label lbl_SaveData;
private System.Windows.Forms.ComboBox cb_grade;
private System.Windows.Forms.Label label6;
} }
} }

View File

@@ -18,6 +18,7 @@ namespace UniMarc
String_Text st = new String_Text(); String_Text st = new String_Text();
Help008Tag tag008 = new Help008Tag(); Help008Tag tag008 = new Help008Tag();
private string mOldMarc = string.Empty; private string mOldMarc = string.Empty;
private MacEditorParameter _param;
Main m; Main m;
public AddMarc2(Main _m) public AddMarc2(Main _m)
{ {
@@ -32,42 +33,48 @@ namespace UniMarc
TextReset(); TextReset();
marcEditorControl1.db = this.db; marcEditorControl1.db = this.db;
marcEditorControl1.BookSaved += MarcEditorControl1_BookSaved; this.KeyPreview = true;
marcEditorControl1.CloseButton += (s1,e1)=> { this.Close(); }; }
marcEditorControl1.SetButtonKolist(false);
marcEditorControl1.SetButtonNext(false); protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
marcEditorControl1.SetButtonPrev(false); {
if (keyData == Keys.F9)
{
btn_Save_Click(this, EventArgs.Empty);
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
} }
public void SetKolisValueApply(string marc) public void SetKolisValueApply(string marc)
{ {
this.marcEditorControl1.SetMarcString(marc); this.marcEditorControl1.SetMarcString(marc);
} }
private void MarcEditorControl1_BookSaved(object sender, MarcEditorControl.BookSavedEventArgs e) private void btn_Save_Click(object sender, EventArgs e)
{ {
string tag056 = Tag056(e.DBMarc, e.Param); if (marcEditorControl1.CheckValidation() == false) return;
string dbMarc = marcEditorControl1.MakeMarcString();
string tag056 = Tag056(dbMarc, _param);
string date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); string date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
string orimarc = st.made_Ori_marc(e.DBMarc).Replace(@"\", "₩"); string orimarc = st.made_Ori_marc(dbMarc).Replace(@"\", "₩");
if (!isMustTag(orimarc)) if (!isMustTag(orimarc))
{ {
return; return;
} }
var MarcText = e.DBMarc; var MarcText = dbMarc;
string midx = this.lbl_Midx; string midx = this.lbl_Midx;
string[] BookData = GetBookData(MarcText); string[] BookData = GetBookData(MarcText);
bool IsCoverDate = false; bool IsCoverDate = false;
if (e.Param.SaveDate != "") if (_param != null && _param.SaveDate != "")
{ {
// 마지막 수정일로부터 2일이 지났는지, 마지막 저장자가 사용자인지 확인 // 마지막 수정일로부터 2일이 지났는지, 마지막 저장자가 사용자인지 확인
TimeSpan sp = CheckDate(e.Param.SaveDate, date); TimeSpan sp = CheckDate(_param.SaveDate, date);
IsCoverDate = IsCoverData(sp.Days, e.Param.User); IsCoverDate = IsCoverData(sp.Days, _param.User);
//if (IsCoverDate)
// etc2.Text = etc2.Text.Replace(SaveData[0], date);
} }
//else
// etc2.Text += string.Format("{0}\t{1}\n", date, mUserName);
string Table = "Marc"; string Table = "Marc";
bool isUpdate; bool isUpdate;
if (lbl_Midx != "") if (lbl_Midx != "")
@@ -75,16 +82,21 @@ namespace UniMarc
else else
isUpdate = false; isUpdate = false;
var grade = int.Parse(e.Param.Grade); var grade = this.cb_grade.SelectedIndex;// int.Parse(param.Grade);
if (isUpdate) if (isUpdate)
UpdateMarc(Table, midx, orimarc, grade, tag056, date, IsCoverDate,e.Param); UpdateMarc(Table, midx, orimarc, grade, tag056, date, IsCoverDate, _param);
else else
InsertMarc(Table, BookData, orimarc, grade, tag056, date, e.Param); InsertMarc(Table, BookData, orimarc, grade, tag056, date, _param);
MessageBox.Show("저장되었습니다.", "저장"); MessageBox.Show("저장되었습니다.", "저장");
} }
private void MarcEditorControl1_BookSaved(object sender, EventArgs e)
{
// Removed - logic moved to btn_Save_Click
}
private void tb_ISBN_KeyDown(object sender, KeyEventArgs e) private void tb_ISBN_KeyDown(object sender, KeyEventArgs e)
{ {
@@ -115,15 +127,15 @@ namespace UniMarc
/// 6:LineMarc</param> /// 6:LineMarc</param>
public void SelectMarc_Sub(string Marc, string ISBN, string[] GridData) public void SelectMarc_Sub(string Marc, string ISBN, string[] GridData)
{ {
this.marcEditorControl1.LoadBookData(Marc, new MacEditorParameter _param = new MacEditorParameter
{ {
ISBN13 = ISBN, ISBN13 = ISBN,
SaveDate = string.Format("[{0}] [{1}]", GridData[2], GridData[3]), SaveDate = string.Format("[{0}] [{1}]", GridData[2], GridData[3]),
Grade = GridData[4], User = GridData[2],
Remark1 = string.Empty, NewMake = true,
Remark2 = string.Empty, text008 = GridData[5]
NewMake = true };
}); this.marcEditorControl1.LoadBookData(Marc, ISBN);
mOldMarc = GridData[6]; mOldMarc = GridData[6];
lbl_Midx = GridData[0]; lbl_Midx = GridData[0];
} }
@@ -149,14 +161,14 @@ namespace UniMarc
{ {
if (isDelete) if (isDelete)
{ {
marcEditorControl1.LoadBookData(string.Empty, new MacEditorParameter var emptymarc = TextResetSub();
_param = new MacEditorParameter
{ {
ISBN13 = string.Empty, ISBN13 = string.Empty,
SaveDate = string.Empty, SaveDate = string.Empty,
Remark1 = string.Empty, NewMake = true,
Remark2 = string.Empty, };
NewMake=true, marcEditorControl1.LoadBookData(emptymarc, string.Empty);
});
} }
@@ -202,7 +214,7 @@ namespace UniMarc
"700\t \t▼a▲\n" + "700\t \t▼a▲\n" +
"950\t \t▼b▲\n"); "950\t \t▼b▲\n");
this.marcEditorControl1.SetRemark(string.Empty, string.Empty);
return Empty_text; return Empty_text;
} }
@@ -221,6 +233,8 @@ namespace UniMarc
/// <param name="IsCovertDate">덮어씌울지 유무</param> /// <param name="IsCovertDate">덮어씌울지 유무</param>
void UpdateMarc(string Table, string MarcIndex, string oriMarc, int grade, string tag056, string date, bool IsCovertDate, MacEditorParameter param) void UpdateMarc(string Table, string MarcIndex, string oriMarc, int grade, string tag056, string date, bool IsCovertDate, MacEditorParameter param)
{ {
var etc1 = rtEtc1.Text.Trim();
var etc2 = rtEtc2.Text.Trim();
string[] EditTable = string[] EditTable =
{ {
"compidx", "marc", "marc_chk","marc1", "marc_chk1", "비고1", "compidx", "marc", "marc_chk","marc1", "marc_chk1", "비고1",
@@ -229,8 +243,8 @@ namespace UniMarc
}; };
string[] EditColumn = string[] EditColumn =
{ {
PUB.user.CompanyIdx, oriMarc, "1",mOldMarc, "0", param.Remark1, PUB.user.CompanyIdx, oriMarc, "1",mOldMarc, "0", etc1,
param.Remark2, tag056, param.text008, date, PUB.user.UserName, etc2, tag056, param.text008, date, PUB.user.UserName,
grade.ToString() grade.ToString()
}; };
string[] SearchTable = { "idx", "compidx" }; string[] SearchTable = { "idx", "compidx" };
@@ -279,16 +293,20 @@ namespace UniMarc
/// <param name="date">저장시각 yyyy-MM-dd HH:mm:ss</param> /// <param name="date">저장시각 yyyy-MM-dd HH:mm:ss</param>
void InsertMarc(string Table, string[] BookData, string oriMarc, int grade, string tag056, string date, MacEditorParameter param) void InsertMarc(string Table, string[] BookData, string oriMarc, int grade, string tag056, string date, MacEditorParameter param)
{ {
var etc1 = rtEtc1.Text.Trim();
var etc2 = rtEtc2.Text.Trim();
string[] InsertTable = string[] InsertTable =
{ {
"ISBN", "서명", "저자", "출판사", "가격", "ISBN", "서명", "저자", "출판사", "가격",
"marc", "비고1", "비고2", "grade", "marc_chk", "marc", "비고1", "비고2", "grade", "marc_chk",
"user", "division", "008tag", "date", "compidx" "user", "division", "008tag", "date", "compidx"
}; };
string[] InsertColumn = string[] InsertColumn =
{ {
BookData[0], BookData[1], BookData[2], BookData[3], BookData[4], BookData[0], BookData[1], BookData[2], BookData[3], BookData[4],
oriMarc, param.Remark1, param.Remark2, grade.ToString(), "1", oriMarc, etc1, etc2, grade.ToString(), "1",
PUB.user.UserName, tag056, param.text008, date, PUB.user.CompanyIdx PUB.user.UserName, tag056, param.text008, date, PUB.user.CompanyIdx
}; };

View File

@@ -0,0 +1,15 @@
namespace UniMarc
{
public class BookGridItem
{
public string header { get; set; }
public string num { get; set; }
public string BookName { get; set; }
public string Author { get; set; }
public string BookComp { get; set; }
public string Count { get; set; } = "1";
public string Price { get; set; } = "0";
public string Total { get; set; } = "0";
public string ISBN { get; set; }
}
}

View File

@@ -0,0 +1,643 @@
namespace UniMarc
{
partial class Check_ISBN2
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Check_ISBN2));
this.dataGridView1 = new System.Windows.Forms.DataGridView();
this.idx = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.num = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.isbn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.book_name = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.search_book_name = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.author = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.search_author = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.book_comp = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.search_book_comp = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.count = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.unit = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.total = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.condition = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.price = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.etc = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.pubDate = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.persent = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.category = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.sold_out = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.image = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.api_data = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.btn_lookup = new System.Windows.Forms.Button();
this.cb_filter = new System.Windows.Forms.ComboBox();
this.label1 = new System.Windows.Forms.Label();
this.tb_list_name = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
this.btn_Save = new System.Windows.Forms.Button();
this.btn_Close = new System.Windows.Forms.Button();
this.label3 = new System.Windows.Forms.Label();
this.cb_api = new System.Windows.Forms.ComboBox();
this.progressBar1 = new System.Windows.Forms.ProgressBar();
this.richTextBox1 = new System.Windows.Forms.RichTextBox();
this.btn_yes24 = new System.Windows.Forms.Button();
this.Check_Marc = new System.Windows.Forms.CheckBox();
this.panel1 = new System.Windows.Forms.Panel();
this.btn_ComparePrice = new System.Windows.Forms.Button();
this.panel2 = new System.Windows.Forms.Panel();
this.panel3 = new System.Windows.Forms.Panel();
this.bindingNavigator1 = new System.Windows.Forms.BindingNavigator(this.components);
this.bindingNavigatorMoveFirstItem = new System.Windows.Forms.ToolStripButton();
this.bindingNavigatorMovePreviousItem = new System.Windows.Forms.ToolStripButton();
this.bindingNavigatorSeparator = new System.Windows.Forms.ToolStripSeparator();
this.bindingNavigatorPositionItem = new System.Windows.Forms.ToolStripTextBox();
this.bindingNavigatorCountItem = new System.Windows.Forms.ToolStripLabel();
this.bindingNavigatorSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.bindingNavigatorMoveNextItem = new System.Windows.Forms.ToolStripButton();
this.bindingNavigatorMoveLastItem = new System.Windows.Forms.ToolStripButton();
this.bindingNavigatorSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.bs1 = new System.Windows.Forms.BindingSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.panel1.SuspendLayout();
this.panel2.SuspendLayout();
this.panel3.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.bindingNavigator1)).BeginInit();
this.bindingNavigator1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.bs1)).BeginInit();
this.SuspendLayout();
//
// dataGridView1
//
this.dataGridView1.AllowUserToAddRows = false;
this.dataGridView1.AllowUserToDeleteRows = false;
this.dataGridView1.BackgroundColor = System.Drawing.SystemColors.Control;
this.dataGridView1.BorderStyle = System.Windows.Forms.BorderStyle.None;
dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle1.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
this.dataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.idx,
this.num,
this.isbn,
this.book_name,
this.search_book_name,
this.author,
this.search_author,
this.book_comp,
this.search_book_comp,
this.count,
this.unit,
this.total,
this.condition,
this.price,
this.etc,
this.pubDate,
this.persent,
this.category,
this.sold_out,
this.image,
this.api_data});
this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.dataGridView1.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnF2;
this.dataGridView1.Location = new System.Drawing.Point(0, 0);
this.dataGridView1.Name = "dataGridView1";
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle2.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dataGridView1.RowHeadersDefaultCellStyle = dataGridViewCellStyle2;
this.dataGridView1.RowHeadersWidth = 20;
dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
this.dataGridView1.RowsDefaultCellStyle = dataGridViewCellStyle3;
this.dataGridView1.RowTemplate.Height = 23;
this.dataGridView1.Size = new System.Drawing.Size(1630, 566);
this.dataGridView1.TabIndex = 0;
this.dataGridView1.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellClick);
this.dataGridView1.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellDoubleClick);
this.dataGridView1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.dataGridView1_KeyDown);
//
// idx
//
this.idx.DataPropertyName = "idx";
this.idx.HeaderText = "idx";
this.idx.Name = "idx";
this.idx.Visible = false;
this.idx.Width = 50;
//
// num
//
this.num.DataPropertyName = "num";
this.num.HeaderText = "번호";
this.num.Name = "num";
this.num.Width = 50;
//
// isbn
//
this.isbn.DataPropertyName = "isbn";
this.isbn.HeaderText = "ISBN13";
this.isbn.Name = "isbn";
//
// book_name
//
this.book_name.DataPropertyName = "book_name";
this.book_name.HeaderText = "도서명";
this.book_name.Name = "book_name";
this.book_name.Width = 130;
//
// search_book_name
//
this.search_book_name.DataPropertyName = "search_book_name";
this.search_book_name.HeaderText = "검색 도서명";
this.search_book_name.Name = "search_book_name";
//
// author
//
this.author.DataPropertyName = "author";
this.author.HeaderText = "저자";
this.author.Name = "author";
//
// search_author
//
this.search_author.DataPropertyName = "search_author";
this.search_author.HeaderText = "검색 저자";
this.search_author.Name = "search_author";
//
// book_comp
//
this.book_comp.DataPropertyName = "book_comp";
this.book_comp.HeaderText = "출판사";
this.book_comp.Name = "book_comp";
//
// search_book_comp
//
this.search_book_comp.DataPropertyName = "search_book_comp";
this.search_book_comp.HeaderText = "검색 출판사";
this.search_book_comp.Name = "search_book_comp";
//
// count
//
this.count.DataPropertyName = "count";
this.count.HeaderText = "수량";
this.count.Name = "count";
this.count.Visible = false;
this.count.Width = 50;
//
// unit
//
this.unit.DataPropertyName = "unit";
this.unit.HeaderText = "단가";
this.unit.Name = "unit";
this.unit.Width = 70;
//
// total
//
this.total.DataPropertyName = "total";
this.total.HeaderText = "합계";
this.total.Name = "total";
this.total.Visible = false;
this.total.Width = 70;
//
// condition
//
this.condition.DataPropertyName = "condition";
this.condition.HeaderText = "상태";
this.condition.Name = "condition";
this.condition.Visible = false;
//
// price
//
this.price.DataPropertyName = "price";
this.price.HeaderText = "정가";
this.price.Name = "price";
this.price.Width = 50;
//
// etc
//
this.etc.DataPropertyName = "etc";
this.etc.HeaderText = "비고";
this.etc.Name = "etc";
//
// pubDate
//
this.pubDate.DataPropertyName = "pubDate";
this.pubDate.HeaderText = "발행일";
this.pubDate.Name = "pubDate";
//
// persent
//
this.persent.DataPropertyName = "persent";
this.persent.HeaderText = "%";
this.persent.Name = "persent";
this.persent.Width = 50;
//
// category
//
this.category.DataPropertyName = "category";
this.category.HeaderText = "도서분류";
this.category.Name = "category";
//
// sold_out
//
this.sold_out.DataPropertyName = "sold_out";
this.sold_out.HeaderText = "품절/절판";
this.sold_out.Name = "sold_out";
//
// image
//
this.image.DataPropertyName = "image";
this.image.HeaderText = "이미지";
this.image.Name = "image";
this.image.Visible = false;
//
// api_data
//
this.api_data.DataPropertyName = "api_data";
this.api_data.HeaderText = "api_data";
this.api_data.Name = "api_data";
this.api_data.Visible = false;
//
// btn_lookup
//
this.btn_lookup.Location = new System.Drawing.Point(693, 4);
this.btn_lookup.Name = "btn_lookup";
this.btn_lookup.Size = new System.Drawing.Size(99, 23);
this.btn_lookup.TabIndex = 1;
this.btn_lookup.Text = "ISBN 자동 조회";
this.btn_lookup.UseVisualStyleBackColor = true;
this.btn_lookup.Click += new System.EventHandler(this.btn_lookup_Click);
//
// cb_filter
//
this.cb_filter.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cb_filter.FormattingEnabled = true;
this.cb_filter.Location = new System.Drawing.Point(577, 5);
this.cb_filter.Name = "cb_filter";
this.cb_filter.Size = new System.Drawing.Size(100, 20);
this.cb_filter.TabIndex = 2;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(7, 9);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(45, 12);
this.label1.TabIndex = 3;
this.label1.Text = "목록 명";
//
// tb_list_name
//
this.tb_list_name.Enabled = false;
this.tb_list_name.Location = new System.Drawing.Point(54, 5);
this.tb_list_name.Name = "tb_list_name";
this.tb_list_name.Size = new System.Drawing.Size(213, 21);
this.tb_list_name.TabIndex = 4;
this.tb_list_name.KeyDown += new System.Windows.Forms.KeyEventHandler(this.tb_list_name_KeyDown);
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(518, 9);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(57, 12);
this.label2.TabIndex = 3;
this.label2.Text = "검색 조건";
//
// btn_Save
//
this.btn_Save.Location = new System.Drawing.Point(796, 4);
this.btn_Save.Name = "btn_Save";
this.btn_Save.Size = new System.Drawing.Size(99, 23);
this.btn_Save.TabIndex = 1;
this.btn_Save.Text = "전 체 저 장";
this.btn_Save.UseVisualStyleBackColor = true;
this.btn_Save.Click += new System.EventHandler(this.btn_Save_Click);
//
// btn_Close
//
this.btn_Close.Location = new System.Drawing.Point(1105, 4);
this.btn_Close.Name = "btn_Close";
this.btn_Close.Size = new System.Drawing.Size(99, 23);
this.btn_Close.TabIndex = 1;
this.btn_Close.Text = "닫 기";
this.btn_Close.UseVisualStyleBackColor = true;
this.btn_Close.Click += new System.EventHandler(this.btn_Close_Click);
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(285, 9);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(57, 12);
this.label3.TabIndex = 5;
this.label3.Text = "검색 엔진";
//
// cb_api
//
this.cb_api.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cb_api.FormattingEnabled = true;
this.cb_api.Location = new System.Drawing.Point(344, 5);
this.cb_api.Name = "cb_api";
this.cb_api.Size = new System.Drawing.Size(160, 20);
this.cb_api.TabIndex = 6;
this.cb_api.SelectedIndexChanged += new System.EventHandler(this.cb_api_SelectedIndexChanged);
//
// progressBar1
//
this.progressBar1.Location = new System.Drawing.Point(1241, 4);
this.progressBar1.Name = "progressBar1";
this.progressBar1.Size = new System.Drawing.Size(219, 23);
this.progressBar1.TabIndex = 7;
//
// richTextBox1
//
this.richTextBox1.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.richTextBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.richTextBox1.Location = new System.Drawing.Point(0, 0);
this.richTextBox1.Name = "richTextBox1";
this.richTextBox1.Size = new System.Drawing.Size(1632, 100);
this.richTextBox1.TabIndex = 8;
this.richTextBox1.Text = "";
//
// btn_yes24
//
this.btn_yes24.Location = new System.Drawing.Point(1002, 4);
this.btn_yes24.Name = "btn_yes24";
this.btn_yes24.Size = new System.Drawing.Size(99, 23);
this.btn_yes24.TabIndex = 1;
this.btn_yes24.Text = "예스 양식 반출";
this.btn_yes24.UseVisualStyleBackColor = true;
this.btn_yes24.Click += new System.EventHandler(this.btn_yes24_Click);
//
// Check_Marc
//
this.Check_Marc.AutoSize = true;
this.Check_Marc.Checked = true;
this.Check_Marc.CheckState = System.Windows.Forms.CheckState.Checked;
this.Check_Marc.Enabled = false;
this.Check_Marc.Location = new System.Drawing.Point(1488, 7);
this.Check_Marc.Name = "Check_Marc";
this.Check_Marc.Size = new System.Drawing.Size(132, 16);
this.Check_Marc.TabIndex = 9;
this.Check_Marc.Text = "마크ISBN 동시 저장";
this.Check_Marc.UseVisualStyleBackColor = true;
//
// panel1
//
this.panel1.Controls.Add(this.btn_ComparePrice);
this.panel1.Controls.Add(this.label1);
this.panel1.Controls.Add(this.Check_Marc);
this.panel1.Controls.Add(this.btn_lookup);
this.panel1.Controls.Add(this.btn_Save);
this.panel1.Controls.Add(this.progressBar1);
this.panel1.Controls.Add(this.btn_Close);
this.panel1.Controls.Add(this.cb_api);
this.panel1.Controls.Add(this.btn_yes24);
this.panel1.Controls.Add(this.label3);
this.panel1.Controls.Add(this.cb_filter);
this.panel1.Controls.Add(this.tb_list_name);
this.panel1.Controls.Add(this.label2);
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(1632, 31);
this.panel1.TabIndex = 10;
//
// btn_ComparePrice
//
this.btn_ComparePrice.Location = new System.Drawing.Point(899, 4);
this.btn_ComparePrice.Name = "btn_ComparePrice";
this.btn_ComparePrice.Size = new System.Drawing.Size(99, 23);
this.btn_ComparePrice.TabIndex = 10;
this.btn_ComparePrice.Text = "정 가 대 조";
this.btn_ComparePrice.UseVisualStyleBackColor = true;
this.btn_ComparePrice.Click += new System.EventHandler(this.btn_ComparePrice_Click);
//
// panel2
//
this.panel2.Controls.Add(this.richTextBox1);
this.panel2.Dock = System.Windows.Forms.DockStyle.Bottom;
this.panel2.Location = new System.Drawing.Point(0, 624);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(1632, 100);
this.panel2.TabIndex = 11;
//
// panel3
//
this.panel3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panel3.Controls.Add(this.dataGridView1);
this.panel3.Controls.Add(this.bindingNavigator1);
this.panel3.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel3.Location = new System.Drawing.Point(0, 31);
this.panel3.Name = "panel3";
this.panel3.Size = new System.Drawing.Size(1632, 593);
this.panel3.TabIndex = 12;
//
// bindingNavigator1
//
this.bindingNavigator1.AddNewItem = null;
this.bindingNavigator1.BindingSource = this.bs1;
this.bindingNavigator1.CountItem = this.bindingNavigatorCountItem;
this.bindingNavigator1.DeleteItem = null;
this.bindingNavigator1.Dock = System.Windows.Forms.DockStyle.Bottom;
this.bindingNavigator1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.bindingNavigatorMoveFirstItem,
this.bindingNavigatorMovePreviousItem,
this.bindingNavigatorSeparator,
this.bindingNavigatorPositionItem,
this.bindingNavigatorCountItem,
this.bindingNavigatorSeparator1,
this.bindingNavigatorMoveNextItem,
this.bindingNavigatorMoveLastItem,
this.bindingNavigatorSeparator2});
this.bindingNavigator1.Location = new System.Drawing.Point(0, 566);
this.bindingNavigator1.MoveFirstItem = this.bindingNavigatorMoveFirstItem;
this.bindingNavigator1.MoveLastItem = this.bindingNavigatorMoveLastItem;
this.bindingNavigator1.MoveNextItem = this.bindingNavigatorMoveNextItem;
this.bindingNavigator1.MovePreviousItem = this.bindingNavigatorMovePreviousItem;
this.bindingNavigator1.Name = "bindingNavigator1";
this.bindingNavigator1.PositionItem = this.bindingNavigatorPositionItem;
this.bindingNavigator1.Size = new System.Drawing.Size(1630, 25);
this.bindingNavigator1.TabIndex = 1;
this.bindingNavigator1.Text = "bindingNavigator1";
//
// bindingNavigatorMoveFirstItem
//
this.bindingNavigatorMoveFirstItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.bindingNavigatorMoveFirstItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorMoveFirstItem.Image")));
this.bindingNavigatorMoveFirstItem.Name = "bindingNavigatorMoveFirstItem";
this.bindingNavigatorMoveFirstItem.RightToLeftAutoMirrorImage = true;
this.bindingNavigatorMoveFirstItem.Size = new System.Drawing.Size(23, 22);
this.bindingNavigatorMoveFirstItem.Text = "처음으로 이동";
//
// bindingNavigatorMovePreviousItem
//
this.bindingNavigatorMovePreviousItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.bindingNavigatorMovePreviousItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorMovePreviousItem.Image")));
this.bindingNavigatorMovePreviousItem.Name = "bindingNavigatorMovePreviousItem";
this.bindingNavigatorMovePreviousItem.RightToLeftAutoMirrorImage = true;
this.bindingNavigatorMovePreviousItem.Size = new System.Drawing.Size(23, 22);
this.bindingNavigatorMovePreviousItem.Text = "이전으로 이동";
//
// bindingNavigatorSeparator
//
this.bindingNavigatorSeparator.Name = "bindingNavigatorSeparator";
this.bindingNavigatorSeparator.Size = new System.Drawing.Size(6, 25);
//
// bindingNavigatorPositionItem
//
this.bindingNavigatorPositionItem.AccessibleName = "위치";
this.bindingNavigatorPositionItem.AutoSize = false;
this.bindingNavigatorPositionItem.Font = new System.Drawing.Font("맑은 고딕", 9F);
this.bindingNavigatorPositionItem.Name = "bindingNavigatorPositionItem";
this.bindingNavigatorPositionItem.Size = new System.Drawing.Size(50, 23);
this.bindingNavigatorPositionItem.Text = "0";
this.bindingNavigatorPositionItem.ToolTipText = "현재 위치";
//
// bindingNavigatorCountItem
//
this.bindingNavigatorCountItem.Name = "bindingNavigatorCountItem";
this.bindingNavigatorCountItem.Size = new System.Drawing.Size(27, 22);
this.bindingNavigatorCountItem.Text = "/{0}";
this.bindingNavigatorCountItem.ToolTipText = "전체 항목 수";
//
// bindingNavigatorSeparator1
//
this.bindingNavigatorSeparator1.Name = "bindingNavigatorSeparator";
this.bindingNavigatorSeparator1.Size = new System.Drawing.Size(6, 25);
//
// bindingNavigatorMoveNextItem
//
this.bindingNavigatorMoveNextItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.bindingNavigatorMoveNextItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorMoveNextItem.Image")));
this.bindingNavigatorMoveNextItem.Name = "bindingNavigatorMoveNextItem";
this.bindingNavigatorMoveNextItem.RightToLeftAutoMirrorImage = true;
this.bindingNavigatorMoveNextItem.Size = new System.Drawing.Size(23, 22);
this.bindingNavigatorMoveNextItem.Text = "다음으로 이동";
//
// bindingNavigatorMoveLastItem
//
this.bindingNavigatorMoveLastItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.bindingNavigatorMoveLastItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorMoveLastItem.Image")));
this.bindingNavigatorMoveLastItem.Name = "bindingNavigatorMoveLastItem";
this.bindingNavigatorMoveLastItem.RightToLeftAutoMirrorImage = true;
this.bindingNavigatorMoveLastItem.Size = new System.Drawing.Size(23, 22);
this.bindingNavigatorMoveLastItem.Text = "마지막으로 이동";
//
// bindingNavigatorSeparator2
//
this.bindingNavigatorSeparator2.Name = "bindingNavigatorSeparator";
this.bindingNavigatorSeparator2.Size = new System.Drawing.Size(6, 25);
//
// Check_ISBN2
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1632, 724);
this.Controls.Add(this.panel3);
this.Controls.Add(this.panel2);
this.Controls.Add(this.panel1);
this.Name = "Check_ISBN2";
this.Text = "ISBN 조회";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Check_ISBN_FormClosing);
this.Load += new System.EventHandler(this.Check_ISBN_Load);
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.panel2.ResumeLayout(false);
this.panel3.ResumeLayout(false);
this.panel3.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.bindingNavigator1)).EndInit();
this.bindingNavigator1.ResumeLayout(false);
this.bindingNavigator1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.bs1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Button btn_lookup;
private System.Windows.Forms.ComboBox cb_filter;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Button btn_Save;
private System.Windows.Forms.Button btn_Close;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.ComboBox cb_api;
private System.Windows.Forms.ProgressBar progressBar1;
public System.Windows.Forms.DataGridView dataGridView1;
private System.Windows.Forms.RichTextBox richTextBox1;
private System.Windows.Forms.Button btn_yes24;
public System.Windows.Forms.TextBox tb_list_name;
private System.Windows.Forms.CheckBox Check_Marc;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.Panel panel3;
private System.Windows.Forms.Button btn_ComparePrice;
private System.Windows.Forms.DataGridViewTextBoxColumn idx;
private System.Windows.Forms.DataGridViewTextBoxColumn num;
private System.Windows.Forms.DataGridViewTextBoxColumn isbn;
private System.Windows.Forms.DataGridViewTextBoxColumn book_name;
private System.Windows.Forms.DataGridViewTextBoxColumn search_book_name;
private System.Windows.Forms.DataGridViewTextBoxColumn author;
private System.Windows.Forms.DataGridViewTextBoxColumn search_author;
private System.Windows.Forms.DataGridViewTextBoxColumn book_comp;
private System.Windows.Forms.DataGridViewTextBoxColumn search_book_comp;
private System.Windows.Forms.DataGridViewTextBoxColumn count;
private System.Windows.Forms.DataGridViewTextBoxColumn unit;
private System.Windows.Forms.DataGridViewTextBoxColumn total;
private System.Windows.Forms.DataGridViewTextBoxColumn condition;
private System.Windows.Forms.DataGridViewTextBoxColumn price;
private System.Windows.Forms.DataGridViewTextBoxColumn etc;
private System.Windows.Forms.DataGridViewTextBoxColumn pubDate;
private System.Windows.Forms.DataGridViewTextBoxColumn persent;
private System.Windows.Forms.DataGridViewTextBoxColumn category;
private System.Windows.Forms.DataGridViewTextBoxColumn sold_out;
private System.Windows.Forms.DataGridViewTextBoxColumn image;
private System.Windows.Forms.DataGridViewTextBoxColumn api_data;
private System.Windows.Forms.BindingNavigator bindingNavigator1;
private System.Windows.Forms.BindingSource bs1;
private System.Windows.Forms.ToolStripLabel bindingNavigatorCountItem;
private System.Windows.Forms.ToolStripButton bindingNavigatorMoveFirstItem;
private System.Windows.Forms.ToolStripButton bindingNavigatorMovePreviousItem;
private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator;
private System.Windows.Forms.ToolStripTextBox bindingNavigatorPositionItem;
private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator1;
private System.Windows.Forms.ToolStripButton bindingNavigatorMoveNextItem;
private System.Windows.Forms.ToolStripButton bindingNavigatorMoveLastItem;
private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator2;
}
}

View File

@@ -0,0 +1,920 @@
using System;
using System.CodeDom;
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;
namespace UniMarc
{
public partial class Check_ISBN2 : Form
{
Main main;
List_aggregation list_agg;
Commodity_registration cr;
Helper_DB db = new Helper_DB();
public string compidx;
public string list_name = string.Empty;
private string mListIDX = string.Empty;
private string mSearchText = string.Empty;
public int rowidx;
private bool save = true;
string[] list_combo = { "알라딘", "국립중앙도서관", "다음", "네이버" };
BindingList<IsbnGridItem> bookList = new BindingList<IsbnGridItem>();
public Check_ISBN2(Main _main,string pSearchText = "",string pListIDX = "")
{
InitializeComponent();
main = _main;
compidx = PUB.user.CompanyIdx;
mSearchText = pSearchText;
mListIDX = pListIDX;
}
public Check_ISBN2(List_aggregation _list_agg)
{
InitializeComponent();
list_agg = _list_agg;
compidx = list_agg.compidx;
}
public Check_ISBN2(Commodity_registration _cr)
{
InitializeComponent();
cr = _cr;
compidx = cr.comp_idx;
}
private void Check_ISBN_Load(object sender, EventArgs e)
{
bs1.DataSource = bookList;
dataGridView1.DataSource = bs1;
dataGridView1.DataBindingComplete += DataGridView1_DataBindingComplete;
if (mSearchText != "")
{
tb_list_name.Text = mSearchText;
DataLoad(mSearchText, mListIDX);
}
}
public void DataLoad()
{
tb_list_name.Text = list_name;
cb_api.Items.Clear();
cb_api.Items.AddRange(list_combo);
db.DBcon();
string[] search_tbl = { "compidx", "list_name" };
string[] search_col = { compidx, list_name };
string search_data = "`idx`, `header`, `num`, `isbn`, `book_name`, `author`, `book_comp`, " +
"`count`, `pay`, `total`, `import`, `price`, " +
"`etc`, `pubDate`, `persent`, `category`, `image_url`, `set_book_name`";
string cmd = db.More_DB_Search("Obj_List_Book", search_tbl, search_col, search_data);
string db_res = db.DB_Send_CMD_Search(cmd);
string[] data = db_res.Split('|');
made_Grid(data);
}
public void DataLoad(string ListName, string l_idx)
{
bookList.Clear();
cb_api.Items.Clear();
list_name = ListName;
cb_api.Items.AddRange(list_combo);
db.DBcon();
string[] search_tbl = { "compidx", "l_idx" };
string[] search_col = { compidx, l_idx };
string search_data = "`idx`, `header`, `num`, `isbn_marc`, `book_name`, `author`, `book_comp`, " +
"`count`, `pay`, `total`, `import`, `price`, " +
"`etc`, `pubDate`, `persent`, `category`, `image_url`, `set_book_name`";
string cmd = db.More_DB_Search("Obj_List_Book", search_tbl, search_col, search_data);
string db_res = db.DB_Send_CMD_Search(cmd);
string[] data = db_res.Split('|');
made_Grid(data);
}
#region Load_Sub
void made_Grid(string[] data)
{
/* 번호 isbn 도서명 저자 출판사
* 수량 단가 합계 상태 정가
* 비고 발행일 % 도서분류 */
int sdc = 18; // search_data_count
for (int a = 0; a < data.Length; a += sdc)
{
if (a + 17 >= data.Length) break;
var item = new IsbnGridItem();
item.idx = data[a];
item.num = data[a + 1] + " " + data[a + 2]; // header + num
item.isbn = data[a + 3];
item.book_name = data[a + 4];
item.author = data[a + 5];
item.book_comp = data[a + 6];
item.count = data[a + 7];
item.unit = data[a + 8];
item.total = data[a + 9];
item.condition = data[a + 10];
item.price = data[a + 11];
item.etc = data[a + 12];
item.pubDate = data[a + 13];
item.persent = data[a + 14];
item.category = data[a + 15];
item.image = data[a + 16];
string setBookName = data[a + 17];
if (!string.IsNullOrEmpty(setBookName))
{
item.book_name = setBookName;
}
bookList.Add(item);
}
Set_grid();
}
private void DataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
ApplyRowColors();
}
private void ApplyRowColors()
{
for (int a = 0; a < dataGridView1.Rows.Count; a++)
{
var row = dataGridView1.Rows[a];
var item = row.DataBoundItem as IsbnGridItem;
if (item != null && !string.IsNullOrEmpty(item.isbn))
{
if (item.unit != item.price)
row.DefaultCellStyle.BackColor = Color.Orange;
else
row.DefaultCellStyle.BackColor = Color.Yellow;
}
}
}
void Set_grid()
{
for (int a = 0; a < dataGridView1.Columns.Count; a++)
{
if (dataGridView1.Columns[a].Name == "isbn" ||
dataGridView1.Columns[a].Name == "book_name" ||
dataGridView1.Columns[a].Name == "search_book_name" ||
dataGridView1.Columns[a].Name == "author" ||
dataGridView1.Columns[a].Name == "search_author" ||
dataGridView1.Columns[a].Name == "book_comp" ||
dataGridView1.Columns[a].Name == "search_book_comp" ||
dataGridView1.Columns[a].Name == "unit" ||
dataGridView1.Columns[a].Name == "price" ||
dataGridView1.Columns[a].Name == "pubDate" ||
dataGridView1.Columns[a].Name == "category" ||
dataGridView1.Columns[a].Name == "sold_out" ||
dataGridView1.Columns[a].Name == "etc")
{
dataGridView1.Columns[a].ReadOnly = false;
}
else { dataGridView1.Columns[a].ReadOnly = true; }
}
}
#endregion
private void btn_lookup_Click(object sender, EventArgs e)
{
if (cb_api.SelectedIndex == -1) { MessageBox.Show("조건이 선택되지 않았습니다."); return; }
if (cb_filter.SelectedIndex == -1) { MessageBox.Show("조건이 선택되지 않았습니다."); return; }
clear_api();
progressBar1.Style = ProgressBarStyle.Continuous;
progressBar1.Minimum = 0;
progressBar1.Maximum = dataGridView1.Rows.Count;
progressBar1.Step = 1;
progressBar1.Value = 0;
switch (cb_api.SelectedIndex)
{
case 0:
Aladin_API();
break;
case 1:
NL_API();
break;
case 2:
Daum_API();
break;
case 3:
Naver_API();
break;
}
// 총 검색 횟수, 일치, 중복
MessageBox.Show("검색이 완료되었습니다!");
progressBar1.Value = bookList.Count;
bs1.Position = 0;
this.ActiveControl = dataGridView1;
rowidx = 0;
save = false;
}
/// <summary>
/// 불러와서 저장한 api값 초기화
/// </summary>
void clear_api()
{
foreach (var item in bookList)
{
item.api_data = "";
}
}
private void Aladin_API()
{
string temp = string.Empty;
string type = string.Empty;
// 도서명 / 저자 / 출판사 / isbn / 정가
// 발행일 / 도서분류 / 재고
string[] param = { "title", "author", "publisher", "isbn13", "priceStandard",
"pubDate", "categoryName", "stockStatus", "cover" };
API api = new API();
switch (cb_filter.SelectedIndex)
{
case 0:
type = "Title";
break;
case 1:
type = "Author";
break;
case 2:
type = "Publisher";
break;
case 3:
type = "ISBN13";
break;
}
for (int a = 0; a < bookList.Count; a++)
{
progressBar1.PerformStep();
var item = bookList[a];
if (item.isbn == null)
item.isbn = "";
string isbn = item.isbn;
if (cb_filter.SelectedIndex == 3) {
if (!CheckData(isbn))
continue;
else
dataGridView1.Rows[a].DefaultCellStyle.BackColor = Color.Empty;
}
else {
if (CheckData(isbn))
continue;
else
dataGridView1.Rows[a].DefaultCellStyle.BackColor = Color.Empty;
}
string query = Aladin_Set_query(type, a);
insert_Aladin(api.Aladin(query, type, param), a);
}
}
string Aladin_Set_query(string type, int idx)
{
string result = string.Empty;
if (type == "Title")
result = bookList[idx].book_name;
if (type == "Author")
result = bookList[idx].author;
if (type == "Publisher")
result = bookList[idx].book_comp;
if (type == "ISBN13")
result = bookList[idx].isbn;
return result;
}
private void NL_API()
{
// 도서명 / 저자 / 출판사 / isbn / 정가
// 발행일 / 도서분류 /
string[] param = { "TITLE", "AUTHOR", "PUBLISHER", "EA_ISBN", "PRE_PRICE",
"PUBLISH_PREDATE", "KDC", "TITLE_URL" };
API api = new API();
for (int a = 0; a < bookList.Count; a++)
{
string[] grid = { "", "", "", "", "",
"", "", "", "" };
string type = "";
string target = "";
progressBar1.PerformStep();
var item = bookList[a];
if (item.isbn == null)
item.isbn = "";
string isbn = item.isbn;
if (CheckData(isbn))
continue;
else
dataGridView1.Rows[a].DefaultCellStyle.BackColor = Color.Empty;
switch (cb_filter.SelectedIndex)
{
case 0:
type = "title";
target = item.book_name;
break;
case 1:
type = "author";
target = item.author;
break;
case 2:
type = "publisher";
target = item.book_comp;
break;
}
string result = api.NationalLibraryOfKorea(target, type, param);
if (result.Length < 4) continue;
string[] tmp_Array = result.Split('|');
int ArrayLength = tmp_Array.Length;
for (int b = 0; b < ArrayLength; b++)
{
if (b % 8 == 0) grid[0] = tmp_Array[b];
if (b % 8 == 1) grid[1] = tmp_Array[b];
if (b % 8 == 2) grid[2] = tmp_Array[b];
if (b % 8 == 3) grid[3] = tmp_Array[b];
if (b % 8 == 4) grid[4] = tmp_Array[b].Replace(",", "");
if (b % 8 == 5) grid[5] = tmp_Array[b];
if (b % 8 == 6) grid[6] = tmp_Array[b];
if (b % 8 == 7)
{
grid[8] = tmp_Array[b];
dataGridView1.Rows[a].DefaultCellStyle.BackColor = Color.LightGray;
if (ArrayLength < 10) {
input_api(grid, a, grid[5]);
break;
}
else
{
bookList[a].api_data += string.Join("|", grid) + "|";
}
}
}
}
}
private void Naver_API()
{
// 도서명 / 저자 / 출판사 / isbn / 정가
// 발행일 / 도서분류 / 재고
string[] param = { "title", "author", "publisher", "isbn", "discount",
"pubdate", "discount", "image"};
API api = new API();
for (int a = 0; a < bookList.Count; a++)
{
progressBar1.PerformStep();
var item = bookList[a];
if (item.isbn == null)
item.isbn = "";
string isbn = item.isbn;
string Target = "";
if (CheckData(isbn))
continue;
else
dataGridView1.Rows[a].DefaultCellStyle.BackColor = Color.Empty;
#region
switch (cb_filter.SelectedIndex)
{
case 0:
Target = item.book_name;
break;
case 1:
Target = item.author;
break;
case 2:
Target = item.book_comp;
break;
}
#endregion
string result = api.Naver(Target, "query", param);
insert_Naver(result, a);
Thread.Sleep(700);
}
}
private void Daum_API()
{
string[] param = { "title", "authors", "publisher", "isbn", "price",
"datetime", "status", "thumbnail" };
string type = string.Empty;
string query = string.Empty;
API api = new API();
for(int a = 0; a < bookList.Count; a++)
{
progressBar1.PerformStep();
var item = bookList[a];
if (item.isbn == null)
item.isbn = "";
string isbn = item.isbn;
if (CheckData(isbn))
continue;
else
dataGridView1.Rows[a].DefaultCellStyle.BackColor = Color.Empty;
switch (cb_filter.SelectedIndex)
{
case 0:
type = "title";
query = item.book_name;
break;
case 1:
type = "person";
query = item.author;
break;
case 2:
type = "publisher";
query = item.book_comp;
break;
}
string result = api.Daum(query, type, param);
insert_Daum(result, a);
}
}
bool CheckData(string isbn)
{
if (string.IsNullOrEmpty(isbn))
return false;
return true;
}
void insert_Aladin(string data, int row)
{
if (row > 0) { dataGridView1.Rows[row - 1].Selected = false; }
dataGridView1.Rows[row].Selected = true;
if (data.Length > 0) {
bookList[row].api_data = data;
dataGridView1.Rows[row].DefaultCellStyle.BackColor = Color.LightGray;
}
string[] insert = data.Split('|');
if (data == "") { return; }
string newstring;
try {
// pubDate형 보기편하게 DateTime형으로 재정리
newstring = String.Format("{0:yyyy/MM/dd HH:mm}",
DateTime.Parse(insert[5].Remove(insert[5].IndexOf(" G"))));
}
catch {
newstring = insert[5];
}
insert[6] = Aladin_CategorySort(insert[6]);
if (insert.Length > 10) {
return;
}
if (cb_filter.SelectedItem.ToString() == "별치조사")
input_api_aladin(insert, row, newstring);
input_api(insert, row, newstring);
/*
if (row > 0) { dataGridView1.Rows[row - 1].Selected = false; }
dataGridView1.Rows[row].Selected = true;
string[] insert = data.Split('|');
if (data == "") { return; }
// pubDate형 보기편하게 DateTime형으로 재정리
string newstring = "";
try
{
newstring = String.Format("{0:yyyy/MM/dd}",
DateTime.Parse(insert[5].Remove(insert[5].IndexOf(" G"))));
}
catch (Exception ex) { MessageBox.Show(data); }
for (int a = 0; a < insert.Length; a++)
{
if (a % 8 == 6) { insert[a] = Aladin_CategorySort(insert[a]); }
}
dataGridView1.Rows[row].Cells["Column1"].Value += string.Join("|", insert) + "|";
dataGridView1.Rows[row].DefaultCellStyle.BackColor = Color.LightGray;
if (cb_filter.SelectedItem.ToString() == "별치조사")
input_api_aladin(insert, row, newstring);
input_api(insert, row, newstring);
*/
}
public string Aladin_CategorySort(string insert)
{
// 도서 분류 필요한 데이터로 재정리
int top = insert.IndexOf('>');
int mid = insert.IndexOf('>', top + 1);
int bot = insert.IndexOf('>', mid + 1);
if (bot < 0) { insert = insert.Substring(top + 1); }
else { insert = insert.Substring(top + 1, bot - top - 1); }
return insert;
}
void input_api_aladin(string[] value, int idx, string date)
{
var item = bookList[idx];
item.search_book_name = value[0];
item.search_author = value[1];
item.search_book_comp = value[2];
item.price = value[4];
item.pubDate = date;
item.category = value[6];
}
void insert_Naver(string value, int row)
{
if (row > 0) dataGridView1.Rows[row - 1].Selected = false;
dataGridView1.Rows[row].Selected = true;
if (value == "") return;
value = value.Replace("<b>", "");
value = value.Replace("</b>", "");
string[] sp_data = value.Split('\t');
string[] grid = { "", "", "", "", "", "", "", "", "" };
#region
for (int a = 0; a < sp_data.Length - 1; a++)
{
string[] data = sp_data[a].Split('|');
int idx = data.Length - 2;
grid[0] = data[0];
grid[1] = data[1];
for (int b = 2; b < idx - 5; b++)
{
grid[1] += ", " + data[b];
}
grid[2] = data[idx - 5];
if (data[idx - 4].Contains(" ") == true)
{
string[] isbn = data[idx - 4].Split(' ');
grid[3] = isbn[1];
}
else
grid[3] = data[idx - 4];
grid[4] = data[idx - 3];
grid[5] = data[idx - 2];
if (data[idx - 1] == "")
grid[7] = "절판";
else
grid[7] = "";
grid[8] = data[idx];
bookList[row].api_data += string.Join("|", grid) + "|";
dataGridView1.Rows[row].DefaultCellStyle.BackColor = Color.LightGray;
}
#endregion
if (sp_data.Length > 10) return;
if (row > 0) dataGridView1.Rows[row - 1].Selected = false;
dataGridView1.Rows[row].Selected = true;
string newstring = "";
try
{
newstring = DateTime.ParseExact(grid[5], "yyyyMMdd", null).ToString("yyyy-MM-dd");
}
catch (FormatException fe)
{
}
input_api(grid, row, newstring);
}
void insert_Daum(string value, int row)
{
if (row > 0) { dataGridView1.Rows[row - 1].Selected = false; }
dataGridView1.Rows[row].Selected = true;
if (value == "") return;
string[] sp_data = value.Split('\n');
string[] grid = { "", "", "", "", "", "", "", "", "" };
for (int a = 0; a < sp_data.Length - 1; a++)
{
string[] data = sp_data[a].Split('|');
grid[0] = data[0];
grid[1] = data[1];
grid[2] = data[2];
string[] tmp_isbn = data[3].Split(' ');
if (tmp_isbn.Length < 2)
grid[3] = data[3].Replace(" ", "");
else
grid[3] = tmp_isbn[1];
grid[4] = data[4];
if (data[5].Length < 10)
grid[5] = data[5];
else
grid[5] = data[5].Substring(0, 10);
grid[7] = data[6];
grid[8] = data[7];
bookList[row].api_data += string.Join("|", grid) + "|";
dataGridView1.Rows[row].DefaultCellStyle.BackColor = Color.LightGray;
}
if (sp_data.Length > 10) return;
if (row > 0) dataGridView1.Rows[row - 1].Selected = false;
dataGridView1.Rows[row].Selected = true;
string newstring = grid[5];
input_api(grid, row, newstring);
}
/// <summary>
/// API에서 가져온 데이터가 요구한 데이터와 일치하는지 알아보는 함수
/// </summary>
/// <param name="value">데이터</param>
/// <param name="idx">Grid의 row인덱스 번호</param>
/// <param name="date">날짜</param>
void input_api(string[] value, int idx, string date)
{
bool[] chk = { false, false, false };
var item = bookList[idx];
string book_name = item.book_name;
string author = item.author;
string book_comp = item.book_comp;
if (value[0] == book_name) chk[0] = true;
else if (book_name.Contains(value[0])) chk[0] = true;
else if (value[0].Contains(book_name)) chk[0] = true;
if (value[1] == author) chk[1] = true;
else if (author.Contains(value[1])) chk[1] = true;
else if (value[1].Contains(author)) chk[1] = true;
if (value[2] == book_comp) chk[2] = true;
else if (book_comp.Contains(value[2])) chk[2] = true;
else if (value[2].Contains(book_comp)) chk[2] = true;
if (chk[0] && chk[1] && chk[2]) {
item.search_book_name = value[0];
item.search_author = value[1];
item.search_book_comp = value[2];
item.isbn = value[3];
item.price = value[4];
item.pubDate = date;
item.category = value[6];
item.sold_out = value[7];
item.image = value[8];
dataGridView1.Rows[idx].DefaultCellStyle.BackColor = Color.Yellow;
}
}
private void btn_Save_Click(object sender, EventArgs e)
{
string[] Edit_tbl = { "isbn", "book_name", "author", "book_comp", "pay", "price", "pubDate", "category", "image_url", "sold_out", "etc" };
for (int a = 0; a < bookList.Count; a++)
{
var item = bookList[a];
if (string.IsNullOrEmpty(item.isbn)) continue;
if (main != null)
Edit_tbl[0] = "isbn_marc";
else
Edit_tbl[0] = "isbn";
string[] Edit_Col = {
item.isbn,
item.book_name,
item.author,
item.book_comp,
item.unit,
item.price,
item.pubDate,
item.category,
item.image,
item.sold_out,
item.etc
};
string[] Search_tbl = { "idx", "list_name", "compidx" };
string[] Search_col = { item.idx, list_name, compidx };
if (item.etc.Contains("세트분할"))
Search_tbl[0] = "set_book_name";
string U_cmd = db.More_Update("Obj_List_Book", Edit_tbl, Edit_Col, Search_tbl, Search_col, 1);
Helper_DB.ExcuteNonQuery(U_cmd);
if (Check_Marc.Checked) {
string CMcmd = string.Format("UPDATE `Obj_List_Book` SET `isbn_marc` = \"{0}\" WHERE `idx` = \"{1}\"",
Edit_Col[0], Search_col[0]);
Helper_DB.ExcuteNonQuery(CMcmd);
}
}
MessageBox.Show("저장되었습니다!");
save = true;
}
private void btn_Close_Click(object sender, EventArgs e)
{
this.Close();
}
private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex < 0) return;
var row = dataGridView1.Rows[e.RowIndex];
var item = row.DataBoundItem as IsbnGridItem;
if (item == null) return;
using (var editForm = new Check_ISBN_ItemEdit(item))
{
if (editForm.ShowDialog() == DialogResult.OK)
{
bs1.ResetBindings(false);
row.DefaultCellStyle.BackColor = Color.Yellow;
save = false;
}
}
}
private void SHOW_ISBN()
{
int idx = bs1.Position;
if (idx < 0 || idx >= bookList.Count) return;
if (string.IsNullOrEmpty(bookList[idx].api_data))
{
return;
}
var sub = new Check_ISBN_Sub2(this);
sub.row = idx;
sub.Call_API = cb_api.Text;
sub.Show();
}
private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
{
Skill_Grid sg = new Skill_Grid();
sg.Excel_to_DataGridView(sender, e);
//if (e.KeyCode == Keys.Enter) { dataGridView1_CellDoubleClick(null, null); rowidx++; }
if (e.KeyCode == Keys.Enter) { SHOW_ISBN(); rowidx++; }
if (e.KeyCode == Keys.Insert)
{
// Check_ISBN_Split split = new Check_ISBN_Split(this);
// split.book_data[0] = dataGridView1.Rows[rowidx].Cells["num"].Value.ToString();
// split.book_data[1] = dataGridView1.Rows[rowidx].Cells["book_name"].Value.ToString();
// split.book_data[2] = dataGridView1.Rows[rowidx].Cells["author"].Value.ToString();
// split.book_data[3] = dataGridView1.Rows[rowidx].Cells["book_comp"].Value.ToString();
// split.book_data[4] = dataGridView1.Rows[rowidx].Cells["unit"].Value.ToString();
// split.book_data[5] = dataGridView1.Rows[rowidx].Cells["count"].Value.ToString();
// split.row_idx = rowidx;
// split.compidx = compidx;
// split.Show();
}
if (e.KeyCode == Keys.F12)
{
var bl = new Book_Lookup2(this);
bl.TopMost = true;
int idx = bs1.Position;
if (idx < 0) return;
var item = bookList[idx];
bl.Lookup_Load(item.book_name, item.author, item.book_comp, list_name);
bl.Show();
}
if (e.KeyCode == Keys.Up)
{
rowidx--;
if (rowidx < 0)
rowidx = 0;
}
if (e.KeyCode == Keys.Down)
{
rowidx++;
if (rowidx > dataGridView1.Rows.Count - 1)
rowidx = dataGridView1.Rows.Count - 1;
}
}
private void cb_api_SelectedIndexChanged(object sender, EventArgs e)
{
cb_filter.Items.Clear();
if (cb_api.SelectedIndex == 0) {
string[] aladin = { "도서명", "저자", "출판사", "별치조사" };
cb_filter.Items.AddRange(aladin);
}
else {
string[] sub = { "도서명", "저자", "출판사" };
cb_filter.Items.AddRange(sub);
}
}
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
rowidx = e.RowIndex;
if (rowidx < 0) {
return;
}
richTextBox1.Text += dataGridView1.Rows[rowidx].Cells["etc"].Value.ToString().Contains("세트분할").ToString();
if (dataGridView1.Rows[rowidx].Cells["api_data"].Value == null) {
return;
}
richTextBox1.Text = dataGridView1.Rows[rowidx].Cells["api_data"].Value.ToString();
}
private void Check_ISBN_FormClosing(object sender, FormClosingEventArgs e)
{
if (!save) {
if (MessageBox.Show("데이터가 저장되지않았습니다!\n종료하시겠습니까?", "Warning!", MessageBoxButtons.YesNo) == DialogResult.No) {
e.Cancel = true;
}
}
}
private void btn_yes24_Click(object sender, EventArgs e)
{
var yes = new Check_ISBN_Yes242(this);
yes.Show();
}
private void tb_list_name_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
var search = new Order_input_Search2(this);
search.Where_Open = "book_list";
search.searchText = tb_list_name.Text;
search.OnlyMarc = true;
search.TopMost = true;
search.Show();
}
}
private void btn_ComparePrice_Click(object sender, EventArgs e)
{
int GridCount = dataGridView1.Rows.Count;
for (int a = 0; a < GridCount; a++)
{
string isbn = dataGridView1.Rows[a].Cells["isbn"].Value.ToString();
if (isbn == null || isbn == "") continue;
string unit = dataGridView1.Rows[a].Cells["unit"].Value.ToString();
string price = dataGridView1.Rows[a].Cells["price"].Value.ToString();
if (unit != price)
dataGridView1.Rows[a].DefaultCellStyle.BackColor = Color.Orange;
}
}
}
}

View File

@@ -0,0 +1,230 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="idx.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="num.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="isbn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="book_name.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="search_book_name.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="author.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="search_author.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="book_comp.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="search_book_comp.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="count.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="unit.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="total.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="condition.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="price.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="etc.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="pubDate.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="persent.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="category.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="sold_out.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="image.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="api_data.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bindingNavigator1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="bs1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>171, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="bindingNavigatorMoveFirstItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAExSURBVDhPY2AYNKBw1vP/TQue/8+c+Pg/uhwMhLc/wCnH
kDvz2f9VR97/x6UovvvB/+CGa1jlwCBjytP/C/d9wKoovufh/6X7///3r76AIQcHCT1P/k/b8h5DUUT7
fbDmzFn//3uVnsBtQGTXo/+9qz+gKAptvQfW3Lru/3//zr//XfIP4DYgsPnh/7r57+CKglvu/l+09///
jnX//2fM+fnfru7nf/uM7bgN8Ki6/z9/2hsURXbFt/+nz/n937/r23+dwnf/LRLW4zbAvvTu/+zJrzEU
6aec/29S9OK/Stan/8aRy3AbYJF3539q/2usigySTvyXTfv6Xzd4HoYcHBhm3f4f1vISpyL91Mv/NXyn
YZUDA520G//9qh/iVaTiMQGnHINT7pX/IAV4FQ1KAADwdsCrWJS2HgAAAABJRU5ErkJggg==
</value>
</data>
<data name="bindingNavigatorMovePreviousItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAC7SURBVDhPY2AYMiC8/cF/dDGiQXz3g//BDdfIMyC+5+H/
pfv///evvkC6ARHt98GaM2f9/+9VeoI0A0Jb74E1t677/9+/8+9/l/wDxBsQ3HL3/6K9//93rPv/P2PO
z/92dT//22dsJ94AELArvv0/fc7v//5d3/7rFL77b5GwnjQDQEA/5fx/k6IX/1WyPv03jlxGugEgYJB0
4r9s2tf/usHzyDMABPRTL//X8J1GvgEgoOIxgTIDBi8AANAUYJgsLP+3AAAAAElFTkSuQmCC
</value>
</data>
<data name="bindingNavigatorMoveNextItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACkSURBVDhPY2AYdKBw1vP/6GIkgdyZz/4ndN8j35CMKU//
z9v/+39C1x3yDEnoefJ/9r5f/zu3/v3vVnqZdEMiux79n7Lt1/+SpX//J0z/+98m9yxphgQ2P/zfuvY9
WLNxyZf/0tHX/htHLiPeEI+q+/9L5r6Da1Z06SFeMwjYl979H9jyjDzNIGCRd+e/TcEV8jSDgGHWbfI1
g4BO2g3yNQ9NAACgfl+gY6ualwAAAABJRU5ErkJggg==
</value>
</data>
<data name="bindingNavigatorMoveLastItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAErSURBVDhPY2AYVKBw1vP/6GIwAJJrWvD8f+bExzjVMOTO
fPY/ofseVgUguVVH3v8Pb3+AVR4MMqY8/T9v/+//CV13MBSB5Bbu+/A/uOEahhwcJPQ8+T9736//nVv/
/ncrvYyiECQ3bcv7//7VF3AbENn16P+Ubb/+lyz9+z9h+t//Nrln4YpBcr2rP/z3Kj2B24DA5of/W9e+
B2s2LvnyXzr62n/jyGVgDSC5uvnv/rvkH8BtgEfV/f8lc9/BNSu69MAVg+Typ735b5+xHbcB9qV3/we2
PMPQDJPLnvz6v0XCetwGWOTd+W9TcAVDM0wutf813EtYgWHWbayaQQAkF9by8r9u8Dys8mCgk3YDpyRI
zq/64X8N32k41eAFTrlX/qt4TABjdLmBBQC+0b+zZl1WGAAAAABJRU5ErkJggg==
</value>
</data>
</root>

View File

@@ -0,0 +1,356 @@
namespace UniMarc
{
partial class Check_ISBN_ItemEdit
{
private System.ComponentModel.IContainer components = null;
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
private void InitializeComponent()
{
this.label1 = new System.Windows.Forms.Label();
this.tb_ISBN = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
this.tb_BookName = new System.Windows.Forms.TextBox();
this.label3 = new System.Windows.Forms.Label();
this.tb_SearchBookName = new System.Windows.Forms.TextBox();
this.label4 = new System.Windows.Forms.Label();
this.tb_Author = new System.Windows.Forms.TextBox();
this.label5 = new System.Windows.Forms.Label();
this.tb_SearchAuthor = new System.Windows.Forms.TextBox();
this.label6 = new System.Windows.Forms.Label();
this.tb_BookComp = new System.Windows.Forms.TextBox();
this.label7 = new System.Windows.Forms.Label();
this.tb_SearchBookComp = new System.Windows.Forms.TextBox();
this.label8 = new System.Windows.Forms.Label();
this.tb_Unit = new System.Windows.Forms.TextBox();
this.label9 = new System.Windows.Forms.Label();
this.tb_Price = new System.Windows.Forms.TextBox();
this.label10 = new System.Windows.Forms.Label();
this.tb_Etc = new System.Windows.Forms.TextBox();
this.label11 = new System.Windows.Forms.Label();
this.tb_PubDate = new System.Windows.Forms.TextBox();
this.label12 = new System.Windows.Forms.Label();
this.tb_Category = new System.Windows.Forms.TextBox();
this.label13 = new System.Windows.Forms.Label();
this.tb_SoldOut = new System.Windows.Forms.TextBox();
this.btSave = new System.Windows.Forms.Button();
this.btClose = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(12, 15);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(45, 12);
this.label1.TabIndex = 0;
this.label1.Text = "ISBN13";
//
// tb_ISBN
//
this.tb_ISBN.Location = new System.Drawing.Point(110, 12);
this.tb_ISBN.Name = "tb_ISBN";
this.tb_ISBN.Size = new System.Drawing.Size(270, 21);
this.tb_ISBN.TabIndex = 1;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(12, 42);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(41, 12);
this.label2.TabIndex = 2;
this.label2.Text = "도서명";
//
// tb_BookName
//
this.tb_BookName.Location = new System.Drawing.Point(110, 39);
this.tb_BookName.Name = "tb_BookName";
this.tb_BookName.Size = new System.Drawing.Size(270, 21);
this.tb_BookName.TabIndex = 3;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(12, 69);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(69, 12);
this.label3.TabIndex = 4;
this.label3.Text = "검색 도서명";
//
// tb_SearchBookName
//
this.tb_SearchBookName.Location = new System.Drawing.Point(110, 66);
this.tb_SearchBookName.Name = "tb_SearchBookName";
this.tb_SearchBookName.Size = new System.Drawing.Size(270, 21);
this.tb_SearchBookName.TabIndex = 5;
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(12, 96);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(29, 12);
this.label4.TabIndex = 6;
this.label4.Text = "저자";
//
// tb_Author
//
this.tb_Author.Location = new System.Drawing.Point(110, 93);
this.tb_Author.Name = "tb_Author";
this.tb_Author.Size = new System.Drawing.Size(270, 21);
this.tb_Author.TabIndex = 7;
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(12, 123);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(57, 12);
this.label5.TabIndex = 8;
this.label5.Text = "검색 저자";
//
// tb_SearchAuthor
//
this.tb_SearchAuthor.Location = new System.Drawing.Point(110, 120);
this.tb_SearchAuthor.Name = "tb_SearchAuthor";
this.tb_SearchAuthor.Size = new System.Drawing.Size(270, 21);
this.tb_SearchAuthor.TabIndex = 9;
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(12, 150);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(41, 12);
this.label6.TabIndex = 10;
this.label6.Text = "출판사";
//
// tb_BookComp
//
this.tb_BookComp.Location = new System.Drawing.Point(110, 147);
this.tb_BookComp.Name = "tb_BookComp";
this.tb_BookComp.Size = new System.Drawing.Size(270, 21);
this.tb_BookComp.TabIndex = 11;
//
// label7
//
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(12, 177);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(69, 12);
this.label7.TabIndex = 12;
this.label7.Text = "검색 출판사";
//
// tb_SearchBookComp
//
this.tb_SearchBookComp.Location = new System.Drawing.Point(110, 174);
this.tb_SearchBookComp.Name = "tb_SearchBookComp";
this.tb_SearchBookComp.Size = new System.Drawing.Size(270, 21);
this.tb_SearchBookComp.TabIndex = 13;
//
// label8
//
this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(12, 204);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(29, 12);
this.label8.TabIndex = 14;
this.label8.Text = "단가";
//
// tb_Unit
//
this.tb_Unit.Location = new System.Drawing.Point(110, 201);
this.tb_Unit.Name = "tb_Unit";
this.tb_Unit.Size = new System.Drawing.Size(270, 21);
this.tb_Unit.TabIndex = 15;
//
// label9
//
this.label9.AutoSize = true;
this.label9.Location = new System.Drawing.Point(12, 231);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(29, 12);
this.label9.TabIndex = 16;
this.label9.Text = "정가";
//
// tb_Price
//
this.tb_Price.Location = new System.Drawing.Point(110, 228);
this.tb_Price.Name = "tb_Price";
this.tb_Price.Size = new System.Drawing.Size(270, 21);
this.tb_Price.TabIndex = 17;
//
// label10
//
this.label10.AutoSize = true;
this.label10.Location = new System.Drawing.Point(12, 258);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(29, 12);
this.label10.TabIndex = 18;
this.label10.Text = "비고";
//
// tb_Etc
//
this.tb_Etc.Location = new System.Drawing.Point(110, 255);
this.tb_Etc.Name = "tb_Etc";
this.tb_Etc.Size = new System.Drawing.Size(270, 21);
this.tb_Etc.TabIndex = 19;
//
// label11
//
this.label11.AutoSize = true;
this.label11.Location = new System.Drawing.Point(12, 285);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(41, 12);
this.label11.TabIndex = 20;
this.label11.Text = "발행일";
//
// tb_PubDate
//
this.tb_PubDate.Location = new System.Drawing.Point(110, 282);
this.tb_PubDate.Name = "tb_PubDate";
this.tb_PubDate.Size = new System.Drawing.Size(270, 21);
this.tb_PubDate.TabIndex = 21;
//
// label12
//
this.label12.AutoSize = true;
this.label12.Location = new System.Drawing.Point(12, 312);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(53, 12);
this.label12.TabIndex = 22;
this.label12.Text = "도서분류";
//
// tb_Category
//
this.tb_Category.Location = new System.Drawing.Point(110, 309);
this.tb_Category.Name = "tb_Category";
this.tb_Category.Size = new System.Drawing.Size(270, 21);
this.tb_Category.TabIndex = 23;
//
// label13
//
this.label13.AutoSize = true;
this.label13.Location = new System.Drawing.Point(12, 339);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(59, 12);
this.label13.TabIndex = 24;
this.label13.Text = "품절/절판";
//
// tb_SoldOut
//
this.tb_SoldOut.Location = new System.Drawing.Point(110, 336);
this.tb_SoldOut.Name = "tb_SoldOut";
this.tb_SoldOut.Size = new System.Drawing.Size(270, 21);
this.tb_SoldOut.TabIndex = 25;
//
// btSave
//
this.btSave.Location = new System.Drawing.Point(224, 366);
this.btSave.Name = "btSave";
this.btSave.Size = new System.Drawing.Size(75, 23);
this.btSave.TabIndex = 28;
this.btSave.Text = "저장";
this.btSave.UseVisualStyleBackColor = true;
this.btSave.Click += new System.EventHandler(this.btSave_Click);
//
// btClose
//
this.btClose.Location = new System.Drawing.Point(305, 366);
this.btClose.Name = "btClose";
this.btClose.Size = new System.Drawing.Size(75, 23);
this.btClose.TabIndex = 29;
this.btClose.Text = "닫기";
this.btClose.UseVisualStyleBackColor = true;
this.btClose.Click += new System.EventHandler(this.btClose_Click);
//
// Check_ISBN_ItemEdit
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(400, 403);
this.Controls.Add(this.btClose);
this.Controls.Add(this.btSave);
this.Controls.Add(this.tb_SoldOut);
this.Controls.Add(this.label13);
this.Controls.Add(this.tb_Category);
this.Controls.Add(this.label12);
this.Controls.Add(this.tb_PubDate);
this.Controls.Add(this.label11);
this.Controls.Add(this.tb_Etc);
this.Controls.Add(this.label10);
this.Controls.Add(this.tb_Price);
this.Controls.Add(this.label9);
this.Controls.Add(this.tb_Unit);
this.Controls.Add(this.label8);
this.Controls.Add(this.tb_SearchBookComp);
this.Controls.Add(this.label7);
this.Controls.Add(this.tb_BookComp);
this.Controls.Add(this.label6);
this.Controls.Add(this.tb_SearchAuthor);
this.Controls.Add(this.label5);
this.Controls.Add(this.tb_Author);
this.Controls.Add(this.label4);
this.Controls.Add(this.tb_SearchBookName);
this.Controls.Add(this.label3);
this.Controls.Add(this.tb_BookName);
this.Controls.Add(this.label2);
this.Controls.Add(this.tb_ISBN);
this.Controls.Add(this.label1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.KeyPreview = true;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "Check_ISBN_ItemEdit";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "도서 정보 상세 편집";
this.Load += new System.EventHandler(this.Check_ISBN_ItemEdit_Load);
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Check_ISBN_ItemEdit_KeyDown);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox tb_ISBN;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.TextBox tb_BookName;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.TextBox tb_SearchBookName;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.TextBox tb_Author;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.TextBox tb_SearchAuthor;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.TextBox tb_BookComp;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.TextBox tb_SearchBookComp;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.TextBox tb_Unit;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.TextBox tb_Price;
private System.Windows.Forms.Label label10;
private System.Windows.Forms.TextBox tb_Etc;
private System.Windows.Forms.Label label11;
private System.Windows.Forms.TextBox tb_PubDate;
private System.Windows.Forms.Label label12;
private System.Windows.Forms.TextBox tb_Category;
private System.Windows.Forms.Label label13;
private System.Windows.Forms.TextBox tb_SoldOut;
private System.Windows.Forms.Button btSave;
private System.Windows.Forms.Button btClose;
}
}

View File

@@ -0,0 +1,84 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace UniMarc
{
public partial class Check_ISBN_ItemEdit : Form
{
private IsbnGridItem _item;
public Check_ISBN_ItemEdit(IsbnGridItem item)
{
InitializeComponent();
_item = item;
}
private void Check_ISBN_ItemEdit_Load(object sender, EventArgs e)
{
if (_item == null)
{
MessageBox.Show("데이터가 없습니다.");
this.Close();
return;
}
tb_ISBN.Text = _item.isbn;
tb_BookName.Text = _item.book_name;
tb_SearchBookName.Text = _item.search_book_name;
tb_Author.Text = _item.author;
tb_SearchAuthor.Text = _item.search_author;
tb_BookComp.Text = _item.book_comp;
tb_SearchBookComp.Text = _item.search_book_comp;
tb_Unit.Text = _item.unit;
tb_Price.Text = _item.price;
tb_Etc.Text = _item.etc;
tb_PubDate.Text = _item.pubDate;
tb_Category.Text = _item.category;
tb_SoldOut.Text = _item.sold_out;
}
private void btSave_Click(object sender, EventArgs e)
{
_item.isbn = tb_ISBN.Text;
_item.book_name = tb_BookName.Text;
_item.search_book_name = tb_SearchBookName.Text;
_item.author = tb_Author.Text;
_item.search_author = tb_SearchAuthor.Text;
_item.book_comp = tb_BookComp.Text;
_item.search_book_comp = tb_SearchBookComp.Text;
_item.unit = tb_Unit.Text;
_item.price = tb_Price.Text;
_item.etc = tb_Etc.Text;
_item.pubDate = tb_PubDate.Text;
_item.category = tb_Category.Text;
_item.sold_out = tb_SoldOut.Text;
this.DialogResult = DialogResult.OK;
this.Close();
}
private void btClose_Click(object sender, EventArgs e)
{
this.Close();
}
private void Check_ISBN_ItemEdit_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Escape)
{
this.Close();
}
if (e.KeyCode == Keys.Enter)
{
btSave_Click(null, null);
}
}
}
}

View File

@@ -0,0 +1,321 @@
namespace UniMarc
{
partial class Check_ISBN_Sub2
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
this.btn_Close = new System.Windows.Forms.Button();
this.label5 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.tb_price = new System.Windows.Forms.TextBox();
this.tb_isbn = new System.Windows.Forms.TextBox();
this.tb_book_comp = new System.Windows.Forms.TextBox();
this.tb_author = new System.Windows.Forms.TextBox();
this.tb_book_name = new System.Windows.Forms.TextBox();
this.dataGridView1 = new System.Windows.Forms.DataGridView();
this.book_name = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.author = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.book_comp = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.isbn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.price = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.pubDate = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.category = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.sold_out = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.panel1 = new System.Windows.Forms.Panel();
this.panel2 = new System.Windows.Forms.Panel();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.panel1.SuspendLayout();
this.panel2.SuspendLayout();
this.SuspendLayout();
//
// btn_Close
//
this.btn_Close.Location = new System.Drawing.Point(727, 24);
this.btn_Close.Name = "btn_Close";
this.btn_Close.Size = new System.Drawing.Size(75, 23);
this.btn_Close.TabIndex = 18;
this.btn_Close.Text = "닫 기";
this.btn_Close.UseVisualStyleBackColor = true;
this.btn_Close.Click += new System.EventHandler(this.btn_Close_Click);
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(648, 12);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(29, 12);
this.label5.TabIndex = 13;
this.label5.Text = "정가";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(566, 12);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(33, 12);
this.label4.TabIndex = 14;
this.label4.Text = "ISBN";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(462, 12);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(41, 12);
this.label3.TabIndex = 15;
this.label3.Text = "출판사";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(368, 12);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(29, 12);
this.label2.TabIndex = 16;
this.label2.Text = "저자";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(162, 12);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(41, 12);
this.label1.TabIndex = 17;
this.label1.Text = "도서명";
//
// tb_price
//
this.tb_price.Location = new System.Drawing.Point(640, 25);
this.tb_price.Name = "tb_price";
this.tb_price.Size = new System.Drawing.Size(61, 21);
this.tb_price.TabIndex = 8;
//
// tb_isbn
//
this.tb_isbn.Location = new System.Drawing.Point(540, 25);
this.tb_isbn.Name = "tb_isbn";
this.tb_isbn.Size = new System.Drawing.Size(101, 21);
this.tb_isbn.TabIndex = 9;
//
// tb_book_comp
//
this.tb_book_comp.Location = new System.Drawing.Point(440, 25);
this.tb_book_comp.Name = "tb_book_comp";
this.tb_book_comp.Size = new System.Drawing.Size(101, 21);
this.tb_book_comp.TabIndex = 10;
//
// tb_author
//
this.tb_author.Location = new System.Drawing.Point(340, 25);
this.tb_author.Name = "tb_author";
this.tb_author.Size = new System.Drawing.Size(101, 21);
this.tb_author.TabIndex = 11;
//
// tb_book_name
//
this.tb_book_name.Location = new System.Drawing.Point(41, 25);
this.tb_book_name.Name = "tb_book_name";
this.tb_book_name.Size = new System.Drawing.Size(300, 21);
this.tb_book_name.TabIndex = 12;
//
// dataGridView1
//
this.dataGridView1.AllowUserToAddRows = false;
this.dataGridView1.AllowUserToDeleteRows = false;
this.dataGridView1.BackgroundColor = System.Drawing.SystemColors.Control;
this.dataGridView1.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.dataGridView1.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle1.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.book_name,
this.author,
this.book_comp,
this.isbn,
this.price,
this.pubDate,
this.category,
this.sold_out,
this.Column1});
this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.dataGridView1.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
this.dataGridView1.Location = new System.Drawing.Point(0, 0);
this.dataGridView1.Name = "dataGridView1";
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle2.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dataGridView1.RowHeadersDefaultCellStyle = dataGridViewCellStyle2;
this.dataGridView1.RowTemplate.Height = 23;
this.dataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.CellSelect;
this.dataGridView1.Size = new System.Drawing.Size(964, 357);
this.dataGridView1.TabIndex = 19;
this.dataGridView1.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellClick);
this.dataGridView1.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellDoubleClick);
this.dataGridView1.RowPostPaint += new System.Windows.Forms.DataGridViewRowPostPaintEventHandler(this.dataGridView1_RowPostPaint);
this.dataGridView1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.dataGridView1_KeyDown);
//
// book_name
//
this.book_name.HeaderText = "도서명";
this.book_name.Name = "book_name";
this.book_name.Width = 300;
//
// author
//
this.author.HeaderText = "저자";
this.author.Name = "author";
//
// book_comp
//
this.book_comp.HeaderText = "출판사";
this.book_comp.Name = "book_comp";
//
// isbn
//
this.isbn.HeaderText = "ISBN";
this.isbn.Name = "isbn";
//
// price
//
this.price.HeaderText = "정가";
this.price.Name = "price";
this.price.Width = 60;
//
// pubDate
//
this.pubDate.HeaderText = "출간일";
this.pubDate.Name = "pubDate";
this.pubDate.Width = 70;
//
// category
//
this.category.HeaderText = "카테고리";
this.category.Name = "category";
//
// sold_out
//
this.sold_out.HeaderText = "품절여부";
this.sold_out.Name = "sold_out";
this.sold_out.Width = 70;
//
// Column1
//
this.Column1.HeaderText = "Column1";
this.Column1.Name = "Column1";
this.Column1.Visible = false;
//
// panel1
//
this.panel1.Controls.Add(this.tb_book_name);
this.panel1.Controls.Add(this.tb_author);
this.panel1.Controls.Add(this.btn_Close);
this.panel1.Controls.Add(this.tb_book_comp);
this.panel1.Controls.Add(this.label5);
this.panel1.Controls.Add(this.tb_isbn);
this.panel1.Controls.Add(this.label4);
this.panel1.Controls.Add(this.tb_price);
this.panel1.Controls.Add(this.label3);
this.panel1.Controls.Add(this.label1);
this.panel1.Controls.Add(this.label2);
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(964, 55);
this.panel1.TabIndex = 20;
//
// panel2
//
this.panel2.Controls.Add(this.dataGridView1);
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel2.Location = new System.Drawing.Point(0, 55);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(964, 357);
this.panel2.TabIndex = 21;
//
// Check_ISBN_Sub
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(964, 412);
this.Controls.Add(this.panel2);
this.Controls.Add(this.panel1);
this.Name = "Check_ISBN_Sub";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "ISBN 상세 조회";
this.Load += new System.EventHandler(this.Check_ISBN_Sub_Load);
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.panel2.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Button btn_Close;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox tb_price;
private System.Windows.Forms.TextBox tb_isbn;
private System.Windows.Forms.TextBox tb_book_comp;
private System.Windows.Forms.TextBox tb_author;
private System.Windows.Forms.TextBox tb_book_name;
private System.Windows.Forms.DataGridView dataGridView1;
private System.Windows.Forms.DataGridViewTextBoxColumn book_name;
private System.Windows.Forms.DataGridViewTextBoxColumn author;
private System.Windows.Forms.DataGridViewTextBoxColumn book_comp;
private System.Windows.Forms.DataGridViewTextBoxColumn isbn;
private System.Windows.Forms.DataGridViewTextBoxColumn price;
private System.Windows.Forms.DataGridViewTextBoxColumn pubDate;
private System.Windows.Forms.DataGridViewTextBoxColumn category;
private System.Windows.Forms.DataGridViewTextBoxColumn sold_out;
private System.Windows.Forms.DataGridViewTextBoxColumn Column1;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Panel panel2;
}
}

View File

@@ -0,0 +1,195 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace UniMarc
{
public partial class Check_ISBN_Sub2 : Form
{
Check_ISBN2 ci;
public int row;
public string Call_API = string.Empty;
int rowidx;
public Check_ISBN_Sub2(Check_ISBN2 _ci)
{
InitializeComponent();
ci = _ci;
}
private void btn_Close_Click(object sender, EventArgs e)
{
this.Close();
}
private void Check_ISBN_Sub_Load(object sender, EventArgs e)
{
Sort_data();
same_chk(); // 비슷한거 색깔표시
dataGridView1.CurrentCell = dataGridView1.Rows[0].Cells[0];
this.ActiveControl = dataGridView1;
rowidx = 0;
}
private void Sort_data()
{
tb_book_name.Text = ci.dataGridView1.Rows[row].Cells["book_name"].Value.ToString();
tb_author.Text = ci.dataGridView1.Rows[row].Cells["author"].Value.ToString();
tb_book_comp.Text = ci.dataGridView1.Rows[row].Cells["book_comp"].Value.ToString();
if (ci.dataGridView1.Rows[row].Cells["unit"].Value != null)
tb_price.Text = ci.dataGridView1.Rows[row].Cells["unit"].Value.ToString();
else tb_price.Text = "";
string data = ci.dataGridView1.Rows[row].Cells["api_data"].Value.ToString();
// 도서명 / 저자 / 출판사 / isbn / 출간일 / 카테고리 / 품절여부
string[] tmp = data.Split('|');
string[] grid = { "", "", "", "", "", "", "", "", "" };
int idx = 9;
for(int a= 0; a < tmp.Length; a++)
{
if (a % idx == 0) grid[0] = tmp[a];
if (a % idx == 1) grid[1] = tmp[a];
if (a % idx == 2) grid[2] = tmp[a];
if (a % idx == 3) grid[3] = tmp[a];
if (a % idx == 4) grid[4] = tmp[a];
if (a % idx == 5) grid[5] = change_Date_type(tmp[a]);
if (a % idx == 6) grid[6] = tmp[a];
if (a % idx == 7) grid[7] = tmp[a];
if (a % idx == 8) { grid[8] = tmp[a]; dataGridView1.Rows.Add(grid); }
}
}
private string change_Date_type(string date)
{
if (Call_API == "알라딘")
{
try
{
return String.Format("{0:yyyy/MM/dd}",
DateTime.Parse(date.Remove(date.IndexOf(" G"))));
}
catch { return date; }
}
else if (Call_API == "네이버")
{
if (date.Length < 5)
return date;
return DateTime.ParseExact(date, "yyyyMMdd", null).ToString("yyyy-MM-dd");
}
else
return date;
}
private void same_chk()
{
// 도서명, 저자, 출판사, ISBN, 정가
string[] ori_data = { tb_book_name.Text,
tb_author.Text,
tb_book_comp.Text,
tb_isbn.Text,
tb_price.Text.Replace(",", "") };
for (int a = 0; a < dataGridView1.Rows.Count; a++)
{
int chk_idx = 0;
if (dataGridView1.Rows[a].Cells["book_name"].Value.ToString() == ori_data[0])
{
chk_idx++;
}
if (dataGridView1.Rows[a].Cells["author"].Value.ToString().Contains(ori_data[1]) == true)
{
chk_idx++;
}
if (dataGridView1.Rows[a].Cells["book_comp"].Value.ToString() == ori_data[2])
{
chk_idx++;
}
if (chk_idx >= 2)
{
int pay = Convert.ToInt32(dataGridView1.Rows[a].Cells["price"].Value.ToString());
int price = 0;
if (ori_data[4] != "")
price = Convert.ToInt32(ori_data[4]);
if (price == pay)
dataGridView1.Rows[a].DefaultCellStyle.BackColor = Color.Yellow;
else if (price - 500 < pay && pay < price + 500)
dataGridView1.Rows[a].DefaultCellStyle.BackColor = Color.Orange;
else
dataGridView1.Rows[a].DefaultCellStyle.BackColor = Color.LightGray;
}
}
}
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
rowidx = e.RowIndex;
}
private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
if (e != null) { rowidx = e.RowIndex; }
string book_name = dataGridView1.Rows[rowidx].Cells["book_name"].Value.ToString();
string author = dataGridView1.Rows[rowidx].Cells["author"].Value.ToString();
string book_comp = dataGridView1.Rows[rowidx].Cells["book_comp"].Value.ToString();
string isbn = dataGridView1.Rows[rowidx].Cells["isbn"].Value.ToString();
string price = dataGridView1.Rows[rowidx].Cells["price"].Value.ToString();
string Date = dataGridView1.Rows[rowidx].Cells["pubDate"].Value.ToString();
string category = dataGridView1.Rows[rowidx].Cells["category"].Value.ToString();
string sold = dataGridView1.Rows[rowidx].Cells["sold_out"].Value.ToString();
string image = dataGridView1.Rows[rowidx].Cells["Column1"].Value.ToString();
ci.dataGridView1.Rows[row].Cells["search_book_name"].Value = book_name;
ci.dataGridView1.Rows[row].Cells["search_author"].Value = author;
ci.dataGridView1.Rows[row].Cells["search_book_comp"].Value = book_comp;
ci.dataGridView1.Rows[row].Cells["isbn"].Value = isbn;
ci.dataGridView1.Rows[row].Cells["price"].Value = price;
ci.dataGridView1.Rows[row].Cells["pubDate"].Value = Date;
ci.dataGridView1.Rows[row].Cells["category"].Value = ci.Aladin_CategorySort(category);
ci.dataGridView1.Rows[row].Cells["sold_out"].Value = sold;
ci.dataGridView1.Rows[row].Cells["image"].Value = image;
ci.dataGridView1.Rows[row].DefaultCellStyle.BackColor = Color.Yellow;
this.Close();
}
private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter) { dataGridView1_CellDoubleClick(null, null); }
if (e.KeyCode == Keys.Up)
{
rowidx--;
if (rowidx < 0)
rowidx = 0;
}
if (e.KeyCode == Keys.Down)
{
rowidx++;
if (rowidx > dataGridView1.Rows.Count - 1)
rowidx = dataGridView1.Rows.Count - 1;
}
if (e.KeyCode == Keys.Escape)
{
this.Close();
}
}
private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
{
Skill_Grid sg = new Skill_Grid();
sg.Print_Grid_Num(sender, e);
}
}
}

View File

@@ -0,0 +1,147 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="book_name.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="author.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="book_comp.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="isbn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="price.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="pubDate.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="category.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="sold_out.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>

View File

@@ -0,0 +1,312 @@
namespace UniMarc
{
partial class Check_ISBN_Yes242
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
this.btn_change = new System.Windows.Forms.Button();
this.btn_Close = new System.Windows.Forms.Button();
this.dataGridView1 = new System.Windows.Forms.DataGridView();
this.before_book_name = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.after_book_name = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.before_author = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.after_author = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.before_book_comp = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.after_book_comp = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.price = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.panel1 = new System.Windows.Forms.Panel();
this.label2 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.tb_PW = new System.Windows.Forms.TextBox();
this.tb_ID = new System.Windows.Forms.TextBox();
this.btn_Yes24Connect = new System.Windows.Forms.Button();
this.panel2 = new System.Windows.Forms.Panel();
this.panel4 = new System.Windows.Forms.Panel();
this.webBrowser1 = new System.Windows.Forms.WebBrowser();
this.panel3 = new System.Windows.Forms.Panel();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.panel1.SuspendLayout();
this.panel2.SuspendLayout();
this.panel4.SuspendLayout();
this.panel3.SuspendLayout();
this.SuspendLayout();
//
// btn_change
//
this.btn_change.Location = new System.Drawing.Point(423, 11);
this.btn_change.Name = "btn_change";
this.btn_change.Size = new System.Drawing.Size(75, 23);
this.btn_change.TabIndex = 3;
this.btn_change.Text = "엑셀 변환";
this.btn_change.UseVisualStyleBackColor = true;
this.btn_change.Click += new System.EventHandler(this.btn_change_Click);
//
// btn_Close
//
this.btn_Close.Location = new System.Drawing.Point(504, 11);
this.btn_Close.Name = "btn_Close";
this.btn_Close.Size = new System.Drawing.Size(75, 23);
this.btn_Close.TabIndex = 4;
this.btn_Close.Text = "닫 기";
this.btn_Close.UseVisualStyleBackColor = true;
this.btn_Close.Click += new System.EventHandler(this.btn_Close_Click);
//
// dataGridView1
//
this.dataGridView1.AllowUserToAddRows = false;
this.dataGridView1.AllowUserToDeleteRows = false;
this.dataGridView1.BackgroundColor = System.Drawing.SystemColors.Control;
this.dataGridView1.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.dataGridView1.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle3.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
dataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle3;
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.before_book_name,
this.after_book_name,
this.before_author,
this.after_author,
this.before_book_comp,
this.after_book_comp,
this.price});
this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.dataGridView1.Location = new System.Drawing.Point(0, 0);
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.ReadOnly = true;
dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle4.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dataGridView1.RowHeadersDefaultCellStyle = dataGridViewCellStyle4;
this.dataGridView1.RowHeadersWidth = 30;
this.dataGridView1.RowTemplate.Height = 23;
this.dataGridView1.Size = new System.Drawing.Size(579, 666);
this.dataGridView1.TabIndex = 0;
this.dataGridView1.RowPostPaint += new System.Windows.Forms.DataGridViewRowPostPaintEventHandler(this.dataGridView1_RowPostPaint);
//
// before_book_name
//
this.before_book_name.HeaderText = "도서명 [전]";
this.before_book_name.Name = "before_book_name";
this.before_book_name.ReadOnly = true;
this.before_book_name.Visible = false;
this.before_book_name.Width = 200;
//
// after_book_name
//
this.after_book_name.HeaderText = "도서명";
this.after_book_name.Name = "after_book_name";
this.after_book_name.ReadOnly = true;
this.after_book_name.Width = 200;
//
// before_author
//
this.before_author.HeaderText = "저자 [전]";
this.before_author.Name = "before_author";
this.before_author.ReadOnly = true;
this.before_author.Visible = false;
//
// after_author
//
this.after_author.HeaderText = "저자";
this.after_author.Name = "after_author";
this.after_author.ReadOnly = true;
//
// before_book_comp
//
this.before_book_comp.HeaderText = "출판사 [전]";
this.before_book_comp.Name = "before_book_comp";
this.before_book_comp.ReadOnly = true;
this.before_book_comp.Visible = false;
this.before_book_comp.Width = 150;
//
// after_book_comp
//
this.after_book_comp.HeaderText = "출판사";
this.after_book_comp.Name = "after_book_comp";
this.after_book_comp.ReadOnly = true;
this.after_book_comp.Width = 150;
//
// price
//
this.price.HeaderText = "금액";
this.price.Name = "price";
this.price.ReadOnly = true;
this.price.Width = 80;
//
// panel1
//
this.panel1.Controls.Add(this.label2);
this.panel1.Controls.Add(this.label1);
this.panel1.Controls.Add(this.tb_PW);
this.panel1.Controls.Add(this.tb_ID);
this.panel1.Controls.Add(this.btn_Yes24Connect);
this.panel1.Controls.Add(this.btn_Close);
this.panel1.Controls.Add(this.btn_change);
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(1316, 46);
this.panel1.TabIndex = 0;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(729, 16);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(23, 12);
this.label2.TabIndex = 7;
this.label2.Text = "PW";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(595, 16);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(16, 12);
this.label1.TabIndex = 7;
this.label1.Text = "ID";
//
// tb_PW
//
this.tb_PW.Location = new System.Drawing.Point(754, 12);
this.tb_PW.Name = "tb_PW";
this.tb_PW.Size = new System.Drawing.Size(100, 21);
this.tb_PW.TabIndex = 1;
//
// tb_ID
//
this.tb_ID.Location = new System.Drawing.Point(613, 12);
this.tb_ID.Name = "tb_ID";
this.tb_ID.Size = new System.Drawing.Size(100, 21);
this.tb_ID.TabIndex = 0;
//
// btn_Yes24Connect
//
this.btn_Yes24Connect.Location = new System.Drawing.Point(867, 5);
this.btn_Yes24Connect.Name = "btn_Yes24Connect";
this.btn_Yes24Connect.Size = new System.Drawing.Size(99, 35);
this.btn_Yes24Connect.TabIndex = 2;
this.btn_Yes24Connect.Text = "Yes24 다중검색\r\n접속";
this.btn_Yes24Connect.UseVisualStyleBackColor = true;
this.btn_Yes24Connect.Click += new System.EventHandler(this.btn_Yes24Connect_Click);
//
// panel2
//
this.panel2.Controls.Add(this.panel4);
this.panel2.Controls.Add(this.panel3);
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel2.Location = new System.Drawing.Point(0, 46);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(1316, 666);
this.panel2.TabIndex = 5;
//
// panel4
//
this.panel4.Controls.Add(this.webBrowser1);
this.panel4.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel4.Location = new System.Drawing.Point(579, 0);
this.panel4.Name = "panel4";
this.panel4.Size = new System.Drawing.Size(737, 666);
this.panel4.TabIndex = 3;
//
// webBrowser1
//
this.webBrowser1.Dock = System.Windows.Forms.DockStyle.Fill;
this.webBrowser1.Location = new System.Drawing.Point(0, 0);
this.webBrowser1.MinimumSize = new System.Drawing.Size(20, 20);
this.webBrowser1.Name = "webBrowser1";
this.webBrowser1.ScriptErrorsSuppressed = true;
this.webBrowser1.Size = new System.Drawing.Size(737, 666);
this.webBrowser1.TabIndex = 0;
this.webBrowser1.DocumentCompleted += new System.Windows.Forms.WebBrowserDocumentCompletedEventHandler(this.webBrowser1_DocumentCompleted);
//
// panel3
//
this.panel3.Controls.Add(this.dataGridView1);
this.panel3.Dock = System.Windows.Forms.DockStyle.Left;
this.panel3.Location = new System.Drawing.Point(0, 0);
this.panel3.Name = "panel3";
this.panel3.Size = new System.Drawing.Size(579, 666);
this.panel3.TabIndex = 3;
//
// Check_ISBN_Yes24
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1316, 712);
this.Controls.Add(this.panel2);
this.Controls.Add(this.panel1);
this.Name = "Check_ISBN_Yes24";
this.Text = "Yes24양식";
this.Load += new System.EventHandler(this.Check_ISBN_Yes24_Load);
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.panel2.ResumeLayout(false);
this.panel4.ResumeLayout(false);
this.panel3.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Button btn_change;
private System.Windows.Forms.Button btn_Close;
public System.Windows.Forms.DataGridView dataGridView1;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.Panel panel4;
private System.Windows.Forms.Panel panel3;
private System.Windows.Forms.DataGridViewTextBoxColumn before_book_name;
private System.Windows.Forms.DataGridViewTextBoxColumn after_book_name;
private System.Windows.Forms.DataGridViewTextBoxColumn before_author;
private System.Windows.Forms.DataGridViewTextBoxColumn after_author;
private System.Windows.Forms.DataGridViewTextBoxColumn before_book_comp;
private System.Windows.Forms.DataGridViewTextBoxColumn after_book_comp;
private System.Windows.Forms.DataGridViewTextBoxColumn price;
private System.Windows.Forms.WebBrowser webBrowser1;
private System.Windows.Forms.Button btn_Yes24Connect;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox tb_PW;
private System.Windows.Forms.TextBox tb_ID;
}
}

View File

@@ -0,0 +1,266 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Excel = Microsoft.Office.Interop.Excel;
using System.Reflection;
using System.Text.RegularExpressions;
using System.IO;
namespace UniMarc
{
public partial class Check_ISBN_Yes242 : Form
{
Helper_DB db = new Helper_DB();
Check_ISBN2 isbn;
List<string> l_target = new List<string>();
List<string> l_before = new List<string>();
List<string> l_after = new List<string>();
public Check_ISBN_Yes242(Check_ISBN2 _isbn)
{
InitializeComponent();
isbn = _isbn;
}
private void Check_ISBN_Yes24_Load(object sender, EventArgs e)
{
db.DBcon();
Take_DataBase();
Base_Setting();
}
#region Load_Sub
private void Take_DataBase()
{
string area = "`target`, `before`, `after`";
string cmd = db.DB_Select_Search(area, "yes24");
string db_res = db.DB_Send_CMD_Search(cmd);
string[] ary_tmp = db_res.Split('|');
for(int a = 0; a < ary_tmp.Length; a++)
{
if (a % 3 == 0) { l_target.Add(ary_tmp[a]); }
if (a % 3 == 1) { l_before.Add(ary_tmp[a]); }
if (a % 3 == 2) { l_after.Add(ary_tmp[a]); }
}
}
private void Base_Setting()
{
int count = isbn.dataGridView1.Rows.Count;
for (int a = 0; a < count; a++)
{
string book_name = isbn.dataGridView1.Rows[a].Cells["book_name"].Value.ToString();
string author = isbn.dataGridView1.Rows[a].Cells["author"].Value.ToString();
string book_comp = isbn.dataGridView1.Rows[a].Cells["book_comp"].Value.ToString();
string unit = isbn.dataGridView1.Rows[a].Cells["unit"].Value.ToString();
string[] grid = {
book_name, Replace_target(book_name, "book_name"),
author, Replace_target(author, "author"),
book_comp, Replace_target(book_comp, "book_comp"),
unit
};
dataGridView1.Rows.Add(grid);
}
dataGridView1.Columns[0].DefaultCellStyle.BackColor = Color.Bisque;
dataGridView1.Columns[1].DefaultCellStyle.BackColor = Color.FromArgb(234, 226, 202);
dataGridView1.Columns[2].DefaultCellStyle.BackColor = Color.Bisque;
dataGridView1.Columns[3].DefaultCellStyle.BackColor = Color.FromArgb(234, 226, 202);
dataGridView1.Columns[4].DefaultCellStyle.BackColor = Color.Bisque;
dataGridView1.Columns[5].DefaultCellStyle.BackColor = Color.FromArgb(234, 226, 202);
}
private string Replace_target(string value, string sort)
{
try
{
int start = value.IndexOf('(');
int end = value.IndexOf(')');
value = value.Remove(start, end - start);
start = value.IndexOf('[');
end = value.IndexOf(']');
value = value.Remove(start, end - start);
start = value.IndexOf('<');
end = value.IndexOf('>');
value = value.Remove(start, end - start);
}
catch { }
string[] target = l_target.ToArray();
string[] before = l_before.ToArray();
string[] after = l_after.ToArray();
for (int a = 0; a < before.Length; a++)
{
if (target[a] == sort)
value = value.Replace(before[a], after[a]);
}
return value;
}
#endregion
private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
{
Skill_Grid sg = new Skill_Grid();
sg.Print_Grid_Num(sender, e);
}
private void btn_change_Click(object sender, EventArgs e)
{
string[,] grid = new string[dataGridView1.Rows.Count, 6];
for(int a= 0; a < dataGridView1.Rows.Count; a++)
{
int count = a + 1;
string price = dataGridView1.Rows[a].Cells["price"].Value.ToString();
grid[a, 0] = count.ToString();
grid[a, 1] = dataGridView1.Rows[a].Cells["after_book_name"].Value.ToString();
grid[a, 2] = dataGridView1.Rows[a].Cells["after_author"].Value.ToString();
grid[a, 3] = dataGridView1.Rows[a].Cells["after_book_comp"].Value.ToString();
grid[a, 4] = Regex.Replace(price, @"[^0-9]", "");
grid[a, 5] = "1";
}
Excel_change(grid);
}
#region
private void Excel_change(string[,] grid)
{
string DesktopPath =
Environment.GetFolderPath(Environment.SpecialFolder.Desktop); // 바탕화면 경로
string FilePath =
Path.Combine(DesktopPath, "Excel.xlsx"); // 엑셀 파일 저장 경로
try
{
Excel.Application application = new Excel.Application();
application.Visible = true;
application.Interactive = false;
Excel._Workbook wb = application.Workbooks.Add(Missing.Value);
Excel._Worksheet ws = (Excel._Worksheet)application.ActiveSheet;
Excel.Range rng = null;
#region ( )
ws.Columns[1].ColumnWidth = 6.57;
ws.Columns[2].ColumnWidth = 43.86;
ws.Columns[3].ColumnWidth = 18.43;
ws.Columns[4].ColumnWidth = 22.57;
ws.Columns[5].ColumnWidth = 12.57;
#endregion
string[] title = { "번호", "도서명", "ISBN", "출판사", "정가", "수량" };
#region
rng = ws.Range["A1", "F1"];
rng.Value2 = title;
rng.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
rng.Font.Bold = true;
int count = dataGridView1.Rows.Count + 1;
rng = ws.Range["A2", "F" + count.ToString()];
rng.Value2 = grid;
rng.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
#endregion
application.Interactive = true;
}
catch (Exception e) { MessageBox.Show(e.Message); }
}
#endregion
private void btn_Close_Click(object sender, EventArgs e)
{
this.Close();
}
private void btn_Yes24Connect_Click(object sender, EventArgs e)
{
webBrowser1.Navigate("http://www.yes24.com/Mall/CorpLargeOrder/CorpMain");
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
string url = webBrowser1.Url.AbsoluteUri;
if (url.IndexOf("yes24.com/Main") > -1)
webBrowser1.Navigate("http://www.yes24.com/Mall/CorpLargeOrder/CorpMain");
if (url.IndexOf("CorpLargeOrder/CorpMain") > -1)
if (isLogin())
webBrowser1.Navigate("https://www.yes24.com/Templates/FTLogin.aspx");
else
ExcelUpLoadSearch();
if (url.IndexOf("FTLogin") > -1)
Login();
}
#region DocumentCompleted Sub
bool isLogin()
{
string InnerText = "";
foreach (HtmlElement li in webBrowser1.Document.GetElementsByTagName("li"))
{
if (li.Id == null)
continue;
if (li.Id.IndexOf("LoginText") > -1)
{
if (li.InnerText.IndexOf("로그") > -1)
{
InnerText = li.InnerText;
break;
}
}
}
if (InnerText.IndexOf("로그인") > -1)
return true;
return false;
}
void ExcelUpLoadSearch()
{
webBrowser1.Navigate("http://www.yes24.com/Mall/CorpLargeOrder/ExcelUploadSearch");
}
void Login()
{
foreach (HtmlElement input in webBrowser1.Document.GetElementsByTagName("input"))
{
if (input.Id == null)
continue;
if (input.Id == "SMemberID")
input.SetAttribute("value", tb_ID.Text);
if (input.Id == "SMemberPassword")
input.SetAttribute("value", tb_PW.Text);
}
foreach (HtmlElement btn in webBrowser1.Document.GetElementsByTagName("button"))
{
if (btn.Id == null)
continue;
if (btn.Id.IndexOf("btnLogin") > -1)
btn.InvokeMember("click");
}
}
#endregion
private void webBrowser1_FileDownload(object sender, EventArgs e)
{
MessageBox.Show("You are in the WebBrowser. FileDownload event.");
}
}
}

View File

@@ -0,0 +1,141 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="before_book_name.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="after_book_name.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="before_author.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="after_author.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="before_book_comp.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="after_book_comp.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="price.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>

View File

@@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace UniMarc
{
public class IsbnGridItem
{
public string idx { get; set; }
public string num { get; set; }
public string isbn { get; set; }
public string book_name { get; set; }
public string search_book_name { get; set; }
public string author { get; set; }
public string search_author { get; set; }
public string book_comp { get; set; }
public string search_book_comp { get; set; }
public string count { get; set; }
public string unit { get; set; }
public string total { get; set; }
public string condition { get; set; }
public string price { get; set; }
public string etc { get; set; }
public string pubDate { get; set; }
public string persent { get; set; }
public string category { get; set; }
public string sold_out { get; set; }
public string image { get; set; }
public string api_data { get; set; }
}
}

View File

@@ -7,7 +7,6 @@ namespace UniMarc
public string ISBN13 { get; set; } public string ISBN13 { get; set; }
public string URL { get; set; } public string URL { get; set; }
public string MarcIdx { get; set; } public string MarcIdx { get; set; }
public string Grade { get; set; }
public string User { get; set; } public string User { get; set; }
public string SaveDate { get; set; } public string SaveDate { get; set; }
public string ListIdx { get; set; } public string ListIdx { get; set; }
@@ -17,8 +16,6 @@ namespace UniMarc
public string Publisher { get; set; } public string Publisher { get; set; }
public string Price { get; set; } public string Price { get; set; }
public string Remark1 { get; set; }
public string Remark2 { get; set; }
public string text008 { get; set; } public string text008 { get; set; }
public string tag056 { get; set; } public string tag056 { get; set; }

View File

@@ -62,12 +62,14 @@
this.btn_Delete = new System.Windows.Forms.Button(); this.btn_Delete = new System.Windows.Forms.Button();
this.btn_AddList = new System.Windows.Forms.Button(); this.btn_AddList = new System.Windows.Forms.Button();
this.panel1 = new System.Windows.Forms.Panel(); this.panel1 = new System.Windows.Forms.Panel();
this.panel11 = new System.Windows.Forms.Panel();
this.button2 = new System.Windows.Forms.Button();
this.btnSearchISBN = new System.Windows.Forms.Button();
this.panel10 = new System.Windows.Forms.Panel();
this.button1 = new System.Windows.Forms.Button();
this.panel12 = new System.Windows.Forms.Panel(); this.panel12 = new System.Windows.Forms.Panel();
this.chkEditorTest = new System.Windows.Forms.CheckBox(); this.chkEditorTest = new System.Windows.Forms.CheckBox();
this.panel13 = new System.Windows.Forms.Panel(); this.panel13 = new System.Windows.Forms.Panel();
this.panel11 = new System.Windows.Forms.Panel();
this.btnSearchISBN = new System.Windows.Forms.Button();
this.panel10 = new System.Windows.Forms.Panel();
this.panel9 = new System.Windows.Forms.Panel(); this.panel9 = new System.Windows.Forms.Panel();
this.panel8 = new System.Windows.Forms.Panel(); this.panel8 = new System.Windows.Forms.Panel();
this.panel7 = new System.Windows.Forms.Panel(); this.panel7 = new System.Windows.Forms.Panel();
@@ -77,10 +79,8 @@
this.panel3 = new System.Windows.Forms.Panel(); this.panel3 = new System.Windows.Forms.Panel();
this.panel2 = new System.Windows.Forms.Panel(); this.panel2 = new System.Windows.Forms.Panel();
this.bn1 = new System.Windows.Forms.BindingNavigator(this.components); this.bn1 = new System.Windows.Forms.BindingNavigator(this.components);
this.bindingNavigatorAddNewItem = new System.Windows.Forms.ToolStripButton();
this.bs1 = new System.Windows.Forms.BindingSource(this.components); this.bs1 = new System.Windows.Forms.BindingSource(this.components);
this.bindingNavigatorCountItem = new System.Windows.Forms.ToolStripLabel(); this.bindingNavigatorCountItem = new System.Windows.Forms.ToolStripLabel();
this.bindingNavigatorDeleteItem = new System.Windows.Forms.ToolStripButton();
this.bindingNavigatorMoveFirstItem = new System.Windows.Forms.ToolStripButton(); this.bindingNavigatorMoveFirstItem = new System.Windows.Forms.ToolStripButton();
this.bindingNavigatorMovePreviousItem = new System.Windows.Forms.ToolStripButton(); this.bindingNavigatorMovePreviousItem = new System.Windows.Forms.ToolStripButton();
this.bindingNavigatorSeparator = new System.Windows.Forms.ToolStripSeparator(); this.bindingNavigatorSeparator = new System.Windows.Forms.ToolStripSeparator();
@@ -89,6 +89,7 @@
this.bindingNavigatorMoveNextItem = new System.Windows.Forms.ToolStripButton(); this.bindingNavigatorMoveNextItem = new System.Windows.Forms.ToolStripButton();
this.bindingNavigatorMoveLastItem = new System.Windows.Forms.ToolStripButton(); this.bindingNavigatorMoveLastItem = new System.Windows.Forms.ToolStripButton();
this.bindingNavigatorSeparator2 = new System.Windows.Forms.ToolStripSeparator(); this.bindingNavigatorSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.btEdit = new System.Windows.Forms.ToolStripButton();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.panel1.SuspendLayout(); this.panel1.SuspendLayout();
this.panel2.SuspendLayout(); this.panel2.SuspendLayout();
@@ -404,18 +405,24 @@
// //
// btn_AddList // btn_AddList
// //
this.btn_AddList.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(192)))));
this.btn_AddList.Dock = System.Windows.Forms.DockStyle.Right; this.btn_AddList.Dock = System.Windows.Forms.DockStyle.Right;
this.btn_AddList.Location = new System.Drawing.Point(968, 5); this.btn_AddList.Location = new System.Drawing.Point(954, 5);
this.btn_AddList.Margin = new System.Windows.Forms.Padding(1); this.btn_AddList.Margin = new System.Windows.Forms.Padding(1);
this.btn_AddList.Name = "btn_AddList"; this.btn_AddList.Name = "btn_AddList";
this.btn_AddList.Size = new System.Drawing.Size(74, 27); this.btn_AddList.Size = new System.Drawing.Size(88, 27);
this.btn_AddList.TabIndex = 50; this.btn_AddList.TabIndex = 50;
this.btn_AddList.Text = "목록생성"; this.btn_AddList.Text = "목록등록(구)";
this.btn_AddList.UseVisualStyleBackColor = true; this.btn_AddList.UseVisualStyleBackColor = false;
this.btn_AddList.Click += new System.EventHandler(this.btn_AddList_Click); this.btn_AddList.Click += new System.EventHandler(this.btn_AddList_Click);
// //
// panel1 // panel1
// //
this.panel1.Controls.Add(this.panel11);
this.panel1.Controls.Add(this.button2);
this.panel1.Controls.Add(this.btnSearchISBN);
this.panel1.Controls.Add(this.panel10);
this.panel1.Controls.Add(this.button1);
this.panel1.Controls.Add(this.btn_Lookup); this.panel1.Controls.Add(this.btn_Lookup);
this.panel1.Controls.Add(this.panel12); this.panel1.Controls.Add(this.panel12);
this.panel1.Controls.Add(this.chkEditorTest); this.panel1.Controls.Add(this.chkEditorTest);
@@ -423,9 +430,6 @@
this.panel1.Controls.Add(this.cb_state); this.panel1.Controls.Add(this.cb_state);
this.panel1.Controls.Add(this.label2); this.panel1.Controls.Add(this.label2);
this.panel1.Controls.Add(this.tb_Search); this.panel1.Controls.Add(this.tb_Search);
this.panel1.Controls.Add(this.panel11);
this.panel1.Controls.Add(this.btnSearchISBN);
this.panel1.Controls.Add(this.panel10);
this.panel1.Controls.Add(this.btn_AddList); this.panel1.Controls.Add(this.btn_AddList);
this.panel1.Controls.Add(this.panel9); this.panel1.Controls.Add(this.panel9);
this.panel1.Controls.Add(this.btn_Merge); this.panel1.Controls.Add(this.btn_Merge);
@@ -449,6 +453,61 @@
this.panel1.Size = new System.Drawing.Size(1638, 34); this.panel1.Size = new System.Drawing.Size(1638, 34);
this.panel1.TabIndex = 52; this.panel1.TabIndex = 52;
// //
// panel11
//
this.panel11.Dock = System.Windows.Forms.DockStyle.Right;
this.panel11.Location = new System.Drawing.Point(696, 5);
this.panel11.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.panel11.Name = "panel11";
this.panel11.Size = new System.Drawing.Size(8, 27);
this.panel11.TabIndex = 61;
//
// button2
//
this.button2.Dock = System.Windows.Forms.DockStyle.Right;
this.button2.Location = new System.Drawing.Point(704, 5);
this.button2.Margin = new System.Windows.Forms.Padding(1);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(74, 27);
this.button2.TabIndex = 65;
this.button2.Text = "ISBN조회";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// btnSearchISBN
//
this.btnSearchISBN.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(192)))));
this.btnSearchISBN.Dock = System.Windows.Forms.DockStyle.Right;
this.btnSearchISBN.Location = new System.Drawing.Point(778, 5);
this.btnSearchISBN.Margin = new System.Windows.Forms.Padding(1);
this.btnSearchISBN.Name = "btnSearchISBN";
this.btnSearchISBN.Size = new System.Drawing.Size(94, 27);
this.btnSearchISBN.TabIndex = 50;
this.btnSearchISBN.Text = "ISBN조회(구)";
this.btnSearchISBN.UseVisualStyleBackColor = false;
this.btnSearchISBN.Click += new System.EventHandler(this.btnSearchISBN_Click);
//
// panel10
//
this.panel10.Dock = System.Windows.Forms.DockStyle.Right;
this.panel10.Location = new System.Drawing.Point(872, 5);
this.panel10.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.panel10.Name = "panel10";
this.panel10.Size = new System.Drawing.Size(8, 27);
this.panel10.TabIndex = 60;
//
// button1
//
this.button1.Dock = System.Windows.Forms.DockStyle.Right;
this.button1.Location = new System.Drawing.Point(880, 5);
this.button1.Margin = new System.Windows.Forms.Padding(1);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(74, 27);
this.button1.TabIndex = 64;
this.button1.Text = "목록등록";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// panel12 // panel12
// //
this.panel12.Dock = System.Windows.Forms.DockStyle.Left; this.panel12.Dock = System.Windows.Forms.DockStyle.Left;
@@ -481,36 +540,6 @@
this.panel13.Size = new System.Drawing.Size(8, 27); this.panel13.Size = new System.Drawing.Size(8, 27);
this.panel13.TabIndex = 63; this.panel13.TabIndex = 63;
// //
// panel11
//
this.panel11.Dock = System.Windows.Forms.DockStyle.Right;
this.panel11.Location = new System.Drawing.Point(878, 5);
this.panel11.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.panel11.Name = "panel11";
this.panel11.Size = new System.Drawing.Size(8, 27);
this.panel11.TabIndex = 61;
//
// btnSearchISBN
//
this.btnSearchISBN.Dock = System.Windows.Forms.DockStyle.Right;
this.btnSearchISBN.Location = new System.Drawing.Point(886, 5);
this.btnSearchISBN.Margin = new System.Windows.Forms.Padding(1);
this.btnSearchISBN.Name = "btnSearchISBN";
this.btnSearchISBN.Size = new System.Drawing.Size(74, 27);
this.btnSearchISBN.TabIndex = 50;
this.btnSearchISBN.Text = "ISBN조회";
this.btnSearchISBN.UseVisualStyleBackColor = true;
this.btnSearchISBN.Click += new System.EventHandler(this.btnSearchISBN_Click);
//
// panel10
//
this.panel10.Dock = System.Windows.Forms.DockStyle.Right;
this.panel10.Location = new System.Drawing.Point(960, 5);
this.panel10.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.panel10.Name = "panel10";
this.panel10.Size = new System.Drawing.Size(8, 27);
this.panel10.TabIndex = 60;
//
// panel9 // panel9
// //
this.panel9.Dock = System.Windows.Forms.DockStyle.Right; this.panel9.Dock = System.Windows.Forms.DockStyle.Right;
@@ -586,10 +615,10 @@
// //
// bn1 // bn1
// //
this.bn1.AddNewItem = this.bindingNavigatorAddNewItem; this.bn1.AddNewItem = null;
this.bn1.BindingSource = this.bs1; this.bn1.BindingSource = this.bs1;
this.bn1.CountItem = this.bindingNavigatorCountItem; this.bn1.CountItem = this.bindingNavigatorCountItem;
this.bn1.DeleteItem = this.bindingNavigatorDeleteItem; this.bn1.DeleteItem = null;
this.bn1.Dock = System.Windows.Forms.DockStyle.Bottom; this.bn1.Dock = System.Windows.Forms.DockStyle.Bottom;
this.bn1.ImageScalingSize = new System.Drawing.Size(20, 20); this.bn1.ImageScalingSize = new System.Drawing.Size(20, 20);
this.bn1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.bn1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
@@ -602,8 +631,7 @@
this.bindingNavigatorMoveNextItem, this.bindingNavigatorMoveNextItem,
this.bindingNavigatorMoveLastItem, this.bindingNavigatorMoveLastItem,
this.bindingNavigatorSeparator2, this.bindingNavigatorSeparator2,
this.bindingNavigatorAddNewItem, this.btEdit});
this.bindingNavigatorDeleteItem});
this.bn1.Location = new System.Drawing.Point(0, 597); this.bn1.Location = new System.Drawing.Point(0, 597);
this.bn1.MoveFirstItem = this.bindingNavigatorMoveFirstItem; this.bn1.MoveFirstItem = this.bindingNavigatorMoveFirstItem;
this.bn1.MoveLastItem = this.bindingNavigatorMoveLastItem; this.bn1.MoveLastItem = this.bindingNavigatorMoveLastItem;
@@ -615,15 +643,6 @@
this.bn1.TabIndex = 49; this.bn1.TabIndex = 49;
this.bn1.Text = "bindingNavigator1"; this.bn1.Text = "bindingNavigator1";
// //
// bindingNavigatorAddNewItem
//
this.bindingNavigatorAddNewItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.bindingNavigatorAddNewItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorAddNewItem.Image")));
this.bindingNavigatorAddNewItem.Name = "bindingNavigatorAddNewItem";
this.bindingNavigatorAddNewItem.RightToLeftAutoMirrorImage = true;
this.bindingNavigatorAddNewItem.Size = new System.Drawing.Size(24, 24);
this.bindingNavigatorAddNewItem.Text = "새로 추가";
//
// bindingNavigatorCountItem // bindingNavigatorCountItem
// //
this.bindingNavigatorCountItem.Name = "bindingNavigatorCountItem"; this.bindingNavigatorCountItem.Name = "bindingNavigatorCountItem";
@@ -631,15 +650,6 @@
this.bindingNavigatorCountItem.Text = "/{0}"; this.bindingNavigatorCountItem.Text = "/{0}";
this.bindingNavigatorCountItem.ToolTipText = "전체 항목 수"; this.bindingNavigatorCountItem.ToolTipText = "전체 항목 수";
// //
// bindingNavigatorDeleteItem
//
this.bindingNavigatorDeleteItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.bindingNavigatorDeleteItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorDeleteItem.Image")));
this.bindingNavigatorDeleteItem.Name = "bindingNavigatorDeleteItem";
this.bindingNavigatorDeleteItem.RightToLeftAutoMirrorImage = true;
this.bindingNavigatorDeleteItem.Size = new System.Drawing.Size(24, 24);
this.bindingNavigatorDeleteItem.Text = "삭제";
//
// bindingNavigatorMoveFirstItem // bindingNavigatorMoveFirstItem
// //
this.bindingNavigatorMoveFirstItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.bindingNavigatorMoveFirstItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
@@ -701,6 +711,15 @@
this.bindingNavigatorSeparator2.Name = "bindingNavigatorSeparator2"; this.bindingNavigatorSeparator2.Name = "bindingNavigatorSeparator2";
this.bindingNavigatorSeparator2.Size = new System.Drawing.Size(6, 27); this.bindingNavigatorSeparator2.Size = new System.Drawing.Size(6, 27);
// //
// btEdit
//
this.btEdit.Image = ((System.Drawing.Image)(resources.GetObject("btEdit.Image")));
this.btEdit.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btEdit.Name = "btEdit";
this.btEdit.Size = new System.Drawing.Size(93, 24);
this.btEdit.Text = "정보편집(&E)";
this.btEdit.Click += new System.EventHandler(this.btEdit_Click);
//
// Mac_List // Mac_List
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
@@ -772,10 +791,8 @@
private System.Windows.Forms.Panel panel3; private System.Windows.Forms.Panel panel3;
private System.Windows.Forms.Panel panel13; private System.Windows.Forms.Panel panel13;
private System.Windows.Forms.BindingNavigator bn1; private System.Windows.Forms.BindingNavigator bn1;
private System.Windows.Forms.ToolStripButton bindingNavigatorAddNewItem;
private System.Windows.Forms.BindingSource bs1; private System.Windows.Forms.BindingSource bs1;
private System.Windows.Forms.ToolStripLabel bindingNavigatorCountItem; private System.Windows.Forms.ToolStripLabel bindingNavigatorCountItem;
private System.Windows.Forms.ToolStripButton bindingNavigatorDeleteItem;
private System.Windows.Forms.ToolStripButton bindingNavigatorMoveFirstItem; private System.Windows.Forms.ToolStripButton bindingNavigatorMoveFirstItem;
private System.Windows.Forms.ToolStripButton bindingNavigatorMovePreviousItem; private System.Windows.Forms.ToolStripButton bindingNavigatorMovePreviousItem;
private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator; private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator;
@@ -784,5 +801,8 @@
private System.Windows.Forms.ToolStripButton bindingNavigatorMoveNextItem; private System.Windows.Forms.ToolStripButton bindingNavigatorMoveNextItem;
private System.Windows.Forms.ToolStripButton bindingNavigatorMoveLastItem; private System.Windows.Forms.ToolStripButton bindingNavigatorMoveLastItem;
private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator2; private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator2;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.ToolStripButton btEdit;
public System.Windows.Forms.Button button2;
} }
} }

View File

@@ -323,5 +323,40 @@ namespace UniMarc
var isbn = main.OpenFormInTab(() => new Check_ISBN(main, tSearchText, tSearchIDX)); var isbn = main.OpenFormInTab(() => new Check_ISBN(main, tSearchText, tSearchIDX));
isbn.tb_list_name.Enabled = true; isbn.tb_list_name.Enabled = true;
} }
private void button1_Click(object sender, EventArgs e)
{
var listAdd = new Mac_List_Add2(this);
listAdd.Show();
}
private void btEdit_Click(object sender, EventArgs e)
{
var item = bs1.Current as MacListItem;
if (item == null)
{
MessageBox.Show("대상을 먼저 선택하세요.");
return;
}
using (var edit = new Mac_List_Edit(this, item))
{
if (edit.ShowDialog() == DialogResult.OK)
{
btn_Lookup_Click(null, null);
}
}
}
private void button2_Click(object sender, EventArgs e)
{
var item = bs1.Current as MacListItem;
if (item == null) return;
string tSearchText = item.list_name;
string tSearchIDX = item.idx;
var isbn = main.OpenFormInTab(() => new Check_ISBN2(main, tSearchText, tSearchIDX));
isbn.tb_list_name.Enabled = true;
}
} }
} }

View File

@@ -165,38 +165,14 @@
<metadata name="bn1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="bn1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>154, 17</value> <value>154, 17</value>
</metadata> </metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="bindingNavigatorAddNewItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wAAADsABataJCQAAAVdJREFUOE/Nz0tLAmEUBmB3kWRoCUVEISFUJGb1OywiKrDsIpZdkJAkDUvDQkij
UKSbVIvatKhNi9oERRAGEQXhjJdp7Hd83/eGs2jhLGQ20QtndTgP71Gp/m0KZ1XInlTjM6XG+4EG5fuK
yaTUIN8bIMUQ0gmtcuBtX/MLPMT0yoHnuA6kuA4iruI20lAZ+DiswWuyFum4Dk+7dbiP6kHEFVDBg+tQ
My4DLbjwG3DqbcORxygHXxJakGIQRFwDEf0gwjKI4AYtzIHmHaA5Oxg/CsYPIb7YIQced+qluvTLCyIs
gRYWQPNO0NwkWNYGxg+DcYNgGSu2Z0xy4C7SiJtwE66kuq049xlAs2Ng/AiS7nbszXci6jIh4jQjPGWR
A+U59hiluowbQMzVVfmgPKU/GdcPxlmx5TArB6KzJunf0gTtPcqBzeluhCYsCIz3wm/rUw78WX4AJCPY
nlwVm9EAAAAASUVORK5CYII=
</value>
</data>
<metadata name="bs1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="bs1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>308, 17</value> <value>308, 17</value>
</metadata> </metadata>
<data name="bindingNavigatorDeleteItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wAAADsABataJCQAAAWtJREFUOE+1kE0ow2Ecx/9X5a2UiwtKOSCTmJBMhuQlMo3IvCUHDouEXHZwIOVC
DrhIDiQl5USy07zNa2tKf2laaRf84/J8xBCetab4XL/f76fn+SnKX4DrGLqrwbHDzywkWJlHdJYjLEbY
Wg8q4eYKlma+d1hbgF4TotWIaC+FuYmAktcXCksx2HrknBOHX1KbiTDngrXhW0kMdSBM2TA5Io+/wuI0
oiz5TcRwB7hPYazfLx3rDz7+gCsXNBb4v1SdgajTQ19TaOMP2NtFmPSIilSo0v1y7FHBnAdZMWi6aO51
kVCTGZoEzzWYciA/Dl9bBZwfvh3XmxIJy7PBJdx5odnAQ2E87qJUfPbtzwGjVpxJEWjH+4ElPD/BYBsY
EjhKicW3sSoVb0vSUFsq0W6upUxhdxMtOxZnYhhqVz1oj3JJUZSdpCg0p0POmLKhJofjNqaDeikX3tFG
uuHsQM65cML4ABzY5fA/eQGKIwMcVjm2bAAAAABJRU5ErkJggg==
</value>
</data>
<data name="bindingNavigatorMoveFirstItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="bindingNavigatorMoveFirstItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wAAADsABataJCQAAATFJREFUOE9jYBg0oHDW8/9NC57/z5z4+D+6HAyEtz/AKceQO/PZ/1VH3v/HpSi+ vAAADrwBlbxySQAAATFJREFUOE9jYBg0oHDW8/9NC57/z5z4+D+6HAyEtz/AKceQO/PZ/1VH3v/HpSi+
+8H/4IZrWOXAIGPK0/8L933Aqii+5+H/pfv///evvoAhBwcJPU/+T9vyHkNRRPt9sObMWf//e5WewG1A +8H/4IZrWOXAIGPK0/8L933Aqii+5+H/pfv///evvoAhBwcJPU/+T9vyHkNRRPt9sObMWf//e5WewG1A
ZNej/72rP6AoCm29B9bcuu7/f//Ov/9d8g/gNiCw+eH/uvnv4IqCW+7+X7T3//+Odf//Z8z5+d+u7ud/ ZNej/72rP6AoCm29B9bcuu7/f//Ov/9d8g/gNiCw+eH/uvnv4IqCW+7+X7T3//+Odf//Z8z5+d+u7ud/
+4ztuA3wqLr/P3/aGxRFdsW3/6fP+f3fv+vbf53Cd/8tEtbjNsC+9O7/7MmvMRTpp5z/b1L04r9K1qf/ +4ztuA3wqLr/P3/aGxRFdsW3/6fP+f3fv+vbf53Cd/8tEtbjNsC+9O7/7MmvMRTpp5z/b1L04r9K1qf/
@@ -207,7 +183,7 @@
<data name="bindingNavigatorMovePreviousItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="bindingNavigatorMovePreviousItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wAAADsABataJCQAAALtJREFUOE9jYBgyILz9wX90MaJBfPeD/8EN18gzIL7n4f+l+///96++QLoBEe33 vAAADrwBlbxySQAAALtJREFUOE9jYBgyILz9wX90MaJBfPeD/8EN18gzIL7n4f+l+///96++QLoBEe33
wZozZ/3/71V6gjQDQlvvgTW3rvv/37/z73+X/APEGxDccvf/or3//3es+/8/Y87P/3Z1P//bZ2wn3gAQ wZozZ/3/71V6gjQDQlvvgTW3rvv/37/z73+X/APEGxDccvf/or3//3es+/8/Y87P/3Z1P//bZ2wn3gAQ
sCu+/T99zu///l3f/usUvvtvkbCeNANAQD/l/H+Tohf/VbI+/TeOXEa6ASBgkHTiv2za1/+6wfPIMwAE sCu+/T99zu///l3f/usUvvtvkbCeNANAQD/l/H+Tohf/VbI+/TeOXEa6ASBgkHTiv2za1/+6wfPIMwAE
9FMv/9fwnUa+ASCg4jGBMgMGLwAA0BRgmCws/7cAAAAASUVORK5CYII= 9FMv/9fwnUa+ASCg4jGBMgMGLwAA0BRgmCws/7cAAAAASUVORK5CYII=
@@ -216,7 +192,7 @@
<data name="bindingNavigatorMoveNextItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="bindingNavigatorMoveNextItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wAAADsABataJCQAAAKRJREFUOE9jYBh0oHDW8//oYiSB3JnP/id03yPfkIwpT//P2//7f0LXHfIMSeh5 vAAADrwBlbxySQAAAKRJREFUOE9jYBh0oHDW8//oYiSB3JnP/id03yPfkIwpT//P2//7f0LXHfIMSeh5
8n/2vl//O7f+/e9Wepl0QyK7Hv2fsu3X/5Klf/8nTP/73yb3LGmGBDY//N+69j1Ys3HJl//S0df+G0cu 8n/2vl//O7f+/e9Wepl0QyK7Hv2fsu3X/5Klf/8nTP/73yb3LGmGBDY//N+69j1Ys3HJl//S0df+G0cu
I94Qj6r7/0vmvoNrVnTpIV4zCNiX3v0f2PKMPM0gYJF3579NwRXyNIOAYdZt8jWDgE7aDfI1D00AAKB+ I94Qj6r7/0vmvoNrVnTpIV4zCNiX3v0f2PKMPM0gYJF3579NwRXyNIOAYdZt8jWDgE7aDfI1D00AAKB+
X6Bjq5qXAAAAAElFTkSuQmCC X6Bjq5qXAAAAAElFTkSuQmCC
@@ -225,12 +201,27 @@
<data name="bindingNavigatorMoveLastItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="bindingNavigatorMoveLastItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wAAADsABataJCQAAAStJREFUOE9jYBhUoHDW8//oYjAAkmta8Px/5sTHONUw5M589j+h+x5WBSC5VUfe vAAADrwBlbxySQAAAStJREFUOE9jYBhUoHDW8//oYjAAkmta8Px/5sTHONUw5M589j+h+x5WBSC5VUfe
/w9vf4BVHgwypjz9P2//7/8JXXcwFIHkFu778D+44RqGHBwk9Dz5P3vfr/+dW//+dyu9jKIQJDdty/v/ /w9vf4BVHgwypjz9P2//7/8JXXcwFIHkFu778D+44RqGHBwk9Dz5P3vfr/+dW//+dyu9jKIQJDdty/v/
/tUXcBsQ2fXo/5Rtv/6XLP37P2H63/82uWfhikFyvas//PcqPYHbgMDmh/9b174HazYu+fJfOvraf+PI /tUXcBsQ2fXo/5Rtv/6XLP37P2H63/82uWfhikFyvas//PcqPYHbgMDmh/9b174HazYu+fJfOvraf+PI
ZWANILm6+e/+u+QfwG2AR9X9/yVz38E1K7r0wBWD5PKnvflvn7EdtwH2pXf/B7Y8w9AMk8ue/Pq/RcJ6 ZWANILm6+e/+u+QfwG2AR9X9/yVz38E1K7r0wBWD5PKnvflvn7EdtwH2pXf/B7Y8w9AMk8ue/Pq/RcJ6
3AZY5N35b1NwBUMzTC61/zXcS1iBYdZtrJpBACQX1vLyv27wPKzyYKCTdgOnJEjOr/rhfw3faTjV4AVO 3AZY5N35b1NwBUMzTC61/zXcS1iBYdZtrJpBACQX1vLyv27wPKzyYKCTdgOnJEjOr/rhfw3faTjV4AVO
uVf+q3hMAGN0uYEFAL7Rv7NmXVYYAAAAAElFTkSuQmCC uVf+q3hMAGN0uYEFAL7Rv7NmXVYYAAAAAElFTkSuQmCC
</value>
</data>
<data name="btEdit.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIFSURBVDhPpZLtS1NhGMbPPxJmmlYSgqHiKzGU1EDxg4iK
YKyG2WBogqMYJQOtCEVRFBGdTBCJfRnkS4VaaWNT5sqx1BUxRXxDHYxAJLvkusEeBaPAB+5z4Jzn+t3X
/aLhnEfjo8m+dCoa+7/C3O2Hqe0zDC+8KG+cRZHZhdzaaWTVTCLDMIY0vfM04Nfh77/G/sEhwpEDbO3t
I7TxE8urEVy99fT/AL5gWDLrTB/hnF4XsW0khCu5ln8DmJliT2AXrcNBsU1gj/MH4nMeKwBrPktM28xM
cX79DFKrHHD5d9D26hvicx4pABt2lpg10zYzU0zr7+e3xXGcrkEB2O2TNec9nJFwB3alZn5jZorfeDZh
6Q3g8s06BeCoKF4MRURoH1+BY2oNCbeb0TIclIYxOhzf8frTOuo7FxCbbVIAzpni0iceEc8vhzEwGkJD
lx83ymxifejdKjRNk/8PWnyIyTQqAJek0jqHwfEVscu31baIu8+90sTE4nY025dQ2/5FIPpnXlzKuK8A
HBUzHot52djqQ6HZhfR7IwK4mKpHtvEDMqvfCiQ6zaAAXM8x94aIWTNrLLG4kVUzgaTSPlzLtyJOZxbb
1wtfyg4Q+AfA3aZlButjSfxGcUJBk4g5tuP3haQKRKXcUQDOmbvNTpPOJeFFjordZmbWTNvMTHFUcpUC
nOccAdABIDXXE1nzAAAAAElFTkSuQmCC
</value> </value>
</data> </data>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

View File

@@ -55,16 +55,16 @@ namespace UniMarc
this.tb_divComp = new System.Windows.Forms.TextBox(); this.tb_divComp = new System.Windows.Forms.TextBox();
this.panel2 = new System.Windows.Forms.Panel(); this.panel2 = new System.Windows.Forms.Panel();
this.dataGridView1 = new System.Windows.Forms.DataGridView(); this.dataGridView1 = new System.Windows.Forms.DataGridView();
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.header = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.header = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.num = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.num = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.BookName = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.BookName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Author = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Author = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.BookComp = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.BookComp = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Price = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Count = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Count = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Price = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Total = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Total = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.ISBN = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.ISBN = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.panel1.SuspendLayout(); this.panel1.SuspendLayout();
this.panel2.SuspendLayout(); this.panel2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
@@ -91,18 +91,16 @@ namespace UniMarc
this.panel1.Controls.Add(this.tb_divComp); this.panel1.Controls.Add(this.tb_divComp);
this.panel1.Dock = System.Windows.Forms.DockStyle.Top; this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
this.panel1.Location = new System.Drawing.Point(0, 0); this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.panel1.Name = "panel1"; this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(1025, 73); this.panel1.Size = new System.Drawing.Size(897, 59);
this.panel1.TabIndex = 0; this.panel1.TabIndex = 0;
// //
// tbCustomIDX // tbCustomIDX
// //
this.tbCustomIDX.Location = new System.Drawing.Point(200, 6); this.tbCustomIDX.Location = new System.Drawing.Point(175, 5);
this.tbCustomIDX.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.tbCustomIDX.Name = "tbCustomIDX"; this.tbCustomIDX.Name = "tbCustomIDX";
this.tbCustomIDX.ReadOnly = true; this.tbCustomIDX.ReadOnly = true;
this.tbCustomIDX.Size = new System.Drawing.Size(75, 25); this.tbCustomIDX.Size = new System.Drawing.Size(66, 21);
this.tbCustomIDX.TabIndex = 15; this.tbCustomIDX.TabIndex = 15;
this.tbCustomIDX.TabStop = false; this.tbCustomIDX.TabStop = false;
this.tbCustomIDX.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; this.tbCustomIDX.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
@@ -110,9 +108,9 @@ namespace UniMarc
// label5 // label5
// //
this.label5.AutoSize = true; this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(677, 44); this.label5.Location = new System.Drawing.Point(592, 35);
this.label5.Name = "label5"; this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(67, 15); this.label5.Size = new System.Drawing.Size(53, 12);
this.label5.TabIndex = 14; this.label5.TabIndex = 14;
this.label5.Text = "쉼표구분"; this.label5.Text = "쉼표구분";
// //
@@ -120,18 +118,16 @@ namespace UniMarc
// //
this.cb_Gubun.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cb_Gubun.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cb_Gubun.FormattingEnabled = true; this.cb_Gubun.FormattingEnabled = true;
this.cb_Gubun.Location = new System.Drawing.Point(739, 39); this.cb_Gubun.Location = new System.Drawing.Point(647, 31);
this.cb_Gubun.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.cb_Gubun.Name = "cb_Gubun"; this.cb_Gubun.Name = "cb_Gubun";
this.cb_Gubun.Size = new System.Drawing.Size(85, 23); this.cb_Gubun.Size = new System.Drawing.Size(75, 20);
this.cb_Gubun.TabIndex = 6; this.cb_Gubun.TabIndex = 6;
// //
// btn_DelRow // btn_DelRow
// //
this.btn_DelRow.Location = new System.Drawing.Point(640, 5); this.btn_DelRow.Location = new System.Drawing.Point(560, 4);
this.btn_DelRow.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.btn_DelRow.Name = "btn_DelRow"; this.btn_DelRow.Name = "btn_DelRow";
this.btn_DelRow.Size = new System.Drawing.Size(93, 29); this.btn_DelRow.Size = new System.Drawing.Size(81, 23);
this.btn_DelRow.TabIndex = 5; this.btn_DelRow.TabIndex = 5;
this.btn_DelRow.Text = "선택 셀 삭제"; this.btn_DelRow.Text = "선택 셀 삭제";
this.btn_DelRow.UseVisualStyleBackColor = true; this.btn_DelRow.UseVisualStyleBackColor = true;
@@ -139,10 +135,9 @@ namespace UniMarc
// //
// btn_Upload // btn_Upload
// //
this.btn_Upload.Location = new System.Drawing.Point(832, 38); this.btn_Upload.Location = new System.Drawing.Point(728, 30);
this.btn_Upload.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.btn_Upload.Name = "btn_Upload"; this.btn_Upload.Name = "btn_Upload";
this.btn_Upload.Size = new System.Drawing.Size(86, 29); this.btn_Upload.Size = new System.Drawing.Size(75, 23);
this.btn_Upload.TabIndex = 7; this.btn_Upload.TabIndex = 7;
this.btn_Upload.Text = "txt불러오기"; this.btn_Upload.Text = "txt불러오기";
this.btn_Upload.UseVisualStyleBackColor = true; this.btn_Upload.UseVisualStyleBackColor = true;
@@ -152,18 +147,16 @@ namespace UniMarc
// //
this.cb_User.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cb_User.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cb_User.FormattingEnabled = true; this.cb_User.FormattingEnabled = true;
this.cb_User.Location = new System.Drawing.Point(517, 6); this.cb_User.Location = new System.Drawing.Point(452, 5);
this.cb_User.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.cb_User.Name = "cb_User"; this.cb_User.Name = "cb_User";
this.cb_User.Size = new System.Drawing.Size(93, 23); this.cb_User.Size = new System.Drawing.Size(82, 20);
this.cb_User.TabIndex = 2; this.cb_User.TabIndex = 2;
// //
// btClose // btClose
// //
this.btClose.Location = new System.Drawing.Point(925, 5); this.btClose.Location = new System.Drawing.Point(809, 4);
this.btClose.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.btClose.Name = "btClose"; this.btClose.Name = "btClose";
this.btClose.Size = new System.Drawing.Size(86, 29); this.btClose.Size = new System.Drawing.Size(75, 23);
this.btClose.TabIndex = 8; this.btClose.TabIndex = 8;
this.btClose.Text = "닫 기"; this.btClose.Text = "닫 기";
this.btClose.UseVisualStyleBackColor = true; this.btClose.UseVisualStyleBackColor = true;
@@ -171,10 +164,9 @@ namespace UniMarc
// //
// btn_Empty // btn_Empty
// //
this.btn_Empty.Location = new System.Drawing.Point(739, 5); this.btn_Empty.Location = new System.Drawing.Point(647, 4);
this.btn_Empty.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.btn_Empty.Name = "btn_Empty"; this.btn_Empty.Name = "btn_Empty";
this.btn_Empty.Size = new System.Drawing.Size(86, 29); this.btn_Empty.Size = new System.Drawing.Size(75, 23);
this.btn_Empty.TabIndex = 4; this.btn_Empty.TabIndex = 4;
this.btn_Empty.Text = "비 우 기"; this.btn_Empty.Text = "비 우 기";
this.btn_Empty.UseVisualStyleBackColor = true; this.btn_Empty.UseVisualStyleBackColor = true;
@@ -182,10 +174,9 @@ namespace UniMarc
// //
// btSave // btSave
// //
this.btSave.Location = new System.Drawing.Point(832, 5); this.btSave.Location = new System.Drawing.Point(728, 4);
this.btSave.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.btSave.Name = "btSave"; this.btSave.Name = "btSave";
this.btSave.Size = new System.Drawing.Size(86, 29); this.btSave.Size = new System.Drawing.Size(75, 23);
this.btSave.TabIndex = 3; this.btSave.TabIndex = 3;
this.btSave.Text = "저 장"; this.btSave.Text = "저 장";
this.btSave.UseVisualStyleBackColor = true; this.btSave.UseVisualStyleBackColor = true;
@@ -194,37 +185,36 @@ namespace UniMarc
// label3 // label3
// //
this.label3.AutoSize = true; this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(467, 11); this.label3.Location = new System.Drawing.Point(409, 9);
this.label3.Name = "label3"; this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(52, 15); this.label3.Size = new System.Drawing.Size(41, 12);
this.label3.TabIndex = 13; this.label3.TabIndex = 13;
this.label3.Text = "담당자"; this.label3.Text = "담당자";
// //
// label2 // label2
// //
this.label2.AutoSize = true; this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(294, 11); this.label2.Location = new System.Drawing.Point(257, 9);
this.label2.Name = "label2"; this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(52, 15); this.label2.Size = new System.Drawing.Size(41, 12);
this.label2.TabIndex = 11; this.label2.TabIndex = 11;
this.label2.Text = "납품명"; this.label2.Text = "납품명";
// //
// label4 // label4
// //
this.label4.AutoSize = true; this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(31, 44); this.label4.Location = new System.Drawing.Point(27, 35);
this.label4.Name = "label4"; this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(102, 15); this.label4.Size = new System.Drawing.Size(81, 12);
this.label4.TabIndex = 10; this.label4.TabIndex = 10;
this.label4.Text = "생성될 목록명"; this.label4.Text = "생성될 목록명";
// //
// btCustom // btCustom
// //
this.btCustom.AutoSize = true; this.btCustom.AutoSize = true;
this.btCustom.Location = new System.Drawing.Point(6, 5); this.btCustom.Location = new System.Drawing.Point(5, 4);
this.btCustom.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.btCustom.Name = "btCustom"; this.btCustom.Name = "btCustom";
this.btCustom.Size = new System.Drawing.Size(71, 31); this.btCustom.Size = new System.Drawing.Size(62, 25);
this.btCustom.TabIndex = 9; this.btCustom.TabIndex = 9;
this.btCustom.Text = "납품처"; this.btCustom.Text = "납품처";
this.btCustom.Click += new System.EventHandler(this.label1_Click); this.btCustom.Click += new System.EventHandler(this.label1_Click);
@@ -232,27 +222,24 @@ namespace UniMarc
// tb_ExpectList // tb_ExpectList
// //
this.tb_ExpectList.Enabled = false; this.tb_ExpectList.Enabled = false;
this.tb_ExpectList.Location = new System.Drawing.Point(130, 39); this.tb_ExpectList.Location = new System.Drawing.Point(114, 31);
this.tb_ExpectList.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.tb_ExpectList.Name = "tb_ExpectList"; this.tb_ExpectList.Name = "tb_ExpectList";
this.tb_ExpectList.Size = new System.Drawing.Size(285, 25); this.tb_ExpectList.Size = new System.Drawing.Size(250, 21);
this.tb_ExpectList.TabIndex = 12; this.tb_ExpectList.TabIndex = 12;
// //
// tb_divName // tb_divName
// //
this.tb_divName.Location = new System.Drawing.Point(343, 6); this.tb_divName.Location = new System.Drawing.Point(300, 5);
this.tb_divName.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.tb_divName.Name = "tb_divName"; this.tb_divName.Name = "tb_divName";
this.tb_divName.Size = new System.Drawing.Size(114, 25); this.tb_divName.Size = new System.Drawing.Size(100, 21);
this.tb_divName.TabIndex = 1; this.tb_divName.TabIndex = 1;
this.tb_divName.TextChanged += new System.EventHandler(this.Delivery_TextChanged); this.tb_divName.TextChanged += new System.EventHandler(this.Delivery_TextChanged);
// //
// tb_divComp // tb_divComp
// //
this.tb_divComp.Location = new System.Drawing.Point(79, 6); this.tb_divComp.Location = new System.Drawing.Point(69, 5);
this.tb_divComp.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.tb_divComp.Name = "tb_divComp"; this.tb_divComp.Name = "tb_divComp";
this.tb_divComp.Size = new System.Drawing.Size(114, 25); this.tb_divComp.Size = new System.Drawing.Size(100, 21);
this.tb_divComp.TabIndex = 0; this.tb_divComp.TabIndex = 0;
this.tb_divComp.TextChanged += new System.EventHandler(this.Delivery_TextChanged); this.tb_divComp.TextChanged += new System.EventHandler(this.Delivery_TextChanged);
this.tb_divComp.KeyDown += new System.Windows.Forms.KeyEventHandler(this.tb_divComp_KeyDown); this.tb_divComp.KeyDown += new System.Windows.Forms.KeyEventHandler(this.tb_divComp_KeyDown);
@@ -261,10 +248,9 @@ namespace UniMarc
// //
this.panel2.Controls.Add(this.dataGridView1); this.panel2.Controls.Add(this.dataGridView1);
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill; this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel2.Location = new System.Drawing.Point(0, 73); this.panel2.Location = new System.Drawing.Point(0, 59);
this.panel2.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.panel2.Name = "panel2"; this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(1025, 777); this.panel2.Size = new System.Drawing.Size(897, 621);
this.panel2.TabIndex = 1; this.panel2.TabIndex = 1;
// //
// dataGridView1 // dataGridView1
@@ -286,20 +272,23 @@ namespace UniMarc
this.BookName, this.BookName,
this.Author, this.Author,
this.BookComp, this.BookComp,
this.Price,
this.Count, this.Count,
this.Price,
this.Total, this.Total,
this.ISBN}); this.ISBN});
this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.dataGridView1.Location = new System.Drawing.Point(0, 0); this.dataGridView1.Location = new System.Drawing.Point(0, 0);
this.dataGridView1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.dataGridView1.Name = "dataGridView1"; this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.RowTemplate.Height = 23; this.dataGridView1.RowTemplate.Height = 23;
this.dataGridView1.Size = new System.Drawing.Size(1025, 777); this.dataGridView1.Size = new System.Drawing.Size(897, 621);
this.dataGridView1.TabIndex = 1; this.dataGridView1.TabIndex = 1;
this.dataGridView1.RowPostPaint += new System.Windows.Forms.DataGridViewRowPostPaintEventHandler(this.dataGridView1_RowPostPaint); this.dataGridView1.RowPostPaint += new System.Windows.Forms.DataGridViewRowPostPaintEventHandler(this.dataGridView1_RowPostPaint);
this.dataGridView1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.dataGridView1_KeyDown); this.dataGridView1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.dataGridView1_KeyDown);
// //
// openFileDialog1
//
this.openFileDialog1.FileName = "openFileDialog1";
//
// header // header
// //
this.header.HeaderText = "머리글"; this.header.HeaderText = "머리글";
@@ -335,26 +324,26 @@ namespace UniMarc
this.BookComp.Name = "BookComp"; this.BookComp.Name = "BookComp";
this.BookComp.Width = 120; this.BookComp.Width = 120;
// //
// Price // Count
// //
dataGridViewCellStyle5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(128))))); dataGridViewCellStyle5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(128)))));
dataGridViewCellStyle5.Format = "N0"; dataGridViewCellStyle5.Format = "N0";
dataGridViewCellStyle5.NullValue = "0"; dataGridViewCellStyle5.NullValue = "1";
this.Price.DefaultCellStyle = dataGridViewCellStyle5; this.Count.DefaultCellStyle = dataGridViewCellStyle5;
this.Price.HeaderText = "가격";
this.Price.Name = "Price";
this.Price.Width = 80;
//
// Count
//
dataGridViewCellStyle6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(128)))));
dataGridViewCellStyle6.Format = "N0";
dataGridViewCellStyle6.NullValue = "1";
this.Count.DefaultCellStyle = dataGridViewCellStyle6;
this.Count.HeaderText = "수량"; this.Count.HeaderText = "수량";
this.Count.Name = "Count"; this.Count.Name = "Count";
this.Count.Width = 45; this.Count.Width = 45;
// //
// Price
//
dataGridViewCellStyle6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(128)))));
dataGridViewCellStyle6.Format = "N0";
dataGridViewCellStyle6.NullValue = "0";
this.Price.DefaultCellStyle = dataGridViewCellStyle6;
this.Price.HeaderText = "가격";
this.Price.Name = "Price";
this.Price.Width = 80;
//
// Total // Total
// //
dataGridViewCellStyle7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(128))))); dataGridViewCellStyle7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(128)))));
@@ -370,20 +359,15 @@ namespace UniMarc
this.ISBN.HeaderText = "ISBN"; this.ISBN.HeaderText = "ISBN";
this.ISBN.Name = "ISBN"; this.ISBN.Name = "ISBN";
// //
// openFileDialog1
//
this.openFileDialog1.FileName = "openFileDialog1";
//
// Mac_List_Add // Mac_List_Add
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F); this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1025, 850); this.ClientSize = new System.Drawing.Size(897, 680);
this.Controls.Add(this.panel2); this.Controls.Add(this.panel2);
this.Controls.Add(this.panel1); this.Controls.Add(this.panel1);
this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.Name = "Mac_List_Add"; this.Name = "Mac_List_Add";
this.Text = "마크 목록 생성"; this.Text = "마크 목록 등록";
this.Load += new System.EventHandler(this.Mac_List_Add_Load); this.Load += new System.EventHandler(this.Mac_List_Add_Load);
this.panel1.ResumeLayout(false); this.panel1.ResumeLayout(false);
this.panel1.PerformLayout(); this.panel1.PerformLayout();
@@ -409,20 +393,20 @@ namespace UniMarc
private System.Windows.Forms.Label label4; private System.Windows.Forms.Label label4;
private System.Windows.Forms.Button btClose; private System.Windows.Forms.Button btClose;
private System.Windows.Forms.Button btn_Empty; private System.Windows.Forms.Button btn_Empty;
private System.Windows.Forms.DataGridViewTextBoxColumn header;
private System.Windows.Forms.DataGridViewTextBoxColumn num;
private System.Windows.Forms.DataGridViewTextBoxColumn BookName;
private System.Windows.Forms.DataGridViewTextBoxColumn Author;
private System.Windows.Forms.DataGridViewTextBoxColumn BookComp;
private System.Windows.Forms.DataGridViewTextBoxColumn Price;
private System.Windows.Forms.DataGridViewTextBoxColumn Count;
private System.Windows.Forms.DataGridViewTextBoxColumn Total;
private System.Windows.Forms.DataGridViewTextBoxColumn ISBN;
private System.Windows.Forms.Button btn_Upload; private System.Windows.Forms.Button btn_Upload;
private System.Windows.Forms.ComboBox cb_Gubun; private System.Windows.Forms.ComboBox cb_Gubun;
private System.Windows.Forms.Label label5; private System.Windows.Forms.Label label5;
private System.Windows.Forms.OpenFileDialog openFileDialog1; private System.Windows.Forms.OpenFileDialog openFileDialog1;
private System.Windows.Forms.Button btn_DelRow; private System.Windows.Forms.Button btn_DelRow;
private System.Windows.Forms.TextBox tbCustomIDX; private System.Windows.Forms.TextBox tbCustomIDX;
private System.Windows.Forms.DataGridViewTextBoxColumn header;
private System.Windows.Forms.DataGridViewTextBoxColumn num;
private System.Windows.Forms.DataGridViewTextBoxColumn BookName;
private System.Windows.Forms.DataGridViewTextBoxColumn Author;
private System.Windows.Forms.DataGridViewTextBoxColumn BookComp;
private System.Windows.Forms.DataGridViewTextBoxColumn Count;
private System.Windows.Forms.DataGridViewTextBoxColumn Price;
private System.Windows.Forms.DataGridViewTextBoxColumn Total;
private System.Windows.Forms.DataGridViewTextBoxColumn ISBN;
} }
} }

View File

@@ -132,10 +132,10 @@
<metadata name="BookComp.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="BookComp.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="Price.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="Count.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="Count.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="Price.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="Total.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="Total.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

View File

@@ -0,0 +1,421 @@
namespace UniMarc
{
partial class Mac_List_Add2
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
this.panel1 = new System.Windows.Forms.Panel();
this.tbCustomIDX = new System.Windows.Forms.TextBox();
this.label5 = new System.Windows.Forms.Label();
this.cb_Gubun = new System.Windows.Forms.ComboBox();
this.btn_DelRow = new System.Windows.Forms.Button();
this.btn_Upload = new System.Windows.Forms.Button();
this.cb_User = new System.Windows.Forms.ComboBox();
this.btClose = new System.Windows.Forms.Button();
this.btn_Empty = new System.Windows.Forms.Button();
this.btSave = new System.Windows.Forms.Button();
this.label3 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.btCustom = new System.Windows.Forms.Button();
this.tb_ExpectList = new System.Windows.Forms.TextBox();
this.tb_divName = new System.Windows.Forms.TextBox();
this.tb_divComp = new System.Windows.Forms.TextBox();
this.panel2 = new System.Windows.Forms.Panel();
this.dataGridView1 = new System.Windows.Forms.DataGridView();
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.header = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.num = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.BookName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Author = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.BookComp = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Count = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Price = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Total = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.ISBN = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.panel1.SuspendLayout();
this.panel2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.SuspendLayout();
//
// panel1
//
this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panel1.Controls.Add(this.tbCustomIDX);
this.panel1.Controls.Add(this.label5);
this.panel1.Controls.Add(this.cb_Gubun);
this.panel1.Controls.Add(this.btn_DelRow);
this.panel1.Controls.Add(this.btn_Upload);
this.panel1.Controls.Add(this.cb_User);
this.panel1.Controls.Add(this.btClose);
this.panel1.Controls.Add(this.btn_Empty);
this.panel1.Controls.Add(this.btSave);
this.panel1.Controls.Add(this.label3);
this.panel1.Controls.Add(this.label2);
this.panel1.Controls.Add(this.label4);
this.panel1.Controls.Add(this.btCustom);
this.panel1.Controls.Add(this.tb_ExpectList);
this.panel1.Controls.Add(this.tb_divName);
this.panel1.Controls.Add(this.tb_divComp);
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(897, 59);
this.panel1.TabIndex = 0;
//
// tbCustomIDX
//
this.tbCustomIDX.Location = new System.Drawing.Point(175, 5);
this.tbCustomIDX.Name = "tbCustomIDX";
this.tbCustomIDX.ReadOnly = true;
this.tbCustomIDX.Size = new System.Drawing.Size(66, 21);
this.tbCustomIDX.TabIndex = 15;
this.tbCustomIDX.TabStop = false;
this.tbCustomIDX.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(592, 35);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(53, 12);
this.label5.TabIndex = 14;
this.label5.Text = "쉼표구분";
//
// cb_Gubun
//
this.cb_Gubun.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cb_Gubun.FormattingEnabled = true;
this.cb_Gubun.Location = new System.Drawing.Point(647, 31);
this.cb_Gubun.Name = "cb_Gubun";
this.cb_Gubun.Size = new System.Drawing.Size(75, 20);
this.cb_Gubun.TabIndex = 6;
//
// btn_DelRow
//
this.btn_DelRow.Location = new System.Drawing.Point(560, 4);
this.btn_DelRow.Name = "btn_DelRow";
this.btn_DelRow.Size = new System.Drawing.Size(81, 23);
this.btn_DelRow.TabIndex = 5;
this.btn_DelRow.Text = "선택 셀 삭제";
this.btn_DelRow.UseVisualStyleBackColor = true;
this.btn_DelRow.Click += new System.EventHandler(this.btn_DelRow_Click);
//
// btn_Upload
//
this.btn_Upload.Location = new System.Drawing.Point(728, 30);
this.btn_Upload.Name = "btn_Upload";
this.btn_Upload.Size = new System.Drawing.Size(75, 23);
this.btn_Upload.TabIndex = 7;
this.btn_Upload.Text = "txt불러오기";
this.btn_Upload.UseVisualStyleBackColor = true;
this.btn_Upload.Click += new System.EventHandler(this.btn_Upload_Click);
//
// cb_User
//
this.cb_User.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cb_User.FormattingEnabled = true;
this.cb_User.Location = new System.Drawing.Point(452, 5);
this.cb_User.Name = "cb_User";
this.cb_User.Size = new System.Drawing.Size(82, 20);
this.cb_User.TabIndex = 2;
//
// btClose
//
this.btClose.Location = new System.Drawing.Point(809, 4);
this.btClose.Name = "btClose";
this.btClose.Size = new System.Drawing.Size(75, 23);
this.btClose.TabIndex = 8;
this.btClose.Text = "닫 기";
this.btClose.UseVisualStyleBackColor = true;
this.btClose.Click += new System.EventHandler(this.btn_Close_Click);
//
// btn_Empty
//
this.btn_Empty.Location = new System.Drawing.Point(647, 4);
this.btn_Empty.Name = "btn_Empty";
this.btn_Empty.Size = new System.Drawing.Size(75, 23);
this.btn_Empty.TabIndex = 4;
this.btn_Empty.Text = "비 우 기";
this.btn_Empty.UseVisualStyleBackColor = true;
this.btn_Empty.Click += new System.EventHandler(this.btn_Empty_Click);
//
// btSave
//
this.btSave.Location = new System.Drawing.Point(728, 4);
this.btSave.Name = "btSave";
this.btSave.Size = new System.Drawing.Size(75, 23);
this.btSave.TabIndex = 3;
this.btSave.Text = "저 장";
this.btSave.UseVisualStyleBackColor = true;
this.btSave.Click += new System.EventHandler(this.btn_AddList_Click);
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(409, 9);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(41, 12);
this.label3.TabIndex = 13;
this.label3.Text = "담당자";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(257, 9);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(41, 12);
this.label2.TabIndex = 11;
this.label2.Text = "납품명";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(27, 35);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(81, 12);
this.label4.TabIndex = 10;
this.label4.Text = "생성될 목록명";
//
// btCustom
//
this.btCustom.AutoSize = true;
this.btCustom.Location = new System.Drawing.Point(5, 4);
this.btCustom.Name = "btCustom";
this.btCustom.Size = new System.Drawing.Size(62, 25);
this.btCustom.TabIndex = 9;
this.btCustom.Text = "납품처";
this.btCustom.Click += new System.EventHandler(this.label1_Click);
//
// tb_ExpectList
//
this.tb_ExpectList.Enabled = false;
this.tb_ExpectList.Location = new System.Drawing.Point(114, 31);
this.tb_ExpectList.Name = "tb_ExpectList";
this.tb_ExpectList.Size = new System.Drawing.Size(250, 21);
this.tb_ExpectList.TabIndex = 12;
//
// tb_divName
//
this.tb_divName.Location = new System.Drawing.Point(300, 5);
this.tb_divName.Name = "tb_divName";
this.tb_divName.Size = new System.Drawing.Size(100, 21);
this.tb_divName.TabIndex = 1;
this.tb_divName.TextChanged += new System.EventHandler(this.Delivery_TextChanged);
//
// tb_divComp
//
this.tb_divComp.Location = new System.Drawing.Point(69, 5);
this.tb_divComp.Name = "tb_divComp";
this.tb_divComp.Size = new System.Drawing.Size(100, 21);
this.tb_divComp.TabIndex = 0;
this.tb_divComp.TextChanged += new System.EventHandler(this.Delivery_TextChanged);
this.tb_divComp.KeyDown += new System.Windows.Forms.KeyEventHandler(this.tb_divComp_KeyDown);
//
// panel2
//
this.panel2.Controls.Add(this.dataGridView1);
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel2.Location = new System.Drawing.Point(0, 59);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(897, 621);
this.panel2.TabIndex = 1;
//
// dataGridView1
//
this.dataGridView1.BackgroundColor = System.Drawing.SystemColors.Control;
this.dataGridView1.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.dataGridView1.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle1.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.header,
this.num,
this.BookName,
this.Author,
this.BookComp,
this.Count,
this.Price,
this.Total,
this.ISBN});
this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.dataGridView1.Location = new System.Drawing.Point(0, 0);
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.RowTemplate.Height = 23;
this.dataGridView1.Size = new System.Drawing.Size(897, 621);
this.dataGridView1.TabIndex = 1;
this.dataGridView1.RowPostPaint += new System.Windows.Forms.DataGridViewRowPostPaintEventHandler(this.dataGridView1_RowPostPaint);
this.dataGridView1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.dataGridView1_KeyDown);
//
// openFileDialog1
//
this.openFileDialog1.FileName = "openFileDialog1";
//
// header
//
this.header.DataPropertyName = "header";
this.header.HeaderText = "머리글";
this.header.Name = "header";
this.header.Width = 65;
//
// num
//
this.num.DataPropertyName = "num";
this.num.HeaderText = "번호";
this.num.Name = "num";
this.num.Width = 45;
//
// BookName
//
this.BookName.DataPropertyName = "BookName";
dataGridViewCellStyle2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(128)))));
this.BookName.DefaultCellStyle = dataGridViewCellStyle2;
this.BookName.HeaderText = "도서명";
this.BookName.Name = "BookName";
this.BookName.Width = 200;
//
// Author
//
this.Author.DataPropertyName = "Author";
dataGridViewCellStyle3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(128)))));
this.Author.DefaultCellStyle = dataGridViewCellStyle3;
this.Author.HeaderText = "저자";
this.Author.Name = "Author";
//
// BookComp
//
this.BookComp.DataPropertyName = "BookComp";
dataGridViewCellStyle4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(128)))));
this.BookComp.DefaultCellStyle = dataGridViewCellStyle4;
this.BookComp.HeaderText = "출판사";
this.BookComp.Name = "BookComp";
this.BookComp.Width = 120;
//
// Count
//
this.Count.DataPropertyName = "Count";
dataGridViewCellStyle5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(128)))));
dataGridViewCellStyle5.Format = "N0";
dataGridViewCellStyle5.NullValue = "1";
this.Count.DefaultCellStyle = dataGridViewCellStyle5;
this.Count.HeaderText = "수량";
this.Count.Name = "Count";
this.Count.Width = 45;
//
// Price
//
this.Price.DataPropertyName = "Price";
dataGridViewCellStyle6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(128)))));
dataGridViewCellStyle6.Format = "N0";
dataGridViewCellStyle6.NullValue = "0";
this.Price.DefaultCellStyle = dataGridViewCellStyle6;
this.Price.HeaderText = "가격";
this.Price.Name = "Price";
this.Price.Width = 80;
//
// Total
//
this.Total.DataPropertyName = "Total";
dataGridViewCellStyle7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(128)))));
dataGridViewCellStyle7.Format = "N0";
dataGridViewCellStyle7.NullValue = "0";
this.Total.DefaultCellStyle = dataGridViewCellStyle7;
this.Total.HeaderText = "합계";
this.Total.Name = "Total";
this.Total.Width = 80;
//
// ISBN
//
this.ISBN.DataPropertyName = "ISBN";
this.ISBN.HeaderText = "ISBN";
this.ISBN.Name = "ISBN";
//
// Mac_List_Add
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(897, 680);
this.Controls.Add(this.panel2);
this.Controls.Add(this.panel1);
this.Name = "Mac_List_Add";
this.Text = "마크 목록 등록";
this.Load += new System.EventHandler(this.Mac_List_Add_Load);
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.DataGridView dataGridView1;
private System.Windows.Forms.Button btSave;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Button btCustom;
private System.Windows.Forms.TextBox tb_divName;
private System.Windows.Forms.TextBox tb_divComp;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.ComboBox cb_User;
private System.Windows.Forms.TextBox tb_ExpectList;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Button btClose;
private System.Windows.Forms.Button btn_Empty;
private System.Windows.Forms.Button btn_Upload;
private System.Windows.Forms.ComboBox cb_Gubun;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.OpenFileDialog openFileDialog1;
private System.Windows.Forms.Button btn_DelRow;
private System.Windows.Forms.TextBox tbCustomIDX;
private System.Windows.Forms.DataGridViewTextBoxColumn header;
private System.Windows.Forms.DataGridViewTextBoxColumn num;
private System.Windows.Forms.DataGridViewTextBoxColumn BookName;
private System.Windows.Forms.DataGridViewTextBoxColumn Author;
private System.Windows.Forms.DataGridViewTextBoxColumn BookComp;
private System.Windows.Forms.DataGridViewTextBoxColumn Count;
private System.Windows.Forms.DataGridViewTextBoxColumn Price;
private System.Windows.Forms.DataGridViewTextBoxColumn Total;
private System.Windows.Forms.DataGridViewTextBoxColumn ISBN;
}
}

View File

@@ -0,0 +1,375 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using Microsoft.Office.Interop.Excel;
using UniMarc.ListOfValue;
using AR;
namespace UniMarc
{
public partial class Mac_List_Add2 : Form
{
Helper_DB db = new Helper_DB();
Skill_Grid sg = new Skill_Grid();
BindingSource bs1 = new BindingSource();
BindingList<BookGridItem> bookList = new BindingList<BookGridItem>();
Mac_List ml;
public Mac_List_Add2(Mac_List _ml)
{
InitializeComponent();
ml = _ml;
bs1.DataSource = bookList;
dataGridView1.DataSource = bs1;
}
private void Mac_List_Add_Load(object sender, EventArgs e)
{
db.DBcon();
string compidx = PUB.user.CompanyIdx;
string MyName = PUB.user.UserName;
#region
// 담당자
string CompQuery = string.Format("SELECT `comp_name` FROM `Comp` WHERE `idx` = {0}", compidx);
string cmd = string.Format("SELECT `name` FROM `User_Data` WHERE `affil` = ({0});", CompQuery);
string[] cmdResult = db.DB_Send_CMD_Search(cmd).Split('|');
foreach (string UserName in cmdResult)
{
if (UserName != "")
cb_User.Items.Add(UserName);
}
cb_User.SelectedItem = MyName;
// 쉼표구분
string[] Gubun = { "tap", ",", "|" };
cb_Gubun.Items.AddRange(Gubun);
cb_Gubun.SelectedIndex = 0;
#endregion
}
private void Delivery_TextChanged(object sender, EventArgs e)
{
string divComp = tb_divComp.Text;
string divName = tb_divName.Text;
string ListName = string.Format("[{0}]{1}", divComp, divName);
tb_ExpectList.Text = ListName;
}
private void btn_Empty_Click(object sender, EventArgs e)
{
tb_divComp.Text = "";
tb_divName.Text = "";
bookList.Clear();
}
private void btn_AddList_Click(object sender, EventArgs e)
{
string compidx = PUB.user.CompanyIdx;
string Today = DateTime.Now.ToString("yyyy-MM-dd");
string listName = tb_ExpectList.Text;
string charge = cb_User.Text;
int custidx = -1;
if (int.TryParse(tbCustomIDX.Text, out custidx) == false)
{
UTIL.MsgE("납품처를 올바르게 선택하세요");
tb_divComp.Focus();
tb_divComp.SelectAll();
return;
}
if (!CopyCheck(compidx, listName, Today))
{
MessageBox.Show("목록이 중복되었습니다! 다시 확인해주세요.", "Error");
return;
}
if (listName.isEmpty())
{
MessageBox.Show("목록명이 비어있습니다! 다시 확인해주세요.", "Error");
return;
}
string InBook_Area = "`compidx`, `list_name`, `date`, `header`, `num`, " +
"`book_name`, `author`, `book_comp`, `pay`, `count`, " +
"`total`, `isbn_marc`, `l_idx`";
List<string> InBook_List = new List<string>();
int TotalCount = 0;
string InList_Idx = "㏓InList_Idx♠";
string[] InList_Tbl = { "comp_num", "date", "list_name", "m_charge", "state", "vol", "chk_marc", "customer" };
string[] InList_Col = { compidx, Today, listName, charge, "진행", TotalCount.ToString(), "1", $"{custidx}" };
foreach (var item in bookList)
{
if (string.IsNullOrEmpty(item.BookName))
continue;
string header = item.header ?? "";
string num = item.num ?? "";
string bookname = item.BookName ?? "";
string author = item.Author ?? "";
string bookcomp = item.BookComp ?? "";
string price = (item.Price ?? "0").Replace(",", "");
string count = (item.Count ?? "1").Replace(",", "");
string total = (item.Total ?? "0").Replace(",", "");
string isbn = item.ISBN ?? "";
string tmp = string.Format(
"(\"{0}\", \"{1}\", \"{2}\", \"{3}\", \"{4}\", " +
"\"{5}\", \"{6}\", \"{7}\", \"{8}\", \"{9}\", " +
"\"{10}\", \"{11}\", \"{12}\")",
compidx, listName, Today, header, num,
bookname, author, bookcomp, price, count,
total, isbn, InList_Idx);
int cVal = 0;
int.TryParse(count, out cVal);
TotalCount += cVal;
InBook_List.Add(tmp);
}
if (InBook_List.Count == 0)
{
MessageBox.Show("저장할 데이터가 없습니다.");
return;
}
InList_Col[5] = TotalCount.ToString();
string InList_Cmd = db.DB_INSERT("Obj_List", InList_Tbl, InList_Col);
long listIdxLong = db.DB_Send_CMD_Insert_GetIdx(InList_Cmd);
if (listIdxLong == -1)
{
MessageBox.Show($"목록 저장에 실패했습니다.");
return;
}
string listIdx = listIdxLong.ToString();
string InBook_Col = string.Join(", ", InBook_List).Replace(InList_Idx, listIdx);
string InBook_Cmd = string.Format("INSERT INTO `Obj_List_Book` ({0}) VALUES {1};", InBook_Area, InBook_Col);
var rlt = Helper_DB.ExcuteNonQuery(InBook_Cmd);
if (rlt.applyCount == 0)
{
MessageBox.Show($"내역 저장에 실패했습니다.\n{rlt.errorMessage}");
return;
}
AR.UTIL.MsgI("저장되었습니다!");
ml.btn_Lookup_Click(null, null);
}
#region AddList_Sub
/// <summary>
/// INSERT할 목록 중복체크
/// </summary>
/// <param name="compidx"></param>
/// <param name="listName"></param>
/// <param name="date"></param>
/// <returns></returns>
bool CopyCheck(string compidx, string listName, string date)
{
string cmd = string.Format(
"SELECT `list_name` " +
"FROM `Obj_List` " +
"WHERE `comp_num` = \"{0}\" " +
"AND `list_name` = \"{1}\" " +
"AND `date` = \"{2}\";", compidx, listName, date);
string cmdResult = db.DB_Send_CMD_Search(cmd);
if (cmdResult.Length > 2)
return false;
return true;
}
#endregion
private void btn_Upload_Click(object sender, EventArgs e)
{
string FilePath = "";
openFileDialog1.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
if (openFileDialog1.ShowDialog() == DialogResult.OK)
FilePath = openFileDialog1.FileName;
if (string.IsNullOrEmpty(FilePath)) return;
string[] textValue = File.ReadAllLines(FilePath);
char Gubun = cb_Gubun.Text[0];
if (cb_Gubun.SelectedIndex == 0)
{
Gubun = '\t';
}
if (textValue.Length == 0)
return;
try
{
bookList.Clear();
foreach (string Value in textValue)
{
string[] grid = Value.Split(Gubun);
var item = new BookGridItem();
if (grid.Length > 0) item.header = grid[0];
if (grid.Length > 1) item.num = grid[1];
if (grid.Length > 2) item.BookName = grid[2];
if (grid.Length > 3) item.Author = grid[3];
if (grid.Length > 4) item.BookComp = grid[4];
if (grid.Length > 5) item.Count = grid[5];
if (grid.Length > 6) item.Price = grid[6];
if (grid.Length > 7) item.Total = grid[7];
if (grid.Length > 8) item.ISBN = grid[8];
bookList.Add(item);
}
}
catch (Exception ex)
{
MessageBox.Show("오류가 발생했습니다.\n" + ex.Message, "Error");
}
}
private void btn_DelRow_Click(object sender, EventArgs e)
{
if (bs1.Current == null) return;
DialogResult result = MessageBox.Show("삭제하시겠습니까?", "삭제", MessageBoxButtons.YesNo);
if (result == DialogResult.No) return;
bs1.RemoveCurrent();
}
private void btn_Close_Click(object sender, EventArgs e)
{
this.Close();
}
private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
{
sg.Print_Grid_Num(sender, e);
}
private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
{
Excel_to_BindingSource(sender, e);
}
private void Excel_to_BindingSource(object sender, KeyEventArgs e)
{
if ((e.Shift && e.KeyCode == Keys.Insert) || (e.Control && e.KeyCode == Keys.V))
{
if (Clipboard.ContainsText() == false) return;
string stringInClipboard = Clipboard.GetText();
if (string.IsNullOrEmpty(stringInClipboard)) return;
string[] rowSplitter = { "\r\n", "\r", "\n" };
char[] columnSplitter = { '\t' };
List<string> rowsInClipboard = stringInClipboard.Split(rowSplitter, StringSplitOptions.None).ToList();
if (rowsInClipboard.Count > 0 && string.IsNullOrEmpty(rowsInClipboard.Last()))
{
rowsInClipboard.RemoveAt(rowsInClipboard.Count - 1);
}
if (rowsInClipboard.Count == 0) return;
int startRow = dataGridView1.SelectedCells.Count > 0 ? dataGridView1.SelectedCells[0].RowIndex : 0;
int startCol = dataGridView1.SelectedCells.Count > 0 ? dataGridView1.SelectedCells[0].ColumnIndex : 0;
bookList.RaiseListChangedEvents = false;
for (int iRow = 0; iRow < rowsInClipboard.Count; iRow++)
{
int targetRowIdx = startRow + iRow;
// 필요한 경우 행 추가
while (bookList.Count <= targetRowIdx)
{
bookList.Add(new BookGridItem());
}
BookGridItem item = bookList[targetRowIdx];
string[] valuesInRow = rowsInClipboard[iRow].Split(columnSplitter);
for (int iCol = 0; iCol < valuesInRow.Length; iCol++)
{
int targetColIdx = startCol + iCol;
if (targetColIdx < dataGridView1.ColumnCount)
{
string val = valuesInRow[iCol];
string colName = dataGridView1.Columns[targetColIdx].DataPropertyName;
switch (colName)
{
case "header": item.header = val; break;
case "num": item.num = val; break;
case "BookName": item.BookName = val; break;
case "Author": item.Author = val; break;
case "BookComp": item.BookComp = val; break;
case "Count": item.Count = val; break;
case "Price": item.Price = val; break;
case "Total": item.Total = val; break;
case "ISBN": item.ISBN = val; break;
}
}
}
}
bookList.RaiseListChangedEvents = true;
bookList.ResetBindings();
}
}
private void label1_Click(object sender, EventArgs e)
{
LovCustom();
}
void LovCustom()
{
string compidx = PUB.user.CompanyIdx;
var inputsearch = tb_divComp.Text.Trim();
var where = $"campanyidx={compidx}";
if (inputsearch.isEmpty() == false)
{
where += $" and c_sangho like '%{inputsearch.Replace("'", "''")}%'";
}
var dt = Helper_DB.GetDT("Client", columns: "idx,c_sangho", orders: "c_sangho", wheres: where);
using (var f = new fSelectDT(dt))
if (f.ShowDialog() == DialogResult.OK)
{
var dr = f.SelectedRow;
if (dr == null) return;
tbCustomIDX.Text = dr["idx"]?.ToString() ?? string.Empty;
tb_divComp.Text = dr["c_sangho"]?.ToString() ?? string.Empty;
tb_divName.Focus(); //납품명으로 커서 이동
}
}
private void tb_divComp_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter) LovCustom();
}
}
}

View File

@@ -0,0 +1,200 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="header.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="num.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="BookName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Author.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="BookComp.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Count.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Price.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Total.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ISBN.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="openFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>10, 8</value>
</metadata>
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>151, 8</value>
</metadata>
<metadata name="bindingNavigator1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>290, 8</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="bindingNavigatorMoveFirstItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAExSURBVDhPY2AYNKBw1vP/TQue/8+c+Pg/uhwMhLc/wCnH
kDvz2f9VR97/x6UovvvB/+CGa1jlwCBjytP/C/d9wKoovufh/6X7///3r76AIQcHCT1P/k/b8h5DUUT7
fbDmzFn//3uVnsBtQGTXo/+9qz+gKAptvQfW3Lru/3//zr//XfIP4DYgsPnh/7r57+CKglvu/l+09///
jnX//2fM+fnfru7nf/uM7bgN8Ki6/z9/2hsURXbFt/+nz/n937/r23+dwnf/LRLW4zbAvvTu/+zJrzEU
6aec/29S9OK/Stan/8aRy3AbYJF3539q/2usigySTvyXTfv6Xzd4HoYcHBhm3f4f1vISpyL91Mv/NXyn
YZUDA520G//9qh/iVaTiMQGnHINT7pX/IAV4FQ1KAADwdsCrWJS2HgAAAABJRU5ErkJggg==
</value>
</data>
<data name="bindingNavigatorMovePreviousItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAC7SURBVDhPY2AYMiC8/cF/dDGiQXz3g//BDdfIMyC+5+H/
pfv///evvkC6ARHt98GaM2f9/+9VeoI0A0Jb74E1t677/9+/8+9/l/wDxBsQ3HL3/6K9//93rPv/P2PO
z/92dT//22dsJ94AELArvv0/fc7v//5d3/7rFL77b5GwnjQDQEA/5fx/k6IX/1WyPv03jlxGugEgYJB0
4r9s2tf/usHzyDMABPRTL//X8J1GvgEgoOIxgTIDBi8AANAUYJgsLP+3AAAAAElFTkSuQmCC
</value>
</data>
<data name="bindingNavigatorMoveNextItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACkSURBVDhPY2AYdKBw1vP/6GIkgdyZz/4ndN8j35CMKU//
z9v/+39C1x3yDEnoefJ/9r5f/zu3/v3vVnqZdEMiux79n7Lt1/+SpX//J0z/+98m9yxphgQ2P/zfuvY9
WLNxyZf/0tHX/htHLiPeEI+q+/9L5r6Da1Z06SFeMwjYl979H9jyjDzNIGCRd+e/TcEV8jSDgGHWbfI1
g4BO2g3yNQ9NAACgfl+gY6ualwAAAABJRU5ErkJggg==
</value>
</data>
<data name="bindingNavigatorMoveLastItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAErSURBVDhPY2AYVKBw1vP/6GIwAJJrWvD8f+bExzjVMOTO
fPY/ofseVgUguVVH3v8Pb3+AVR4MMqY8/T9v/+//CV13MBSB5Bbu+/A/uOEahhwcJPQ8+T9736//nVv/
/ncrvYyiECQ3bcv7//7VF3AbENn16P+Ubb/+lyz9+z9h+t//Nrln4YpBcr2rP/z3Kj2B24DA5of/W9e+
B2s2LvnyXzr62n/jyGVgDSC5uvnv/rvkH8BtgEfV/f8lc9/BNSu69MAVg+Typ735b5+xHbcB9qV3/we2
PMPQDJPLnvz6v0XCetwGWOTd+W9TcAVDM0wutf813EtYgWHWbayaQQAkF9by8r9u8Dys8mCgk3YDpyRI
zq/64X8N32k41eAFTrlX/qt4TABjdLmBBQC+0b+zZl1WGAAAAABJRU5ErkJggg==
</value>
</data>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>35</value>
</metadata>
</root>

View File

@@ -0,0 +1,256 @@
namespace UniMarc
{
partial class Mac_List_Edit
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.label1 = new System.Windows.Forms.Label();
this.tb_ListName = new System.Windows.Forms.TextBox();
this.btCustom = new System.Windows.Forms.Button();
this.tb_divComp = new System.Windows.Forms.TextBox();
this.tbCustomIDX = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
this.cb_User = new System.Windows.Forms.ComboBox();
this.label3 = new System.Windows.Forms.Label();
this.cb_State = new System.Windows.Forms.ComboBox();
this.label4 = new System.Windows.Forms.Label();
this.tb_WorkName = new System.Windows.Forms.TextBox();
this.label5 = new System.Windows.Forms.Label();
this.tb_Etc = new System.Windows.Forms.TextBox();
this.dtp_DateRes = new System.Windows.Forms.DateTimePicker();
this.chk_DateRes = new System.Windows.Forms.CheckBox();
this.btSave = new System.Windows.Forms.Button();
this.btClose = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(7, 17);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(41, 12);
this.label1.TabIndex = 0;
this.label1.Text = "목록명";
//
// tb_ListName
//
this.tb_ListName.Location = new System.Drawing.Point(89, 14);
this.tb_ListName.Name = "tb_ListName";
this.tb_ListName.Size = new System.Drawing.Size(248, 21);
this.tb_ListName.TabIndex = 1;
//
// btCustom
//
this.btCustom.Location = new System.Drawing.Point(7, 41);
this.btCustom.Name = "btCustom";
this.btCustom.Size = new System.Drawing.Size(62, 23);
this.btCustom.TabIndex = 2;
this.btCustom.Text = "납품처";
this.btCustom.UseVisualStyleBackColor = true;
this.btCustom.Click += new System.EventHandler(this.btCustom_Click);
//
// tb_divComp
//
this.tb_divComp.Location = new System.Drawing.Point(89, 41);
this.tb_divComp.Name = "tb_divComp";
this.tb_divComp.Size = new System.Drawing.Size(167, 21);
this.tb_divComp.TabIndex = 3;
this.tb_divComp.KeyDown += new System.Windows.Forms.KeyEventHandler(this.tb_divComp_KeyDown);
//
// tbCustomIDX
//
this.tbCustomIDX.Location = new System.Drawing.Point(262, 41);
this.tbCustomIDX.Name = "tbCustomIDX";
this.tbCustomIDX.ReadOnly = true;
this.tbCustomIDX.Size = new System.Drawing.Size(75, 21);
this.tbCustomIDX.TabIndex = 4;
this.tbCustomIDX.TabStop = false;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(7, 71);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(41, 12);
this.label2.TabIndex = 5;
this.label2.Text = "담당자";
//
// cb_User
//
this.cb_User.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cb_User.FormattingEnabled = true;
this.cb_User.Location = new System.Drawing.Point(89, 68);
this.cb_User.Name = "cb_User";
this.cb_User.Size = new System.Drawing.Size(121, 20);
this.cb_User.TabIndex = 6;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(7, 97);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(29, 12);
this.label3.TabIndex = 7;
this.label3.Text = "상태";
//
// cb_State
//
this.cb_State.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cb_State.FormattingEnabled = true;
this.cb_State.Location = new System.Drawing.Point(89, 94);
this.cb_State.Name = "cb_State";
this.cb_State.Size = new System.Drawing.Size(121, 20);
this.cb_State.TabIndex = 8;
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(7, 123);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(41, 12);
this.label4.TabIndex = 9;
this.label4.Text = "작업명";
//
// tb_WorkName
//
this.tb_WorkName.Location = new System.Drawing.Point(89, 120);
this.tb_WorkName.Name = "tb_WorkName";
this.tb_WorkName.Size = new System.Drawing.Size(248, 21);
this.tb_WorkName.TabIndex = 10;
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(7, 149);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(29, 12);
this.label5.TabIndex = 11;
this.label5.Text = "비고";
//
// tb_Etc
//
this.tb_Etc.Location = new System.Drawing.Point(89, 146);
this.tb_Etc.Name = "tb_Etc";
this.tb_Etc.Size = new System.Drawing.Size(248, 21);
this.tb_Etc.TabIndex = 12;
//
// dtp_DateRes
//
this.dtp_DateRes.Enabled = false;
this.dtp_DateRes.Format = System.Windows.Forms.DateTimePickerFormat.Short;
this.dtp_DateRes.Location = new System.Drawing.Point(89, 172);
this.dtp_DateRes.Name = "dtp_DateRes";
this.dtp_DateRes.Size = new System.Drawing.Size(248, 21);
this.dtp_DateRes.TabIndex = 16;
//
// chk_DateRes
//
this.chk_DateRes.AutoSize = true;
this.chk_DateRes.Location = new System.Drawing.Point(7, 174);
this.chk_DateRes.Name = "chk_DateRes";
this.chk_DateRes.Size = new System.Drawing.Size(72, 16);
this.chk_DateRes.TabIndex = 17;
this.chk_DateRes.Text = "완료일자";
this.chk_DateRes.UseVisualStyleBackColor = true;
this.chk_DateRes.CheckedChanged += new System.EventHandler(this.chk_DateRes_CheckedChanged);
//
// btSave
//
this.btSave.Location = new System.Drawing.Point(183, 205);
this.btSave.Name = "btSave";
this.btSave.Size = new System.Drawing.Size(75, 31);
this.btSave.TabIndex = 13;
this.btSave.Text = "저 장";
this.btSave.UseVisualStyleBackColor = true;
this.btSave.Click += new System.EventHandler(this.btSave_Click);
//
// btClose
//
this.btClose.Location = new System.Drawing.Point(264, 205);
this.btClose.Name = "btClose";
this.btClose.Size = new System.Drawing.Size(75, 31);
this.btClose.TabIndex = 14;
this.btClose.Text = "닫 기";
this.btClose.UseVisualStyleBackColor = true;
this.btClose.Click += new System.EventHandler(this.btClose_Click);
//
// Mac_List_Edit
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(347, 245);
this.Controls.Add(this.dtp_DateRes);
this.Controls.Add(this.btClose);
this.Controls.Add(this.btSave);
this.Controls.Add(this.tb_Etc);
this.Controls.Add(this.label5);
this.Controls.Add(this.tb_WorkName);
this.Controls.Add(this.label4);
this.Controls.Add(this.cb_State);
this.Controls.Add(this.label3);
this.Controls.Add(this.cb_User);
this.Controls.Add(this.label2);
this.Controls.Add(this.tbCustomIDX);
this.Controls.Add(this.tb_divComp);
this.Controls.Add(this.btCustom);
this.Controls.Add(this.tb_ListName);
this.Controls.Add(this.label1);
this.Controls.Add(this.chk_DateRes);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "Mac_List_Edit";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "정보 편집";
this.Load += new System.EventHandler(this.Mac_List_Edit_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox tb_ListName;
private System.Windows.Forms.Button btCustom;
private System.Windows.Forms.TextBox tb_divComp;
private System.Windows.Forms.TextBox tbCustomIDX;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.ComboBox cb_User;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.ComboBox cb_State;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.TextBox tb_WorkName;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.TextBox tb_Etc;
private System.Windows.Forms.DateTimePicker dtp_DateRes;
private System.Windows.Forms.CheckBox chk_DateRes;
private System.Windows.Forms.Button btSave;
private System.Windows.Forms.Button btClose;
}
}

View File

@@ -0,0 +1,159 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using UniMarc.ListOfValue;
using AR;
namespace UniMarc
{
public partial class Mac_List_Edit : Form
{
Helper_DB db = new Helper_DB();
MacListItem item;
Mac_List ml;
public Mac_List_Edit(Mac_List _ml, MacListItem _item)
{
InitializeComponent();
ml = _ml;
item = _item;
}
private void Mac_List_Edit_Load(object sender, EventArgs e)
{
db.DBcon();
string compidx = PUB.user.CompanyIdx;
#region
// 담당자
string CompQuery = string.Format("SELECT `comp_name` FROM `Comp` WHERE `idx` = {0}", compidx);
string cmd = string.Format("SELECT `name` FROM `User_Data` WHERE `affil` = ({0});", CompQuery);
string[] cmdResult = db.DB_Send_CMD_Search(cmd).Split('|');
foreach (string UserName in cmdResult)
{
if (!string.IsNullOrEmpty(UserName))
cb_User.Items.Add(UserName);
}
// 상태
cb_State.Items.AddRange(new string[] { "진행", "완료" });
#endregion
// 데이터 로드
tb_ListName.Text = item.list_name;
tb_divComp.Text = item.customer_name;
tbCustomIDX.Text = item.customer;
cb_User.SelectedItem = item.charge;
cb_State.SelectedItem = item.state;
tb_WorkName.Text = item.work_name;
tb_Etc.Text = item.etc;
DateTime resDate;
if (DateTime.TryParse(item.end_date, out resDate))
{
chk_DateRes.Checked = true;
dtp_DateRes.Enabled = true;
dtp_DateRes.Value = resDate;
}
else
{
chk_DateRes.Checked = false;
dtp_DateRes.Enabled = false;
}
}
private void chk_DateRes_CheckedChanged(object sender, EventArgs e)
{
dtp_DateRes.Enabled = chk_DateRes.Checked;
}
private void btCustom_Click(object sender, EventArgs e)
{
LovCustom();
}
void LovCustom()
{
string compidx = PUB.user.CompanyIdx;
var inputsearch = tb_divComp.Text.Trim();
var where = $"campanyidx={compidx}";
if (!string.IsNullOrEmpty(inputsearch))
{
where += $" and c_sangho like '%{inputsearch.Replace("'", "''")}%'";
}
var dt = Helper_DB.GetDT("Client", columns: "idx,c_sangho", orders: "c_sangho", wheres: where);
using (var f = new fSelectDT(dt))
if (f.ShowDialog() == DialogResult.OK)
{
var dr = f.SelectedRow;
if (dr == null) return;
tbCustomIDX.Text = dr["idx"]?.ToString() ?? string.Empty;
tb_divComp.Text = dr["c_sangho"]?.ToString() ?? string.Empty;
}
}
private void tb_divComp_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter) LovCustom();
}
private void btSave_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(tb_ListName.Text))
{
MessageBox.Show("목록명을 입력하세요.");
return;
}
string table = "Obj_List";
string[] edit_col = { "list_name", "customer", "m_charge", "state", "work_name", "m_etc", "date_res" };
string resDateVal = chk_DateRes.Checked ? dtp_DateRes.Value.ToString("yyyy-MM-dd") : "NULL";
string[] edit_tbl = {
tb_ListName.Text,
tbCustomIDX.Text,
cb_User.Text,
cb_State.Text,
tb_WorkName.Text,
tb_Etc.Text,
resDateVal
};
string[] sear_col = { "idx", "comp_num" };
string[] sear_tbl = { item.idx, PUB.user.CompanyIdx };
string U_cmd = db.More_Update(table, edit_col, edit_tbl, sear_col, sear_tbl);
if (resDateVal == "NULL")
{
U_cmd = U_cmd.Replace("`date_res` = \"NULL\"", "`date_res` = NULL");
}
var result = Helper_DB.ExcuteNonQuery(U_cmd);
if (result.applyCount > 0)
{
//UTIL.MsgI("수정되었습니다.");
this.DialogResult = DialogResult.OK;
this.Close();
}
else
{
UTIL.MsgE("수정에 실패했습니다.\n" + result.errorMessage);
}
}
private void btClose_Click(object sender, EventArgs e)
{
this.Close();
}
}
}

View File

@@ -403,10 +403,13 @@ namespace UniMarc
} }
private void Btn_Memo_Click(object sender, EventArgs e) private void Btn_Memo_Click(object sender, EventArgs e)
{ {
Marc_memo memo = new Marc_memo(this); Marc_memo memo = new Marc_memo();
memo.StartPosition = FormStartPosition.Manual; memo.StartPosition = FormStartPosition.Manual;
memo.TopMost = true; memo.TopMost = true;
memo.Location = new Point(1018, 8); memo.Location = new Point(1018, 8);
memo.OnSave += (s1,e1) => {
richTextBox1.Text = e1.Data;
};
memo.Show(); memo.Show();
} }
private void Btn_preview_Click(object sender, EventArgs e) private void Btn_preview_Click(object sender, EventArgs e)
@@ -1300,9 +1303,9 @@ namespace UniMarc
{ {
int row = List_Book.CurrentCell.RowIndex; int row = List_Book.CurrentCell.RowIndex;
Zoom_Picture zp = new Zoom_Picture(); var url = pictureBox1.ImageLocation;
zp.url = pictureBox1.ImageLocation; var isbn = List_Book.Rows[row].Cells["ISBN13"].Value.ToString();
zp.ISBN = List_Book.Rows[row].Cells["ISBN13"].Value.ToString(); Zoom_Picture zp = new Zoom_Picture(url, isbn);
zp.Show(); zp.Show();
} }
@@ -1582,29 +1585,17 @@ namespace UniMarc
if (fb.ShowDialog() == DialogResult.OK) if (fb.ShowDialog() == DialogResult.OK)
{ {
String_Text st = new String_Text(); String_Text st = new String_Text();
if (fb.BulkMarcResults.Count > 0) if (fb.FillBlankItems.Any(t => !string.IsNullOrEmpty(t.BookMarc)))
{ {
foreach (var kvp in fb.BulkMarcResults) foreach (var fbItem in fb.FillBlankItems)
{ {
int targetListIdx = kvp.Key; if (string.IsNullOrEmpty(fbItem.BookMarc)) continue;
foreach (DataGridViewRow r in List_Book.Rows)
{
// In legacy Marc.cs, finding row by index logic might be similar?
// Marc_FillBlank used 'idx' from 'List_idx' column in legacy logic too?
// Legacy code: int idx = Convert.ToInt32(dataGridView1.Rows[a].Cells["List_idx"].Value.ToString());
// And then: this.marc.List_Book.Rows[idx].Cells["db_marc"].Value = ...
// Wait, legacy used `Rows[idx]`. This implies `idx` IS the row index in List_Book?
// Let's assume it matches if we use the same index logic.
// In my refactor, I passed 'a' as first element of GridData if 'List_idx' col missing?
// In Marc.cs line 1579: `a.ToString()` is passed as first element.
// So `idx` in `BulkMarcResults` IS `a` (the row index).
// So we can directly access `List_Book.Rows[targetListIdx]`.
if (targetListIdx >= 0 && targetListIdx < List_Book.Rows.Count) int targetListIdx = int.Parse(fbItem.Idx);
{ if (targetListIdx >= 0 && targetListIdx < List_Book.Rows.Count)
List_Book.Rows[targetListIdx].Cells["db_marc"].Value = kvp.Value; {
List_Book.Rows[targetListIdx].DefaultCellStyle.ForeColor = Color.Blue; List_Book.Rows[targetListIdx].Cells["db_marc"].Value = fbItem.BookMarc;
} List_Book.Rows[targetListIdx].DefaultCellStyle.ForeColor = Color.Blue;
} }
} }
} }

View File

@@ -11,8 +11,10 @@ using System.Net;
using System.Text; using System.Text;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using System.Web.UI; using System.Web.UI;
using System.Web.UI.WebControls.WebParts;
using System.Windows.Forms; using System.Windows.Forms;
using UniMarc.ListOfValue; using UniMarc.ListOfValue;
using static UniMarc.MarcEditorControl;
namespace UniMarc namespace UniMarc
{ {
@@ -39,9 +41,9 @@ namespace UniMarc
Skill_Search_Text search_Text = new Skill_Search_Text(); Skill_Search_Text search_Text = new Skill_Search_Text();
String_Text st = new String_Text(); String_Text st = new String_Text();
Mac_List ml; Mac_List ml;
public BindingList<MarcBookItem> dataList = new BindingList<MarcBookItem>(); public SortableBindingList<MarcBookItem> dataList = new SortableBindingList<MarcBookItem>();
public MacEditorParameter Param;
MacListItem pItem = null; MacListItem pItem = null;
protected override bool ProcessCmdKey(ref Message msg, Keys keyData) protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{ {
// Alt 키 하나만 눌렸을 때 메뉴가 활성화되는 것을 방지 // Alt 키 하나만 눌렸을 때 메뉴가 활성화되는 것을 방지
@@ -52,8 +54,6 @@ namespace UniMarc
return base.ProcessCmdKey(ref msg, keyData); return base.ProcessCmdKey(ref msg, keyData);
} }
private void MarcEditorControl1_NextButton(object sender, EventArgs e) private void MarcEditorControl1_NextButton(object sender, EventArgs e)
{ {
bs1.MoveNext(); bs1.MoveNext();
@@ -70,11 +70,6 @@ namespace UniMarc
ml = _ml; ml = _ml;
mUserName = PUB.user.UserName; mUserName = PUB.user.UserName;
marcEditorControl1.db = this.db; marcEditorControl1.db = this.db;
marcEditorControl1.BookSaved += MarcEditorControl_BookSaved;
marcEditorControl1.FillBlankClicked += MarcEditorControl_FillBlankClicked;
marcEditorControl1.PrevButton += MarcEditorControl1_PrevButton;
marcEditorControl1.NextButton += MarcEditorControl1_NextButton;
marcEditorControl1.CloseButton += (s1, e1) => { this.Close(); };
} }
@@ -168,7 +163,7 @@ namespace UniMarc
mLoadCompleted = false; mLoadCompleted = false;
dataList = new BindingList<MarcBookItem>(); dataList = new SortableBindingList<MarcBookItem>();
for (int a = 0; a < db_data.Length - 1; a += 11) for (int a = 0; a < db_data.Length - 1; a += 11)
{ {
MarcBookItem bitem = new MarcBookItem(); MarcBookItem bitem = new MarcBookItem();
@@ -235,18 +230,24 @@ namespace UniMarc
bool isMyData = true; bool isMyData = true;
if (Chk_Arr.Length < 2) //마크DB에서 데이터가 없다면? if (Chk_Arr.Length < 2) //마크DB에서 데이터가 없다면?
{ {
dr.Grade = "3"; //List_Book.Rows[a].Cells["grade"].Value = "3"; dr.Grade = "3"; //D등급으로 조정List_Book.Rows[a].Cells["grade"].Value = "3";
dr.ForeColor = Color.Red;//List_Book.Rows[a].DefaultCellStyle.ForeColor = Color.Red; dr.Status = MarcRecordStatus.None;
continue; continue;
} }
if (Chk_Arr[1] != mCompidx) if (Chk_Arr[1] != mCompidx)
{
isMyData = false; isMyData = false;
dr.Status = MarcRecordStatus.OtherCompany;
}
else
{
dr.Status = MarcRecordStatus.MyCompany;
}
string[] MarcData = { Chk_Arr[2], Chk_Arr[4], Chk_Arr[6] }; string[] MarcData = { Chk_Arr[2], Chk_Arr[4], Chk_Arr[6] };
string[] CheckData = { Chk_Arr[3], Chk_Arr[5], Chk_Arr[7] }; string[] CheckData = { Chk_Arr[3], Chk_Arr[5], Chk_Arr[7] };
dr.ForeColor = SetGradeColor(Chk_Arr[8], isMyData); // Temporary, chk_Marc updates item below
dr.MarcIdx = Chk_Arr[0]; //List_Book.Rows[a].Cells["marc_idx"].Value = Chk_Arr[0]; dr.MarcIdx = Chk_Arr[0]; //List_Book.Rows[a].Cells["marc_idx"].Value = Chk_Arr[0];
dr.DbMarc = MarcData[0];// List_Book.Rows[a].Cells["db_marc"].Value = MarcData[0];//NewestMarc(MarcData, CheckData); dr.DbMarc = MarcData[0];// List_Book.Rows[a].Cells["db_marc"].Value = MarcData[0];//NewestMarc(MarcData, CheckData);
dr.Grade = Chk_Arr[8];// List_Book.Rows[a].Cells["grade"].Value = Chk_Arr[8]; dr.Grade = Chk_Arr[8];// List_Book.Rows[a].Cells["grade"].Value = Chk_Arr[8];
@@ -254,12 +255,6 @@ namespace UniMarc
dr.User = Chk_Arr[10];// List_Book.Rows[a].Cells["user"].Value = Chk_Arr[10]; dr.User = Chk_Arr[10];// List_Book.Rows[a].Cells["user"].Value = Chk_Arr[10];
dr.SaveDate = Chk_Arr[11];// List_Book.Rows[a].Cells["SaveDate"].Value = Chk_Arr[11]; dr.SaveDate = Chk_Arr[11];// List_Book.Rows[a].Cells["SaveDate"].Value = Chk_Arr[11];
//var item = List_Book.Rows[a].DataBoundItem as MarcBookItem;
Color gradeColor = SetGradeColor(Chk_Arr[8], isMyData);
dr.ForeColor = gradeColor;
//if (item != null) item.ForeColor = gradeColor;
//List_Book.Rows[a].DefaultCellStyle.ForeColor = gradeColor;
if (isMyData) if (isMyData)
{ {
Color saveColor = GetSaveDateColor(Chk_Arr[11]); Color saveColor = GetSaveDateColor(Chk_Arr[11]);
@@ -288,30 +283,6 @@ namespace UniMarc
return result; return result;
} }
private Color SetGradeColor(string Grade, bool isMyData = true)
{
if (!isMyData)
return Color.Orange;
switch (Grade)
{
case "0": // A
return Color.Blue;
case "1": // B
return Color.Black;
case "2": // C
return Color.Gray;
case "3": // D
return Color.DarkViolet;
default:
return Color.Black;
}
}
/// <summary> /// <summary>
/// 마지막 저장시각 14일이전일 경우 배경 색 변경 /// 마지막 저장시각 14일이전일 경우 배경 색 변경
/// </summary> /// </summary>
@@ -407,11 +378,10 @@ namespace UniMarc
string listIdx = List_Book.Rows[row_idx].Cells["list_idx"].Value?.ToString() ?? ""; // verify this column name in input_list string listIdx = List_Book.Rows[row_idx].Cells["list_idx"].Value?.ToString() ?? ""; // verify this column name in input_list
this.lbListIdx.Text = $"Row:{SaveRowIdx},List:{listIdx}"; this.lbListIdx.Text = $"Row:{SaveRowIdx},List:{listIdx}";
var remark = ReadRemark(row_idx); var remark = ReadRemark(row_idx);
var p = new MacEditorParameter this.Param = new MacEditorParameter
{ {
ISBN13 = isbn13, ISBN13 = isbn13,
URL = url, URL = url,
Grade = grade,
ListIdx = listIdx, ListIdx = listIdx,
MarcIdx = marcIdx, MarcIdx = marcIdx,
SaveDate = saveDate, SaveDate = saveDate,
@@ -420,11 +390,40 @@ namespace UniMarc
Author = author, Author = author,
Publisher = publisher, Publisher = publisher,
Price = price, Price = price,
Remark1 = remark.remark1,
Remark2 = remark.remark2,
OriginalMarc = dbMarc, OriginalMarc = dbMarc,
}; };
marcEditorControl1.LoadBookData(dbMarc, p); var defMarc = PUB.MakeEmptyMarc(isbn13, bookName, author, publisher, price);
marcEditorControl1.LoadBookData(dbMarc, isbn13, defMarc);
//등급선택 (dbMarc 데이터를 확인하여. 등급을 결정한다)
int gradeNo;
bool check_Marc = dbMarc.Length >= 3;
if (!check_Marc)
{
//richTextBox1.Text = Make_Empty();
gradeNo = 3; //마크가 없는것은 D등급으로 한다
}
else
{
etc1.Text = remark.remark1;
etc2.Text = remark.remark2;
//자료의 등급 다시 선택
if (int.TryParse(grade, out gradeNo) == false)
gradeNo = 2;
}
if (gradeNo == 0 )
radA.Checked = true;
else if(gradeNo == 1)
radB.Checked = true;
else if(gradeNo == 3)
radD.Checked = true;
else
radC.Checked = true;
lbl_SaveData.Text = $"[{user}] [{saveDate}]";
} }
@@ -457,24 +456,15 @@ namespace UniMarc
if (isSort) if (isSort)
{ {
var list = bs1.DataSource as BindingList<MarcBookItem>; if (combo == 0)
if (list != null)
{ {
List<MarcBookItem> sorted; this.bs1.Sort = "Grade";
if (combo == 0) //sorted = list.OrderBy(x => x.Grade).ToList();
{ }
sorted = list.OrderBy(x => x.Grade).ToList(); else
} {
else this.bs1.Sort = "ISBN13";
{ //sorted = list.OrderBy(x => x.ISBN13).ToList();
sorted = list.OrderBy(x => x.ISBN13).ToList();
}
list.RaiseListChangedEvents = false;
list.Clear();
foreach (var item in sorted) list.Add(item);
list.RaiseListChangedEvents = true;
list.ResetBindings();
} }
} }
else else
@@ -483,11 +473,15 @@ namespace UniMarc
if (combo == 0) if (combo == 0)
{ {
comboIdx = comboBox9.SelectedIndex; comboIdx = comboBox9.SelectedIndex;
Search_Filter("grade", comboIdx); if (comboIdx == 0) //전체
this.bs1.Filter = "";
else
this.bs1.Filter = $"Grade={comboIdx}";
//Search_Filter("grade", comboIdx);
} }
else else
{ // 수정필요 { // 수정필요
UTIL.MsgE("이 기능은 구현되지 않았습니다");
} }
} }
} }
@@ -537,7 +531,7 @@ namespace UniMarc
var dr = this.bs1.Current as MarcBookItem; var dr = this.bs1.Current as MarcBookItem;
var copySelect = new MarcCopySelect2(this,dr); var copySelect = new MarcCopySelect2(this, dr);
copySelect.Init("isbn", dr.ISBN13); copySelect.Init("isbn", dr.ISBN13);
copySelect.Show(); copySelect.Show();
} }
@@ -549,80 +543,24 @@ namespace UniMarc
/// <param name="GridData">[0] idx, [1] compidx, [2] user, [3] date, [4] grade, [5] tag008, [6] marc </param> /// <param name="GridData">[0] idx, [1] compidx, [2] user, [3] date, [4] grade, [5] tag008, [6] marc </param>
public void SelectMarc_Sub(MarcBookItem row, string[] GridData) public void SelectMarc_Sub(MarcBookItem row, string[] GridData)
{ {
row.MarcIdx = GridData[0]; row.MarcIdx = GridData[0];
row.User= GridData[2]; row.User = GridData[2];
row.SaveDate = GridData[4]; row.SaveDate = GridData[4];
row.Grade= GridData[3]; row.Grade = GridData[3];
// text008.Text = GridData[5]; // text008.Text = GridData[5];
row.DbMarc= GridData[6]; row.DbMarc = GridData[6];
mOldMarc = GridData[6]; mOldMarc = GridData[6];
row.ForeColor = SetGradeColor(row.Grade); // row.ForeColor = SetGradeColor(row.Grade); // Handled by MarcBookItem automatically
row.BackColor = Color.Yellow; row.BackColor = Color.Yellow;
var currentitem = this.bs1.Current as MarcBookItem; var currentitem = this.bs1.Current as MarcBookItem;
if (currentitem != null && currentitem == row) if (currentitem != null && currentitem == row)
{ {
List_Book_SelectionChanged(null, null); List_Book_SelectionChanged(null, null);
} }
} }
private void MarcEditorControl_BookSaved(object sender, MarcEditorControl.BookSavedEventArgs e)
{
// [신규 방식: 데이터 객체(Item) 중심 로직]
var item = this.dataList.Where(t => t.ListIdx == e.Param.ListIdx).FirstOrDefault();
if (item == null) return;
string table_name = "Marc";
string date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
string newsavedMarc = e.DBMarc;
//string Midx = item.MarcIdx;
// 1. DB 작업 (저장 전략 결정: Foreground 색상 기준)
if (item.ForeColor == Color.Orange || item.ForeColor == Color.Red)
{
string[] Insert_tbl = { "ISBN", "서명", "저자", "출판사", "가격", "marc", "비고1", "비고2", "url", "grade", "marc_chk", "user", "division", "008tag", "date", "compidx" };
string[] Insert_col = { e.Param.ISBN13, e.Param.BookName, e.Param.Author, e.Param.Publisher, e.Param.Price, newsavedMarc, e.Param.Remark1, e.Param.Remark2, e.Param.URL, e.Param.Grade, "1", mUserName, e.Param.tag056, e.Param.text008, date, mCompidx };
string Incmd = db.DB_INSERT(table_name, Insert_tbl, Insert_col);
PUB.log.Add("INSERT", string.Format("{0}({1},{2}) : {3}", mUserName, mCompidx, item.ForeColor, Incmd));
long newIdx = db.DB_Send_CMD_Insert_GetIdx(Incmd);
if (newIdx > 0)
{
item.MarcIdx = newIdx.ToString();
}
}
else
{
string[] Edit_tbl = { "compidx", "marc", "marc_chk", "marc1", "marc_chk1", "비고1", "비고2", "url", "division", "008tag", "date", "user", "grade" };
string[] Edit_col = { mCompidx, newsavedMarc, "1", e.Param.OriginalMarc, "0", e.Param.Remark1, e.Param.Remark2, e.Param.URL, e.Param.tag056, e.Param.text008, date, mUserName, e.Param.Grade };
string[] Sear_tbl = { "idx", "compidx" };
string[] Sear_col = { item.MarcIdx, mCompidx };
if (string.IsNullOrEmpty(e.Param.ISBN13)) { MessageBox.Show("ISBN 데이터가 없습니다."); return; }
string U_cmd = db.More_Update(table_name, Edit_tbl, Edit_col, Sear_tbl, Sear_col);
PUB.log.Add("Update", string.Format("{0}({1},{2}) : {3}", mUserName, mCompidx, item.ForeColor, U_cmd.Replace("\r", " ").Replace("\n", " ")));
Helper_DB.ExcuteNonQuery(U_cmd);
}
// 2. 객체 데이터 업데이트 및 시각적 상태 계산
item.Grade = e.Param.Grade;
item.SaveDate = date;
item.User = mUserName;
item.DbMarc = e.DBMarc;
item.ForeColor = SetGradeColor(item.Grade);
item.BackColor = GetSaveDateColor(date);
// 3. 목록 인덱스 연동 업데이트 (Obj_List_Book)
string UpdateListIndex = string.Format("UPDATE `Obj_List_Book` SET `m_idx` = {0} WHERE `idx` = {1} AND `compidx` ={2};", item.MarcIdx, item.ListIdx, mCompidx);
Helper_DB.ExcuteNonQuery(UpdateListIndex);
// 4. BindingSource 갱신으로 UI 자동 업데이트
bs1.ResetCurrentItem();
MessageBox.Show("저장되었습니다!");
}
#region Save_Click_Sub #region Save_Click_Sub
@@ -655,69 +593,7 @@ namespace UniMarc
private void MarcEditorControl_FillBlankClicked(object sender, EventArgs e) private void MarcEditorControl_FillBlankClicked(object sender, EventArgs e)
{ {
if (List_Book.CurrentRow == null) return;
int row = List_Book.CurrentRow.Index;
string ISBN = List_Book.Rows[row].Cells["ISBN13"].Value?.ToString();
if (string.IsNullOrEmpty(ISBN))
{
MessageBox.Show("ISBN이 존재하지않습니다!");
return;
}
var fb = new Marc_FillBlank();
for (int a = 0; a < List_Book.Rows.Count; a++)
{
if (List_Book.Rows[a].DefaultCellStyle.ForeColor == Color.Red)
{
var item = new FillBlankItem
{
Idx = a.ToString(),
Isbn = List_Book.Rows[a].Cells["ISBN13"].Value?.ToString() ?? "",
BookName = List_Book.Rows[a].Cells["book_name"].Value?.ToString() ?? "",
Author = List_Book.Rows[a].Cells["author"].Value?.ToString() ?? "",
Publisher = List_Book.Rows[a].Cells["book_comp"].Value?.ToString() ?? "",
Price = List_Book.Rows[a].Cells["pay"].Value?.ToString() ?? ""
};
fb.InitFillBlank(item);
}
}
fb.ISBN = ISBN;
if (fb.ShowDialog() == DialogResult.OK)
{
String_Text st = new String_Text();
if (fb.BulkMarcResults.Count > 0)
{
foreach (var kvp in fb.BulkMarcResults)
{
// Use list_idx to find row? Or assume key matches?
// Marc_FillBlank used 'idx' from 'List_idx' column.
// We need to iterate List_Book to find matching List_idx or if key is row index?
// In Marc_FillBlank, I stored 'idx' which was from 'List_idx'.
// Key = List_idx.
int targetListIdx = kvp.Key;
// Find row with this list_idx
foreach (DataGridViewRow r in List_Book.Rows)
{
if (r.Cells["List_idx"].Value != null && Convert.ToInt32(r.Cells["List_idx"].Value) == targetListIdx)
{
r.Cells["db_marc"].Value = kvp.Value;
// Update color etc?
r.DefaultCellStyle.ForeColor = Color.Blue;
// Need to update 'item' too if bound
var item = r.DataBoundItem as MarcBookItem;
if (item != null) item.ForeColor = Color.Blue;
break;
}
}
}
}
else if (!string.IsNullOrEmpty(fb.SingleMarcResult))
{
// Update current Editor
marcEditorControl1.SetMarcString(fb.SingleMarcResult);
}
}
} }
@@ -739,7 +615,8 @@ namespace UniMarc
/// <returns></returns> /// <returns></returns>
public bool Check_BackColor(int row) public bool Check_BackColor(int row)
{ {
if (List_Book.Rows[row].DefaultCellStyle.ForeColor != Color.Red) var item = bs1.List[row] as MarcBookItem;
if (item != null && item.Status != MarcRecordStatus.None)
return true; return true;
return false; return false;
@@ -880,7 +757,9 @@ namespace UniMarc
comboBox8.SelectedIndex = 0; comboBox8.SelectedIndex = 0;
comboBox9.SelectedIndex = 0; comboBox9.SelectedIndex = 0;
List_Book.Sort(list_idx, System.ComponentModel.ListSortDirection.Ascending); this.bs1.Filter = null;
this.bs1.Sort = "ListIdx";
//List_Book.Sort(list_idx, System.ComponentModel.ListSortDirection.Ascending);
} }
private void List_Book_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e) private void List_Book_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
@@ -930,6 +809,34 @@ namespace UniMarc
if (UTIL.MsgQ("현재 화면을 닫을까요?") != DialogResult.Yes) return; if (UTIL.MsgQ("현재 화면을 닫을까요?") != DialogResult.Yes) return;
this.Close(); this.Close();
} }
else
SaveGrade(e.KeyCode);
}
/// <summary>
/// F9~F12로 등급별 저장
/// </summary>
/// <param name="key">F9~F12</param>
private void SaveGrade(Keys key)
{
switch (key)
{
case Keys.F9:
radA.Checked = true;// cb_grade.SelectedIndex = 0;// = "A (F9)";
break;
case Keys.F10:
radB.Checked = true;// cb_grade.SelectedIndex = 1;// = "B (F10)";
//Btn_Save_Click(null, null);
break;
case Keys.F11:
radC.Checked = true;// cb_grade.SelectedIndex = 2;// = "C (F11)";
//Btn_Save_Click(null, null);
break;
case Keys.F12:
radD.Checked = true;// cb_grade.SelectedIndex = 3;//.SelectedItem = "D (F12)";
//Btn_Save_Click(null, null);
break;
}
} }
private void button1_Click(object sender, EventArgs e) private void button1_Click(object sender, EventArgs e)
@@ -1002,5 +909,204 @@ namespace UniMarc
//re load data //re load data
input_list(); input_list();
} }
private void btFindISBN_Click(object sender, EventArgs e)
{
string tSearchText = pItem.list_name;
string tSearchIDX = pItem.idx;
var main = Application.OpenForms.OfType<Main>().FirstOrDefault();
if (main != null)
{
var isbn = main.OpenFormInTab(() => new Check_ISBN2(main, tSearchText, tSearchIDX));
if (isbn != null)
{
isbn.tb_list_name.Enabled = true;
}
}
}
private void btn_close_Click(object sender, EventArgs e)
{
this.Close();
}
private void btPrev_Click(object sender, EventArgs e)
{
bs1.MovePrevious();
}
private void btNext_Click(object sender, EventArgs e)
{
bs1.MoveNext();
}
private void button2_Click(object sender, EventArgs e)
{
marcEditorControl1.Tag056(); // 008 태그가 richTextBox1에 포함되도록 갱신
var orimarc = st.made_Ori_marc(marcEditorControl1.richTextBox1).Replace(@"\", "₩");
var fb = new Marc_CopyForm( orimarc);
fb.ShowDialog();
}
private void btn_Save_Click(object sender, EventArgs e)
{
if (Param.NewMake == false && string.IsNullOrEmpty(Param.ISBN13))
{
MessageBox.Show("마크가 선택되지않았습니다.");
return;
}
// 중앙 집중식 유효성 검사 수행
if (!marcEditorControl1.CheckValidation())
{
return;
}
var v_isbn = marcEditorControl1.lbl_ISBN.Text.Trim();
// ISBN 중복체크
var exist = DB_Utils.ExistISBN(v_isbn);
if (exist)
{
if (UTIL.MsgQ($"입력하신 ISBN({v_isbn})은 이미 등록된 데이터가 존재합니다.\n그래도 저장하시겠습니까?") != DialogResult.Yes)
{
return;
}
}
string date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
string orimarc = marcEditorControl1.MakeMarcString();// st.made_Ori_marc(marcEditorControl1.richTextBox1).Replace(@"\", "₩");
this.Param.text008 = marcEditorControl1.text008.Text.Trim();
this.Param.tag056 = marcEditorControl1.Tag056();
//아래는 실제 폼에서의 저장코드
// [신규 방식: 데이터 객체(Item) 중심 로직]
var item = this.dataList.Where(t => t.ListIdx == this.Param.ListIdx).FirstOrDefault();
if (item == null) return;
string table_name = "Marc";
string newsavedMarc = orimarc;
var v_grade = "";// cb_grade.SelectedIndex.ToString(); // 등급은 0~3의 숫자로 저장된다고 가정
if(radA.Checked) v_grade = "0";
else if(radB.Checked) v_grade = "1";
else if(radC.Checked) v_grade = "2";
else if(radD.Checked) v_grade = "3";
var v_etc1 = this.etc1.Text.Trim();
var v_etc2 = this.etc2.Text.Trim();
// 1. DB 작업 (저장 전략 결정: Status 기준)
if (item.Status == MarcRecordStatus.OtherCompany || item.Status == MarcRecordStatus.None)
{
string[] Insert_tbl = { "ISBN", "서명", "저자", "출판사", "가격", "marc", "비고1", "비고2", "url", "grade", "marc_chk", "user", "division", "008tag", "date", "compidx" };
string[] Insert_col = { this.Param.ISBN13, this.Param.BookName, this.Param.Author, this.Param.Publisher, this.Param.Price, newsavedMarc, this.etc1.Text, this.etc2.Text, this.Param.URL, v_grade, "1", mUserName, this.Param.tag056, this.Param.text008, date, mCompidx };
string Incmd = db.DB_INSERT(table_name, Insert_tbl, Insert_col);
PUB.log.Add("INSERT", string.Format("{0}({1},{2}) : {3}", mUserName, mCompidx, item.Status, Incmd));
long newIdx = db.DB_Send_CMD_Insert_GetIdx(Incmd);
if (newIdx > 0)
{
item.MarcIdx = newIdx.ToString();
}
}
else
{
string[] Edit_tbl = { "compidx", "marc", "marc_chk", "marc1", "marc_chk1", "비고1", "비고2", "url", "division", "008tag", "date", "user", "grade" };
string[] Edit_col = { mCompidx, newsavedMarc, "1", this.Param.OriginalMarc, "0", v_etc1, v_etc2, this.Param.URL, this.Param.tag056, this.Param.text008, date, mUserName, v_grade };
string[] Sear_tbl = { "idx", "compidx" };
string[] Sear_col = { item.MarcIdx, mCompidx };
if (string.IsNullOrEmpty(this.Param.ISBN13)) { MessageBox.Show("ISBN 데이터가 없습니다."); return; }
string U_cmd = db.More_Update(table_name, Edit_tbl, Edit_col, Sear_tbl, Sear_col);
PUB.log.Add("Update", string.Format("{0}({1},{2}) : {3}", mUserName, mCompidx, item.Status, U_cmd.Replace("\r", " ").Replace("\n", " ")));
Helper_DB.ExcuteNonQuery(U_cmd);
}
// 2. 객체 데이터 업데이트 및 시각적 상태 계산
item.Status = MarcRecordStatus.MyCompany;
item.BackColor = GetSaveDateColor(date);
// 3. 목록 인덱스 연동 업데이트 (Obj_List_Book)
string UpdateListIndex = string.Format("UPDATE `Obj_List_Book` SET `m_idx` = {0} WHERE `idx` = {1} AND `compidx` ={2};", item.MarcIdx, item.ListIdx, mCompidx);
Helper_DB.ExcuteNonQuery(UpdateListIndex);
// 4. BindingSource 갱신으로 UI 자동 업데이트
bs1.ResetCurrentItem();
MessageBox.Show("저장되었습니다!");
}
private void btn_FillBlank_Click(object sender, EventArgs e)
{
if (List_Book.CurrentRow == null) return;
int row = List_Book.CurrentRow.Index;
string ISBN = List_Book.Rows[row].Cells["ISBN13"].Value?.ToString();
if (string.IsNullOrEmpty(ISBN))
{
MessageBox.Show("ISBN이 존재하지않습니다!");
return;
}
var fb = new Marc_FillBlank();
for (int a = 0; a < bs1.Count; a++)
{
var item = bs1.List[a] as MarcBookItem;
if (item != null && item.Status == MarcRecordStatus.None)
{
var fbItem = new FillBlankItem
{
Idx = item.ListIdx,
Isbn = item.ISBN13 ?? "",
BookName = item.BookName ?? "",
Author = item.Author ?? "",
Publisher = item.BookComp ?? "",
Price = item.Pay ?? ""
};
fb.InitFillBlank(fbItem);
}
}
fb.ISBN = ISBN;
if (fb.ShowDialog() == DialogResult.OK)
{
String_Text st = new String_Text();
if (fb.FillBlankItems.Any(t => !string.IsNullOrEmpty(t.BookMarc)))
{
foreach (var fbItem in fb.FillBlankItems)
{
if (string.IsNullOrEmpty(fbItem.BookMarc)) continue;
int targetListIdx = int.Parse(fbItem.Idx);
foreach (MarcBookItem item in this.dataList)
{
if (item.ListIdx != null && Convert.ToInt32(item.ListIdx) == targetListIdx)
{
item.DbMarc = fbItem.BookMarc;
item.Status = MarcRecordStatus.NewFetched;
break;
}
}
}
}
else if (!string.IsNullOrEmpty(fb.SingleMarcResult))
{
// Update current Editor
marcEditorControl1.SetMarcString(fb.SingleMarcResult);
}
}
}
private void panel6_Paint(object sender, PaintEventArgs e)
{
}
} }
} }

View File

@@ -56,10 +56,10 @@
this.url = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.url = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.marc_idx = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.marc_idx = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.db_marc = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.db_marc = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.grade = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colCheck = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colCheck = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.user = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.user = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.SaveDate = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.SaveDate = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.grade = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.rb_Sort = new System.Windows.Forms.RadioButton(); this.rb_Sort = new System.Windows.Forms.RadioButton();
this.rb_Filter = new System.Windows.Forms.RadioButton(); this.rb_Filter = new System.Windows.Forms.RadioButton();
this.comboBox8 = new System.Windows.Forms.ComboBox(); this.comboBox8 = new System.Windows.Forms.ComboBox();
@@ -72,11 +72,9 @@
this.chkColCheck = new System.Windows.Forms.CheckBox(); this.chkColCheck = new System.Windows.Forms.CheckBox();
this.tbCustName = new System.Windows.Forms.Button(); this.tbCustName = new System.Windows.Forms.Button();
this.lbCustIDX = new System.Windows.Forms.Label(); this.lbCustIDX = new System.Windows.Forms.Label();
this.btCopy = new System.Windows.Forms.Button();
this.panel2 = new System.Windows.Forms.Panel();
this.marcEditorControl1 = new UniMarc.MarcEditorControl();
this.panel3 = new System.Windows.Forms.Panel(); this.panel3 = new System.Windows.Forms.Panel();
this.panel4 = new System.Windows.Forms.Panel(); this.panel4 = new System.Windows.Forms.Panel();
this.btFindISBN = new System.Windows.Forms.Button();
this.lbl_BookList = new System.Windows.Forms.Label(); this.lbl_BookList = new System.Windows.Forms.Label();
this.lbl_BookDate = new System.Windows.Forms.Label(); this.lbl_BookDate = new System.Windows.Forms.Label();
this.button1 = new System.Windows.Forms.Button(); this.button1 = new System.Windows.Forms.Button();
@@ -93,6 +91,23 @@
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.toolStripLabel1 = new System.Windows.Forms.ToolStripLabel(); this.toolStripLabel1 = new System.Windows.Forms.ToolStripLabel();
this.lbListIdx = new System.Windows.Forms.ToolStripLabel(); this.lbListIdx = new System.Windows.Forms.ToolStripLabel();
this.panel5 = new System.Windows.Forms.Panel();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.etc1 = new System.Windows.Forms.RichTextBox();
this.etc2 = new System.Windows.Forms.RichTextBox();
this.panel6 = new System.Windows.Forms.Panel();
this.radD = new System.Windows.Forms.RadioButton();
this.radC = new System.Windows.Forms.RadioButton();
this.radB = new System.Windows.Forms.RadioButton();
this.radA = new System.Windows.Forms.RadioButton();
this.lbl_SaveData = new System.Windows.Forms.TextBox();
this.button2 = new System.Windows.Forms.Button();
this.btNext = new System.Windows.Forms.Button();
this.btPrev = new System.Windows.Forms.Button();
this.btn_Save = new System.Windows.Forms.Button();
this.btn_FillBlank = new System.Windows.Forms.Button();
this.label6 = new System.Windows.Forms.Label();
this.marcEditorControl1 = new UniMarc.MarcEditorControl();
label31 = new System.Windows.Forms.Label(); label31 = new System.Windows.Forms.Label();
label30 = new System.Windows.Forms.Label(); label30 = new System.Windows.Forms.Label();
label33 = new System.Windows.Forms.Label(); label33 = new System.Windows.Forms.Label();
@@ -105,12 +120,14 @@
label27 = new System.Windows.Forms.Label(); label27 = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.List_Book)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.List_Book)).BeginInit();
this.panel1.SuspendLayout(); this.panel1.SuspendLayout();
this.panel2.SuspendLayout();
this.panel3.SuspendLayout(); this.panel3.SuspendLayout();
this.panel4.SuspendLayout(); this.panel4.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.bn1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.bn1)).BeginInit();
this.bn1.SuspendLayout(); this.bn1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.bs1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.bs1)).BeginInit();
this.panel5.SuspendLayout();
this.tableLayoutPanel1.SuspendLayout();
this.panel6.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// label31 // label31
@@ -211,10 +228,10 @@
this.url, this.url,
this.marc_idx, this.marc_idx,
this.db_marc, this.db_marc,
this.grade,
this.colCheck, this.colCheck,
this.user, this.user,
this.SaveDate}); this.SaveDate,
this.grade});
this.List_Book.Dock = System.Windows.Forms.DockStyle.Fill; this.List_Book.Dock = System.Windows.Forms.DockStyle.Fill;
this.List_Book.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically; this.List_Book.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
this.List_Book.Location = new System.Drawing.Point(0, 103); this.List_Book.Location = new System.Drawing.Point(0, 103);
@@ -351,24 +368,11 @@
this.db_marc.Visible = false; this.db_marc.Visible = false;
this.db_marc.Width = 125; this.db_marc.Width = 125;
// //
// grade
//
this.grade.DataPropertyName = "Grade";
dataGridViewCellStyle2.Format = "N0";
dataGridViewCellStyle2.NullValue = null;
this.grade.DefaultCellStyle = dataGridViewCellStyle2;
this.grade.HeaderText = "등급";
this.grade.MinimumWidth = 6;
this.grade.Name = "grade";
this.grade.ReadOnly = true;
this.grade.Visible = false;
this.grade.Width = 50;
//
// colCheck // colCheck
// //
this.colCheck.DataPropertyName = "ColCheck"; this.colCheck.DataPropertyName = "ColCheck";
dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
this.colCheck.DefaultCellStyle = dataGridViewCellStyle3; this.colCheck.DefaultCellStyle = dataGridViewCellStyle2;
this.colCheck.HeaderText = "V"; this.colCheck.HeaderText = "V";
this.colCheck.MinimumWidth = 6; this.colCheck.MinimumWidth = 6;
this.colCheck.Name = "colCheck"; this.colCheck.Name = "colCheck";
@@ -396,6 +400,19 @@
this.SaveDate.Visible = false; this.SaveDate.Visible = false;
this.SaveDate.Width = 125; this.SaveDate.Width = 125;
// //
// grade
//
this.grade.DataPropertyName = "Grade";
dataGridViewCellStyle3.Format = "N0";
dataGridViewCellStyle3.NullValue = null;
this.grade.DefaultCellStyle = dataGridViewCellStyle3;
this.grade.HeaderText = "등급";
this.grade.MinimumWidth = 6;
this.grade.Name = "grade";
this.grade.ReadOnly = true;
this.grade.Visible = false;
this.grade.Width = 50;
//
// rb_Sort // rb_Sort
// //
this.rb_Sort.Location = new System.Drawing.Point(68, 4); this.rb_Sort.Location = new System.Drawing.Point(68, 4);
@@ -508,9 +525,9 @@
// //
this.tbCustName.BackColor = System.Drawing.Color.LightGray; this.tbCustName.BackColor = System.Drawing.Color.LightGray;
this.tbCustName.Font = new System.Drawing.Font("굴림체", 14.25F, System.Drawing.FontStyle.Bold); this.tbCustName.Font = new System.Drawing.Font("굴림체", 14.25F, System.Drawing.FontStyle.Bold);
this.tbCustName.Location = new System.Drawing.Point(163, 35); this.tbCustName.Location = new System.Drawing.Point(140, 35);
this.tbCustName.Name = "tbCustName"; this.tbCustName.Name = "tbCustName";
this.tbCustName.Size = new System.Drawing.Size(314, 27); this.tbCustName.Size = new System.Drawing.Size(337, 27);
this.tbCustName.TabIndex = 33; this.tbCustName.TabIndex = 33;
this.tbCustName.Text = " "; this.tbCustName.Text = " ";
this.tbCustName.UseVisualStyleBackColor = false; this.tbCustName.UseVisualStyleBackColor = false;
@@ -527,37 +544,6 @@
this.lbCustIDX.Text = " "; this.lbCustIDX.Text = " ";
this.lbCustIDX.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.lbCustIDX.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
// //
// btCopy
//
this.btCopy.ForeColor = System.Drawing.Color.Red;
this.btCopy.Location = new System.Drawing.Point(1512, 255);
this.btCopy.Name = "btCopy";
this.btCopy.Size = new System.Drawing.Size(77, 23);
this.btCopy.TabIndex = 321;
this.btCopy.Text = "복 사";
this.btCopy.UseVisualStyleBackColor = true;
this.btCopy.Click += new System.EventHandler(this.button1_Click);
//
// panel2
//
this.panel2.Controls.Add(this.marcEditorControl1);
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel2.Location = new System.Drawing.Point(555, 0);
this.panel2.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(1083, 658);
this.panel2.TabIndex = 325;
//
// marcEditorControl1
//
this.marcEditorControl1.BackColor = System.Drawing.Color.Gray;
this.marcEditorControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.marcEditorControl1.Font = new System.Drawing.Font("돋움", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.marcEditorControl1.Location = new System.Drawing.Point(0, 0);
this.marcEditorControl1.Name = "marcEditorControl1";
this.marcEditorControl1.Size = new System.Drawing.Size(1083, 658);
this.marcEditorControl1.TabIndex = 0;
//
// panel3 // panel3
// //
this.panel3.BackColor = System.Drawing.Color.White; this.panel3.BackColor = System.Drawing.Color.White;
@@ -575,6 +561,7 @@
// //
// panel4 // panel4
// //
this.panel4.Controls.Add(this.btFindISBN);
this.panel4.Controls.Add(this.lbl_BookList); this.panel4.Controls.Add(this.lbl_BookList);
this.panel4.Controls.Add(this.lbl_BookDate); this.panel4.Controls.Add(this.lbl_BookDate);
this.panel4.Controls.Add(this.tbCustName); this.panel4.Controls.Add(this.tbCustName);
@@ -587,13 +574,23 @@
this.panel4.Size = new System.Drawing.Size(555, 68); this.panel4.Size = new System.Drawing.Size(555, 68);
this.panel4.TabIndex = 327; this.panel4.TabIndex = 327;
// //
// btFindISBN
//
this.btFindISBN.Location = new System.Drawing.Point(483, 6);
this.btFindISBN.Name = "btFindISBN";
this.btFindISBN.Size = new System.Drawing.Size(66, 27);
this.btFindISBN.TabIndex = 327;
this.btFindISBN.Text = "ISBN조회";
this.btFindISBN.UseVisualStyleBackColor = true;
this.btFindISBN.Click += new System.EventHandler(this.btFindISBN_Click);
//
// lbl_BookList // lbl_BookList
// //
this.lbl_BookList.BackColor = System.Drawing.Color.LightGray; this.lbl_BookList.BackColor = System.Drawing.Color.LightGray;
this.lbl_BookList.Font = new System.Drawing.Font("굴림체", 14.25F, System.Drawing.FontStyle.Bold); this.lbl_BookList.Font = new System.Drawing.Font("굴림체", 14.25F, System.Drawing.FontStyle.Bold);
this.lbl_BookList.Location = new System.Drawing.Point(163, 6); this.lbl_BookList.Location = new System.Drawing.Point(140, 6);
this.lbl_BookList.Name = "lbl_BookList"; this.lbl_BookList.Name = "lbl_BookList";
this.lbl_BookList.Size = new System.Drawing.Size(383, 27); this.lbl_BookList.Size = new System.Drawing.Size(337, 27);
this.lbl_BookList.TabIndex = 326; this.lbl_BookList.TabIndex = 326;
this.lbl_BookList.Text = " "; this.lbl_BookList.Text = " ";
// //
@@ -603,15 +600,16 @@
this.lbl_BookDate.Font = new System.Drawing.Font("굴림체", 14.25F, System.Drawing.FontStyle.Bold); this.lbl_BookDate.Font = new System.Drawing.Font("굴림체", 14.25F, System.Drawing.FontStyle.Bold);
this.lbl_BookDate.Location = new System.Drawing.Point(6, 6); this.lbl_BookDate.Location = new System.Drawing.Point(6, 6);
this.lbl_BookDate.Name = "lbl_BookDate"; this.lbl_BookDate.Name = "lbl_BookDate";
this.lbl_BookDate.Size = new System.Drawing.Size(151, 27); this.lbl_BookDate.Size = new System.Drawing.Size(128, 27);
this.lbl_BookDate.TabIndex = 325; this.lbl_BookDate.TabIndex = 325;
this.lbl_BookDate.Text = " "; this.lbl_BookDate.Text = "0000-00-00";
this.lbl_BookDate.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
// //
// button1 // button1
// //
this.button1.Location = new System.Drawing.Point(6, 35); this.button1.Location = new System.Drawing.Point(6, 35);
this.button1.Name = "button1"; this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(151, 27); this.button1.Size = new System.Drawing.Size(128, 27);
this.button1.TabIndex = 324; this.button1.TabIndex = 324;
this.button1.Text = "다시불러오기"; this.button1.Text = "다시불러오기";
this.button1.UseVisualStyleBackColor = true; this.button1.UseVisualStyleBackColor = true;
@@ -682,7 +680,6 @@
// //
this.bindingNavigatorPositionItem.AccessibleName = "위치"; this.bindingNavigatorPositionItem.AccessibleName = "위치";
this.bindingNavigatorPositionItem.AutoSize = false; this.bindingNavigatorPositionItem.AutoSize = false;
this.bindingNavigatorPositionItem.Font = new System.Drawing.Font("맑은 고딕", 9F);
this.bindingNavigatorPositionItem.Name = "bindingNavigatorPositionItem"; this.bindingNavigatorPositionItem.Name = "bindingNavigatorPositionItem";
this.bindingNavigatorPositionItem.Size = new System.Drawing.Size(50, 23); this.bindingNavigatorPositionItem.Size = new System.Drawing.Size(50, 23);
this.bindingNavigatorPositionItem.Text = "0"; this.bindingNavigatorPositionItem.Text = "0";
@@ -729,15 +726,212 @@
this.lbListIdx.Size = new System.Drawing.Size(14, 24); this.lbListIdx.Size = new System.Drawing.Size(14, 24);
this.lbListIdx.Text = "0"; this.lbListIdx.Text = "0";
// //
// panel5
//
this.panel5.Controls.Add(this.tableLayoutPanel1);
this.panel5.Controls.Add(this.panel6);
this.panel5.Dock = System.Windows.Forms.DockStyle.Right;
this.panel5.Location = new System.Drawing.Point(1372, 0);
this.panel5.Name = "panel5";
this.panel5.Size = new System.Drawing.Size(266, 658);
this.panel5.TabIndex = 326;
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.ColumnCount = 1;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel1.Controls.Add(this.etc1, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.etc2, 0, 1);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 308);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 2;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(266, 350);
this.tableLayoutPanel1.TabIndex = 0;
//
// etc1
//
this.etc1.BackColor = System.Drawing.SystemColors.ScrollBar;
this.etc1.Dock = System.Windows.Forms.DockStyle.Fill;
this.etc1.Font = new System.Drawing.Font("굴림체", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.etc1.Location = new System.Drawing.Point(3, 3);
this.etc1.Name = "etc1";
this.etc1.Size = new System.Drawing.Size(260, 169);
this.etc1.TabIndex = 32;
this.etc1.Text = "Remark1";
//
// etc2
//
this.etc2.BackColor = System.Drawing.SystemColors.ScrollBar;
this.etc2.Dock = System.Windows.Forms.DockStyle.Fill;
this.etc2.Font = new System.Drawing.Font("굴림체", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.etc2.Location = new System.Drawing.Point(3, 178);
this.etc2.Name = "etc2";
this.etc2.Size = new System.Drawing.Size(260, 169);
this.etc2.TabIndex = 32;
this.etc2.Text = "Remark2";
//
// panel6
//
this.panel6.Controls.Add(this.radD);
this.panel6.Controls.Add(this.radC);
this.panel6.Controls.Add(this.radB);
this.panel6.Controls.Add(this.radA);
this.panel6.Controls.Add(this.lbl_SaveData);
this.panel6.Controls.Add(this.button2);
this.panel6.Controls.Add(this.btNext);
this.panel6.Controls.Add(this.btPrev);
this.panel6.Controls.Add(this.btn_Save);
this.panel6.Controls.Add(this.btn_FillBlank);
this.panel6.Controls.Add(this.label6);
this.panel6.Dock = System.Windows.Forms.DockStyle.Top;
this.panel6.Location = new System.Drawing.Point(0, 0);
this.panel6.Name = "panel6";
this.panel6.Size = new System.Drawing.Size(266, 308);
this.panel6.TabIndex = 1;
this.panel6.Paint += new System.Windows.Forms.PaintEventHandler(this.panel6_Paint);
//
// radD
//
this.radD.AutoSize = true;
this.radD.Font = new System.Drawing.Font("Tahoma", 14F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.radD.Location = new System.Drawing.Point(194, 12);
this.radD.Name = "radD";
this.radD.Size = new System.Drawing.Size(42, 27);
this.radD.TabIndex = 323;
this.radD.TabStop = true;
this.radD.Text = "D";
this.radD.UseVisualStyleBackColor = true;
//
// radC
//
this.radC.AutoSize = true;
this.radC.Font = new System.Drawing.Font("Tahoma", 14F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.radC.Location = new System.Drawing.Point(147, 12);
this.radC.Name = "radC";
this.radC.Size = new System.Drawing.Size(41, 27);
this.radC.TabIndex = 322;
this.radC.TabStop = true;
this.radC.Text = "C";
this.radC.UseVisualStyleBackColor = true;
//
// radB
//
this.radB.AutoSize = true;
this.radB.Font = new System.Drawing.Font("Tahoma", 14F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.radB.Location = new System.Drawing.Point(100, 12);
this.radB.Name = "radB";
this.radB.Size = new System.Drawing.Size(41, 27);
this.radB.TabIndex = 321;
this.radB.TabStop = true;
this.radB.Text = "B";
this.radB.UseVisualStyleBackColor = true;
//
// radA
//
this.radA.AutoSize = true;
this.radA.Font = new System.Drawing.Font("Tahoma", 14F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.radA.Location = new System.Drawing.Point(53, 12);
this.radA.Name = "radA";
this.radA.Size = new System.Drawing.Size(41, 27);
this.radA.TabIndex = 320;
this.radA.TabStop = true;
this.radA.Text = "A";
this.radA.UseVisualStyleBackColor = true;
//
// lbl_SaveData
//
this.lbl_SaveData.BackColor = System.Drawing.Color.SkyBlue;
this.lbl_SaveData.Font = new System.Drawing.Font("굴림체", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.lbl_SaveData.ForeColor = System.Drawing.Color.PaleTurquoise;
this.lbl_SaveData.Location = new System.Drawing.Point(11, 49);
this.lbl_SaveData.Multiline = true;
this.lbl_SaveData.Name = "lbl_SaveData";
this.lbl_SaveData.Size = new System.Drawing.Size(241, 123);
this.lbl_SaveData.TabIndex = 319;
this.lbl_SaveData.Text = "[] []";
//
// button2
//
this.button2.Location = new System.Drawing.Point(11, 230);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(110, 33);
this.button2.TabIndex = 231;
this.button2.Text = "유사본";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// btNext
//
this.btNext.Location = new System.Drawing.Point(147, 269);
this.btNext.Name = "btNext";
this.btNext.Size = new System.Drawing.Size(107, 33);
this.btNext.TabIndex = 230;
this.btNext.Text = "다 음(F8)";
this.btNext.UseVisualStyleBackColor = true;
this.btNext.Click += new System.EventHandler(this.btNext_Click);
//
// btPrev
//
this.btPrev.Location = new System.Drawing.Point(11, 269);
this.btPrev.Name = "btPrev";
this.btPrev.Size = new System.Drawing.Size(110, 33);
this.btPrev.TabIndex = 229;
this.btPrev.Text = "이 전(F7)";
this.btPrev.UseVisualStyleBackColor = true;
this.btPrev.Click += new System.EventHandler(this.btPrev_Click);
//
// btn_Save
//
this.btn_Save.Location = new System.Drawing.Point(147, 230);
this.btn_Save.Name = "btn_Save";
this.btn_Save.Size = new System.Drawing.Size(107, 33);
this.btn_Save.TabIndex = 215;
this.btn_Save.Text = "저장(F9)";
this.btn_Save.UseVisualStyleBackColor = true;
this.btn_Save.Click += new System.EventHandler(this.btn_Save_Click);
//
// btn_FillBlank
//
this.btn_FillBlank.Location = new System.Drawing.Point(11, 178);
this.btn_FillBlank.Name = "btn_FillBlank";
this.btn_FillBlank.Size = new System.Drawing.Size(243, 46);
this.btn_FillBlank.TabIndex = 228;
this.btn_FillBlank.Text = "미소장 마크 코리스\r\n칸채우기";
this.btn_FillBlank.UseVisualStyleBackColor = true;
this.btn_FillBlank.Click += new System.EventHandler(this.btn_FillBlank_Click);
//
// label6
//
this.label6.AutoSize = true;
this.label6.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.label6.Location = new System.Drawing.Point(12, 22);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(31, 12);
this.label6.TabIndex = 223;
this.label6.Text = "등급";
//
// marcEditorControl1
//
this.marcEditorControl1.BackColor = System.Drawing.Color.Gray;
this.marcEditorControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.marcEditorControl1.Font = new System.Drawing.Font("돋움", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.marcEditorControl1.Location = new System.Drawing.Point(555, 0);
this.marcEditorControl1.Name = "marcEditorControl1";
this.marcEditorControl1.Size = new System.Drawing.Size(817, 658);
this.marcEditorControl1.TabIndex = 0;
//
// Marc2 // Marc2
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.SkyBlue; this.BackColor = System.Drawing.Color.SkyBlue;
this.ClientSize = new System.Drawing.Size(1638, 658); this.ClientSize = new System.Drawing.Size(1638, 658);
this.Controls.Add(this.panel2); this.Controls.Add(this.marcEditorControl1);
this.Controls.Add(this.panel5);
this.Controls.Add(this.panel3); this.Controls.Add(this.panel3);
this.Controls.Add(this.btCopy);
this.KeyPreview = true; this.KeyPreview = true;
this.Name = "Marc2"; this.Name = "Marc2";
this.Text = "마크 작성(1)"; this.Text = "마크 작성(1)";
@@ -746,7 +940,6 @@
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Marc_KeyDown); this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Marc_KeyDown);
((System.ComponentModel.ISupportInitialize)(this.List_Book)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.List_Book)).EndInit();
this.panel1.ResumeLayout(false); this.panel1.ResumeLayout(false);
this.panel2.ResumeLayout(false);
this.panel3.ResumeLayout(false); this.panel3.ResumeLayout(false);
this.panel3.PerformLayout(); this.panel3.PerformLayout();
this.panel4.ResumeLayout(false); this.panel4.ResumeLayout(false);
@@ -754,6 +947,10 @@
this.bn1.ResumeLayout(false); this.bn1.ResumeLayout(false);
this.bn1.PerformLayout(); this.bn1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.bs1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.bs1)).EndInit();
this.panel5.ResumeLayout(false);
this.tableLayoutPanel1.ResumeLayout(false);
this.panel6.ResumeLayout(false);
this.panel6.PerformLayout();
this.ResumeLayout(false); this.ResumeLayout(false);
} }
@@ -773,26 +970,9 @@
private System.Windows.Forms.Button btn_FilterReturn; private System.Windows.Forms.Button btn_FilterReturn;
private System.Windows.Forms.DataGridViewTextBoxColumn list_idx;
private System.Windows.Forms.DataGridViewTextBoxColumn ISBN13;
private System.Windows.Forms.DataGridViewTextBoxColumn num;
private System.Windows.Forms.DataGridViewTextBoxColumn book_name;
private System.Windows.Forms.DataGridViewTextBoxColumn author;
private System.Windows.Forms.DataGridViewTextBoxColumn book_comp;
private System.Windows.Forms.DataGridViewTextBoxColumn count;
private System.Windows.Forms.DataGridViewTextBoxColumn pay;
private System.Windows.Forms.DataGridViewTextBoxColumn url;
private System.Windows.Forms.DataGridViewTextBoxColumn marc_idx;
private System.Windows.Forms.DataGridViewTextBoxColumn db_marc;
private System.Windows.Forms.DataGridViewTextBoxColumn grade;
private System.Windows.Forms.DataGridViewTextBoxColumn colCheck;
private System.Windows.Forms.DataGridViewTextBoxColumn user;
private System.Windows.Forms.DataGridViewTextBoxColumn SaveDate;
private System.Windows.Forms.Button btn_CopySelect; private System.Windows.Forms.Button btn_CopySelect;
public System.Windows.Forms.Button tbCustName; public System.Windows.Forms.Button tbCustName;
public System.Windows.Forms.Label lbCustIDX; public System.Windows.Forms.Label lbCustIDX;
private System.Windows.Forms.Button btCopy;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.Panel panel3; private System.Windows.Forms.Panel panel3;
private System.Windows.Forms.Button button1; private System.Windows.Forms.Button button1;
public MarcEditorControl marcEditorControl1; public MarcEditorControl marcEditorControl1;
@@ -812,5 +992,37 @@
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
private System.Windows.Forms.ToolStripLabel toolStripLabel1; private System.Windows.Forms.ToolStripLabel toolStripLabel1;
private System.Windows.Forms.ToolStripLabel lbListIdx; private System.Windows.Forms.ToolStripLabel lbListIdx;
private System.Windows.Forms.Button btFindISBN;
private System.Windows.Forms.DataGridViewTextBoxColumn list_idx;
private System.Windows.Forms.DataGridViewTextBoxColumn ISBN13;
private System.Windows.Forms.DataGridViewTextBoxColumn num;
private System.Windows.Forms.DataGridViewTextBoxColumn book_name;
private System.Windows.Forms.DataGridViewTextBoxColumn author;
private System.Windows.Forms.DataGridViewTextBoxColumn book_comp;
private System.Windows.Forms.DataGridViewTextBoxColumn count;
private System.Windows.Forms.DataGridViewTextBoxColumn pay;
private System.Windows.Forms.DataGridViewTextBoxColumn url;
private System.Windows.Forms.DataGridViewTextBoxColumn marc_idx;
private System.Windows.Forms.DataGridViewTextBoxColumn db_marc;
private System.Windows.Forms.DataGridViewTextBoxColumn colCheck;
private System.Windows.Forms.DataGridViewTextBoxColumn user;
private System.Windows.Forms.DataGridViewTextBoxColumn SaveDate;
private System.Windows.Forms.DataGridViewTextBoxColumn grade;
private System.Windows.Forms.Panel panel5;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
public System.Windows.Forms.RichTextBox etc1;
public System.Windows.Forms.RichTextBox etc2;
private System.Windows.Forms.Panel panel6;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Button btNext;
private System.Windows.Forms.Button btPrev;
private System.Windows.Forms.Button btn_Save;
private System.Windows.Forms.Button btn_FillBlank;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.TextBox lbl_SaveData;
private System.Windows.Forms.RadioButton radA;
private System.Windows.Forms.RadioButton radC;
private System.Windows.Forms.RadioButton radB;
private System.Windows.Forms.RadioButton radD;
} }
} }

View File

@@ -180,9 +180,6 @@
<metadata name="db_marc.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="db_marc.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="grade.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colCheck.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="colCheck.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
@@ -192,11 +189,14 @@
<metadata name="SaveDate.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="SaveDate.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="grade.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bn1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="bn1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>273, 17</value> <value>218, 13</value>
</metadata> </metadata>
<metadata name="bs1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="bs1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>134, 17</value> <value>108, 13</value>
</metadata> </metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="bindingNavigatorMoveFirstItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="bindingNavigatorMoveFirstItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">

View File

@@ -5,6 +5,14 @@ using System.Text;
namespace UniMarc namespace UniMarc
{ {
public enum MarcRecordStatus
{
None, // No record in DB (Red)
OtherCompany, // Found but not ours (Orange)
MyCompany, // Found and ours (Black/Blue etc.)
NewFetched // Temporary status after external search (Blue)
}
public class MarcBookItem public class MarcBookItem
{ {
public string ListIdx { get; set; } public string ListIdx { get; set; }
@@ -18,12 +26,62 @@ namespace UniMarc
public string Url { get; set; } public string Url { get; set; }
public string MarcIdx { get; set; } public string MarcIdx { get; set; }
public string DbMarc { get; set; } public string DbMarc { get; set; }
public string Grade { get; set; } private MarcRecordStatus _status = MarcRecordStatus.None;
public MarcRecordStatus Status
{
get => _status;
set { _status = value; ApplySyncColor(); }
}
private string _grade = "";
public string Grade
{
get => _grade;
set { _grade = value; ApplySyncColor(); }
}
public string ColCheck { get; set; } = "V"; public string ColCheck { get; set; } = "V";
public string User { get; set; } public string User { get; set; }
public string SaveDate { get; set; } public string SaveDate { get; set; }
public System.Drawing.Color ForeColor { get; set; } = System.Drawing.Color.Black; public System.Drawing.Color ForeColor { get; set; } = System.Drawing.Color.Black;
public System.Drawing.Color BackColor { get; set; } = System.Drawing.Color.White; public System.Drawing.Color BackColor { get; set; } = System.Drawing.Color.White;
private void ApplySyncColor()
{
if (Status == MarcRecordStatus.None)
{
ForeColor = System.Drawing.Color.Red;
}
else if (Status == MarcRecordStatus.OtherCompany)
{
ForeColor = System.Drawing.Color.Orange;
}
else if (Status == MarcRecordStatus.NewFetched)
{
ForeColor = System.Drawing.Color.Blue;
}
else if (Status == MarcRecordStatus.MyCompany)
{
switch (Grade)
{
case "0": // A
ForeColor = System.Drawing.Color.Blue;
break;
case "1": // B
ForeColor = System.Drawing.Color.Black;
break;
case "2": // C
ForeColor = System.Drawing.Color.Gray;
break;
//case "3": // D
// ForeColor = System.Drawing.Color.DarkViolet;
// break;
default:
ForeColor = System.Drawing.Color.DarkViolet;
break;
}
}
}
} }
} }

View File

@@ -375,8 +375,8 @@ namespace UniMarc
private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e) private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{ {
int row = e.RowIndex; if (e.RowIndex < 0) return;
SelectMarc(row); SelectMarc(e.RowIndex);
} }
void SelectMarc(int row) void SelectMarc(int row)

File diff suppressed because it is too large Load Diff

View File

@@ -5,6 +5,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Drawing; using System.Drawing;
using System.Linq; using System.Linq;
using System.Net.Sockets;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using System.Web.UI.WebControls.WebParts; using System.Web.UI.WebControls.WebParts;
using System.Windows.Forms; using System.Windows.Forms;
@@ -35,28 +36,6 @@ namespace UniMarc
String_Text st = new String_Text(); String_Text st = new String_Text();
string l_idx = string.Empty; string l_idx = string.Empty;
string c_idx = string.Empty; string c_idx = string.Empty;
MacEditorParameter Param = null;
public event EventHandler FillBlankClicked;
public event EventHandler PrevButton;
public event EventHandler NextButton;
public event EventHandler CloseButton;
public void SetButtonKolist(bool enable)
{
btn_FillBlank.Enabled = enable;
btn_FillBlank.ForeColor = enable ? Color.Black : Color.DimGray;
}
public void SetButtonPrev(bool enable)
{
btPrev.Enabled = enable;
btPrev.ForeColor = enable ? Color.Black : Color.DimGray;
}
public void SetButtonNext(bool enable)
{
btNext.Enabled = enable;
btNext.ForeColor = enable ? Color.Black : Color.DimGray;
}
public MarcEditorControl() public MarcEditorControl()
{ {
@@ -101,6 +80,37 @@ namespace UniMarc
#endregion #endregion
} }
void ShowImage(string isbn)
{
try
{
//픽쳐박스이미지 업데이트
if (isbn.isEmpty() == false)
{
string isbn3 = isbn.Substring(isbn.Length - 3, 3);
string tFilePath = string.Format("https://contents.kyobobook.co.kr/sih/fit-in/458x0/pdt/{0}.jpg", isbn);
// tFilePath = $"https://www.aladin.co.kr/shop/wproduct.aspx?ItemId={isbn}&copyPaper=1&ttbkey=ttbgloriabook1512001&start=api";
pictureBox1.ImageLocation = tFilePath;
pictureBox1.Tag = tFilePath;
}
else
{
pictureBox1.Image = null;
pictureBox1.ImageLocation = null;
}
}
catch
{
pictureBox1.Image = null;
pictureBox1.ImageLocation = null;
pictureBox1.Tag = null;
}
finally
{
//pictureBox1.Tag = _param.URL;
}
}
/// <summary> /// <summary>
/// 입력된 자료를 표시합니다. /// 입력된 자료를 표시합니다.
/// </summary> /// </summary>
@@ -112,64 +122,46 @@ namespace UniMarc
/// <param name="user"></param> /// <param name="user"></param>
/// <param name="saveDate"></param> /// <param name="saveDate"></param>
/// <param name="listIdx"></param> /// <param name="listIdx"></param>
public void LoadBookData(string dbMarc, MacEditorParameter _param) public void LoadBookData(string dbMarc,string isbn = "",string defaultMarc="")
{ {
mLoadCompleted = false; mLoadCompleted = false;
Param = _param; richTextBox1.Text = "";
lbl_SaveData.Text = $"[{Param.User}] [{Param.SaveDate}]";
lbl_ISBN.Text = $"[{Param.ISBN13}]";
LoadMarc(dbMarc); //여기에서도 008을 설정한다 LoadMarc(dbMarc); //여기에서도 008을 설정한다
try string extractedIsbn = isbn;
if (extractedIsbn.isEmpty())
{ {
//픽쳐박스이미지 업데이트 //마크데이터에서 ISBN(020a)을 찾아서 설정한다.
string isbn = _param.ISBN13; string[] isbnTags = st.Take_Tag(dbMarc, new string[] { "020a" });
string isbn3 = isbn.Substring(isbn.Length - 3, 3); if (isbnTags.Length > 0 && !isbnTags[0].isEmpty())
string tFilePath = string.Format("https://contents.kyobobook.co.kr/sih/fit-in/458x0/pdt/{0}.jpg", isbn); {
pictureBox1.ImageLocation = tFilePath; extractedIsbn = isbnTags[0].Trim();
} }
catch
{
pictureBox1.Image = null;
pictureBox1.ImageLocation = null;
}
finally
{
pictureBox1.Tag = _param.URL;
} }
//그레이드값이 없다면 비활성화. lbl_ISBN.Text = $"{extractedIsbn}";
cb_grade.Enabled = Param.Grade != null; if (!extractedIsbn.isEmpty())
label6.Enabled = cb_grade.Enabled;
richTextBox1.Text = "";
bool check_Marc = click_Marc(dbMarc); //여기안에서 또 008을 설정한다
if (!check_Marc)
{ {
richTextBox1.Text = Make_Empty(); lbl_ISBN.Tag = extractedIsbn;
} }
else else
{ {
etc1.Text = Param.Remark1; lbl_ISBN.Tag = null;
etc2.Text = Param.Remark2;
//ReadRemark();
} }
ShowImage(extractedIsbn);
bool check_Marc = click_Marc(dbMarc); //여기안에서 또 008을 설정한다
if (!check_Marc)
{
richTextBox1.Text = defaultMarc;
}
Create_008(); Create_008();
st.Color_change("▼", richTextBox1); st.Color_change("▼", richTextBox1);
st.Color_change("▲", richTextBox1); st.Color_change("▲", richTextBox1);
//자료의 등급 다시 선택
if (int.TryParse(this.Param.Grade, out int gradeNo) == false)
gradeNo = 2;
cb_grade.SelectedIndex = gradeNo;
mLoadCompleted = true; mLoadCompleted = true;
} }
@@ -222,15 +214,15 @@ namespace UniMarc
} }
if (e.KeyCode == Keys.F9) //if (e.KeyCode == Keys.F9)
SaveGrade(Keys.F9); // SaveGrade(Keys.F9);
else if (e.KeyCode == Keys.F10) //else if (e.KeyCode == Keys.F10)
SaveGrade(Keys.F10); // SaveGrade(Keys.F10);
else if (e.KeyCode == Keys.F11) //else if (e.KeyCode == Keys.F11)
SaveGrade(Keys.F11); // SaveGrade(Keys.F11);
else if (e.KeyCode == Keys.F12) //else if (e.KeyCode == Keys.F12)
SaveGrade(Keys.F12); // SaveGrade(Keys.F12);
else if (e.KeyCode == Keys.F3) if (e.KeyCode == Keys.F3)
{ {
rt.SelectionColor = Color.Blue; rt.SelectionColor = Color.Blue;
rt.SelectedText = "▼"; rt.SelectedText = "▼";
@@ -242,37 +234,42 @@ namespace UniMarc
rt.SelectedText = "▲"; rt.SelectedText = "▲";
rt.SelectionColor = rt.ForeColor; rt.SelectionColor = rt.ForeColor;
} }
else if (e.KeyCode == Keys.F8) //next
btNext.PerformClick();
else if (e.KeyCode == Keys.F7) //prev
btPrev.PerformClick();
} }
///// <summary>
///// F9~F12로 등급별 저장
///// </summary>
///// <param name="key">F9~F12</param>
//private void SaveGrade(Keys key)
//{
// switch (key)
// {
// case Keys.F9:
// cb_grade.SelectedItem = "A (F9)";
// Btn_Save_Click(null, null);
// break;
// case Keys.F10:
// cb_grade.SelectedItem = "B (F10)";
// Btn_Save_Click(null, null);
// break;
// case Keys.F11:
// cb_grade.SelectedItem = "C (F11)";
// Btn_Save_Click(null, null);
// break;
// case Keys.F12:
// cb_grade.SelectedItem = "D (F12)";
// Btn_Save_Click(null, null);
// break;
// }
//}
/// <summary> /// <summary>
/// F9~F12로 등급별 저장 /// 마크문자열을 반환 합니다
/// </summary> /// </summary>
/// <param name="key">F9~F12</param> /// <returns></returns>
private void SaveGrade(Keys key) public string MakeMarcString()
{ {
switch (key) return st.made_Ori_marc(richTextBox1).Replace(@"\", "₩");
{
case Keys.F9:
cb_grade.SelectedItem = "A (F9)";
Btn_Save_Click(null, null);
break;
case Keys.F10:
cb_grade.SelectedItem = "B (F10)";
Btn_Save_Click(null, null);
break;
case Keys.F11:
cb_grade.SelectedItem = "C (F11)";
Btn_Save_Click(null, null);
break;
case Keys.F12:
cb_grade.SelectedItem = "D (F12)";
Btn_Save_Click(null, null);
break;
}
} }
private void etc_KeyDown(object sender, KeyEventArgs e) private void etc_KeyDown(object sender, KeyEventArgs e)
@@ -301,7 +298,11 @@ namespace UniMarc
} }
private void Btn_Memo_Click(object sender, EventArgs e) private void Btn_Memo_Click(object sender, EventArgs e)
{ {
Marc_memo memo = new Marc_memo(this); Marc_memo memo = new Marc_memo();
memo.OnSave += (s1, e1) =>
{
this.richTextBox1.Text = e1.Data;
};
memo.StartPosition = FormStartPosition.Manual; memo.StartPosition = FormStartPosition.Manual;
memo.TopMost = true; memo.TopMost = true;
memo.Location = new Point(1018, 8); memo.Location = new Point(1018, 8);
@@ -318,7 +319,7 @@ namespace UniMarc
private void Btn_preview_Click(object sender, EventArgs e) private void Btn_preview_Click(object sender, EventArgs e)
{ {
var mp = new Marc_Preview(); var mp = new Marc_Preview();
mp.isbn = Param.ISBN13; mp.isbn = lbl_ISBN.Text.Trim();// Param.ISBN13;
mp.richTextBox1.Text = richTextBox1.Text; mp.richTextBox1.Text = richTextBox1.Text;
mp.ButtonSave += (s, ev) => mp.ButtonSave += (s, ev) =>
{ {
@@ -327,74 +328,8 @@ namespace UniMarc
}; };
mp.Show(); mp.Show();
} }
public class BookSavedEventArgs : EventArgs
{
public string SaveDate { get; set; }
public string DBMarc { get; set; }
public MacEditorParameter Param { get; set; }
}
public event EventHandler<BookSavedEventArgs> BookSaved;
private void Btn_Save_Click(object sender, EventArgs e)
{
if (Param.NewMake == false && string.IsNullOrEmpty(Param.ISBN13))
{
MessageBox.Show("마크가 선택되지않았습니다.");
return;
}
int TabIndex = tabControl1.SelectedIndex;
if (TabIndex == 1)
{
MessageBox.Show("[칸채우기]가 아닌 [마크 편집] 탭에서 저장해주세요!");
return;
}
string BaseText = richTextBox1.Text.Replace("▲▲", "▲").Replace("▼▼", "▼");
string lblisbn = Param.ISBN13; // lbl_ISBN.Text.Replace("[", "").Replace("]", "");
if (!BaseText.EndsWith("\n"))
BaseText += "\n";
if (!isPass(BaseText))
{
MessageBox.Show("입력된 마크의 상태를 확인해주세요.");
return;
}
//ISBN이 변경되었다면 저장하지 못하게 한다 (경고 후 저장 가능하게 한다 26010?)
if (BaseText.IndexOf(lblisbn) < 0)
{
var dlg = UTIL.MsgQ("저장된 ISBN이 마크데이터에 없습니다.\nISBN값이 변경되었습니다.\n그래도 저장 할까요?");
if (dlg != DialogResult.Yes)
return;
}
string tag056 = Tag056();
string date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
string orimarc = st.made_Ori_marc(richTextBox1).Replace(@"\", "₩");
// 필수태그 확인
if (!isMustTag(orimarc))
{
richTextBox1.Text = BaseText;
return;
}
this.Param.Grade = cb_grade.SelectedIndex.ToString();
this.Param.Remark1 = etc1.Text;
this.Param.Remark2 = etc2.Text;
this.Param.text008 = this.text008.Text.Trim();
this.Param.tag056 = tag056;
// Raise Event to Update List_Book in Parent
BookSaved?.Invoke(this, new BookSavedEventArgs
{
SaveDate = date,
DBMarc = orimarc,
Param = this.Param
});
}
#region Save_Click_Sub #region Save_Click_Sub
@@ -404,7 +339,7 @@ namespace UniMarc
/// </summary> /// </summary>
/// <param name="BaseData">richTextBox에 들어가있는 텍스트</param> /// <param name="BaseData">richTextBox에 들어가있는 텍스트</param>
/// <returns>True / False</returns> /// <returns>True / False</returns>
private bool isPass(string BaseData) public bool isPass(string BaseData)
{ {
string[] EnterSplit = BaseData.Split('\n'); string[] EnterSplit = BaseData.Split('\n');
@@ -433,7 +368,51 @@ namespace UniMarc
return true; return true;
} }
private bool isMustTag(string orimarc) /// <summary>
/// 마크 에디터의 유효성을 검사합니다.
/// </summary>
/// <param name="errorMessage">오류 발생 시 상세 메시지</param>
/// <param name="isbnWarning">ISBN이 마크 데이터에 포함되지 않은 경우 true</param>
/// <returns>저장 가능 여부</returns>
public bool CheckValidation()
{
// 1. 탭 확인 (Index 1은 [칸채우기] 탭임)
if (this.tabControl1.SelectedIndex == 1)
{
AR.UTIL.MsgE("[칸채우기]가 아닌 [마크 편집] 탭에서 저장해주세요!");
return false;
}
// 2. 텍스트 정규화 및 마크 형식 검사
string BaseText = richTextBox1.Text.Replace("▲▲", "▲").Replace("▼▼", "▼");
if (!BaseText.EndsWith("\n")) BaseText += "\n";
richTextBox1.Text = BaseText; // 정규화된 텍스트 반영
if (!isPass(BaseText))
{
UTIL.MsgE( "입력된 마크의 상태를 확인해주세요.");
return false;
}
// 필수태그 확인
var orimarc = this.MakeMarcString();
if (!isMustTag(orimarc))
{
return false;
}
// 3. ISBN 포함 여부 확인 (경고성)
var v_ISBN = this.lbl_ISBN.Text.Trim();
if (BaseText.IndexOf(v_ISBN) < 0)
{
var dlg = UTIL.MsgQ("저장된 ISBN이 마크데이터에 없습니다.\nISBN값이 변경되었습니다.\n그래도 저장 할까요?");
if (dlg != DialogResult.Yes) return false;
}
return true;
}
public bool isMustTag(string orimarc)
{ {
String_Text st = new String_Text(); String_Text st = new String_Text();
string[] SearchTag = { string[] SearchTag = {
@@ -502,7 +481,7 @@ namespace UniMarc
/// 분류기호(056)추출 & 008태그 마크에 삽입 /// 분류기호(056)추출 & 008태그 마크에 삽입
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
string Tag056() public string Tag056()
{ {
string marc = richTextBox1.Text; string marc = richTextBox1.Text;
string[] temp = marc.Split('\n'); string[] temp = marc.Split('\n');
@@ -541,78 +520,8 @@ namespace UniMarc
return tag056; return tag056;
} }
private int Sub_marc_chk(string isbn)
{
string Area = "`marc_chk`, `marc_chk1`, `marc_chk2`";
string cmd = db.DB_Select_Search(Area, "Marc", "ISBN", isbn);
string db_res = db.DB_Send_CMD_Search(cmd);
string[] chk_ary = db_res.Split('|');
for (int a = 0; a < chk_ary.Length; a++)
{
if (chk_ary[a] == "1")
{
return a;
}
}
return 0;
}
#endregion #endregion
//private void List_Book_CellClick(object sender, DataGridViewCellEventArgs e)
//{
// //if (e.RowIndex == -1) { return; }
// //int row_idx = e.RowIndex;
// //SaveRowIdx = row_idx;
// //int col_idx = e.ColumnIndex;
// //string isbn = List_Book.Rows[row_idx].Cells["ISBN13"].Value.ToString();
// //if (isbn != "") {
// // string CountQuery = string.Format("SELECT Count(isbn) FROM Marc WHERE isbn = {0} GROUP BY isbn;", isbn);
// // string CountResult = db.self_Made_Cmd(CountQuery).Replace("|", "");
// // if (CountResult == "")
// // btn_CopySelect.Text = "0";
// // if (CountResult == "0") {
// // btn_CopySelect.Enabled = false;
// // btn_CopySelect.BackColor = Color.Silver;
// // }
// // else {
// // btn_CopySelect.Enabled = true;
// // btn_CopySelect.BackColor = Color.Khaki;
// // }
// // btn_CopySelect.Text = CountResult;
// //}
// //tabControl1.SelectedIndex = 0;
// //if (check_V(row_idx, col_idx))
// // return;
// //Save_data(row_idx);
// //richTextBox1.Text = "";
// //bool check_Marc = click_Marc(row_idx);
// //if (!check_Marc)
// // richTextBox1.Text = Make_Empty();
// //else
// // ReadRemark(row_idx);
// //input_picture(row_idx);
// //Create_008();
// //st.Color_change("▼", richTextBox1);
// //st.Color_change("▲", richTextBox1);
// //int grade = 2;
// //if (List_Book.Rows[row_idx].Cells["grade"].Value != null || List_Book.Rows[row_idx].Cells["grade"].Value.ToString() != "") {
// // grade = Convert.ToInt32(List_Book.Rows[row_idx].Cells["grade"].Value.ToString());
// //}
// //cb_grade.SelectedIndex = grade;
// //OnSaveData(row_idx);
//}
#region CellClick_Sub #region CellClick_Sub
/// <summary> /// <summary>
@@ -674,37 +583,8 @@ namespace UniMarc
richTextBox1.Text = result; richTextBox1.Text = result;
return true; return true;
} }
public void SetRemark(string remark1, string remark2)
{
etc1.Text = remark1;
etc2.Text = remark2;
}
void ReadRemark()
{
var CurrentMarcIdx = Param.MarcIdx;
if (string.IsNullOrEmpty(CurrentMarcIdx) || CurrentMarcIdx == "0")
{
etc1.Text = "";
etc2.Text = "";
return;
}
string[] sear_tbl = { "idx" };
string[] sear_col = { CurrentMarcIdx };
string cmd = db.More_DB_Search("Marc", sear_tbl, sear_col, "`비고1`, `비고2`");
string res = db.DB_Send_CMD_Search(cmd);
string[] ary = res.Split('|');
if (res.Length < 1)
{
etc1.Text = res;
etc2.Text = "";
return;
}
etc1.Text = ary[0];
etc2.Text = ary[1];
}
/// <summary> /// <summary>
/// 마크데이터가 있는지 확인하고 메모장으로 출력 /// 마크데이터가 있는지 확인하고 메모장으로 출력
/// </summary> /// </summary>
@@ -767,28 +647,6 @@ namespace UniMarc
} }
private string Make_Empty()
{
string yyMMdd = DateTime.Now.ToString("yyMMdd");
string yyyy = DateTime.Now.ToString("yyyy");
string Empty_008 = yyMMdd + "s" + yyyy + " 000 kor ▲";
text008.Text = Empty_008.Replace("▲", "");
data008 = text008.Text;
string Empty_text = string.Format(
"020\t \t▼a{1}▼c\\{5}▲\n" +
"056\t \t▼a▼25▲\n" +
"100\t \t▼a▲\n" +
"245\t \t▼a{2}▼d{3}▲\n" +
"260\t \t▼b{4}▲\n" +
"300\t \t▼a▼c▲\n" +
"653\t \t▼a▲\n" +
"700\t \t▼a▲\n" +
"950\t \t▼b\\{5}▲\n",
Empty_008, Param.ISBN13, Param.BookName, Param.Author, Param.Publisher, Param.Price);
etc1.Text = "";
etc2.Text = "";
return Empty_text;
}
/// <summary> /// <summary>
/// 008 각각의 박스에 대입하는 함수 /// 008 각각의 박스에 대입하는 함수
/// </summary> /// </summary>
@@ -1126,19 +984,8 @@ namespace UniMarc
//} //}
#endregion #endregion
private void Btn_Close_Click(object sender, EventArgs e)
{
CloseButton?.Invoke(this, EventArgs.Empty);
}
private void pictureBox1_DoubleClick(object sender, EventArgs e)
{
Zoom_Picture zp = new Zoom_Picture();
var CurrentURL = pictureBox1.Tag.ToString();
zp.url = pictureBox1.ImageLocation ?? CurrentURL;
zp.ISBN = Param.ISBN13;
zp.Show();
}
private void FillTextBox_KeyDown(object sender, KeyEventArgs e) private void FillTextBox_KeyDown(object sender, KeyEventArgs e)
@@ -1157,7 +1004,7 @@ namespace UniMarc
{ {
tb.InvokeInsertText(";"); tb.InvokeInsertText(";");
} }
else if(e.KeyCode == Keys.OemSemicolon) else if (e.KeyCode == Keys.OemSemicolon)
{ {
tb.InvokeInsertText("▽"); tb.InvokeInsertText("▽");
e.SuppressKeyPress = true; e.SuppressKeyPress = true;
@@ -1170,13 +1017,6 @@ namespace UniMarc
private void btn_FillBlank_Click(object sender, EventArgs e)
{
FillBlankClicked?.Invoke(this, EventArgs.Empty);
}
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{ {
int TabIndex = tabControl1.SelectedIndex; int TabIndex = tabControl1.SelectedIndex;
@@ -2194,9 +2034,9 @@ namespace UniMarc
if (i246 != "") result += "▼i" + i246; if (i246 != "") result += "▼i" + i246;
if (a246 != "") result += "▼a" + a246; if (a246 != "") result += "▼a" + a246;
if (b246 != "") result += "▼b" + b246;
if (n246 != "") result += "▼n" + n246; if (n246 != "") result += "▼n" + n246;
if (p246 != "") result += "▼p" + p246; if (p246 != "") result += "▼p" + p246;
if (b246 != "") result += "▼b" + b246;
result += "▲\n"; result += "▲\n";
} }
@@ -2225,6 +2065,12 @@ namespace UniMarc
else else
a440 = dgv.Rows[a].Cells["text440a"].Value.ToString(); a440 = dgv.Rows[a].Cells["text440a"].Value.ToString();
string x440;
if (dgv.Rows[a].Cells["text440x"].Value == null)
x440 = "";
else
x440 = dgv.Rows[a].Cells["text440x"].Value.ToString();
string n440; string n440;
if (dgv.Rows[a].Cells["text440n"].Value == null) if (dgv.Rows[a].Cells["text440n"].Value == null)
n440 = ""; n440 = "";
@@ -2249,19 +2095,16 @@ namespace UniMarc
else else
v440Txt = dgv.Rows[a].Cells["text440vTxt"].Value.ToString(); v440Txt = dgv.Rows[a].Cells["text440vTxt"].Value.ToString();
string x440;
if (dgv.Rows[a].Cells["text440x"].Value == null)
x440 = "";
else
x440 = dgv.Rows[a].Cells["text440x"].Value.ToString();
result += string.Format("440\t \t▼a{0}", a440); result += string.Format("440\t \t▼a{0}", a440);
if (x440 != "") result += "▼x" + x440;
if (n440 != "") result += "▼n" + n440; if (n440 != "") result += "▼n" + n440;
if (p440 != "") result += "▼p" + p440; if (p440 != "") result += "▼p" + p440;
if (v440Num != "") result += "▼v" + v440Num + v440Txt; if (v440Num != "") result += "▼v" + v440Num + v440Txt;
if (x440 != "") result += "▼x" + x440;
result += "▲\n"; result += "▲\n";
} }
@@ -2491,16 +2334,16 @@ namespace UniMarc
string result = "245\t \t"; string result = "245\t \t";
if (boxText[0] != "") result += "▼a" + boxText[0]; if (boxText[0] != "") result += "▼a" + boxText[0];
if (boxText[4] != "") result += "▼x" + boxText[4];
if (boxText[1] != "") result += "▼n" + boxText[1]; if (boxText[1] != "") result += "▼n" + boxText[1];
if (boxText[2] != "") result += "▼p" + boxText[2];
if (boxText[3] != "") if (boxText[3] != "")
{ {
string[] splitText245b = boxText[3].Split('▽'); string[] splitText245b = boxText[3].Split('▽');
foreach (string text in splitText245b) foreach (string text in splitText245b)
result += "▼b" + text; result += "▼b" + text;
} }
if (boxText[2] != "") result += "▼p" + boxText[2];
if (boxText[4] != "") result += "▼x" + boxText[4];
if (boxText[5] != "") result += "▼d" + boxText[5]; if (boxText[5] != "") result += "▼d" + boxText[5];
if (boxText[6] != "") result += "▼e" + boxText[6].Replace("▽", "▼e"); if (boxText[6] != "") result += "▼e" + boxText[6].Replace("▽", "▼e");
@@ -3110,19 +2953,64 @@ namespace UniMarc
sg.DataGrid_to_Delete(sender, e); sg.DataGrid_to_Delete(sender, e);
} }
private void MarcEditorControl_SizeChanged(object sender, EventArgs e)
private void button1_Click(object sender, EventArgs e)
{ {
//this.groupBox5.Text = this.Size.ToString(); string oldIsbn = lbl_ISBN.Tag?.ToString() ?? lbl_ISBN.Text.Trim();
// ISBN 중복체크
var rlt = UTIL.InputBox("변경할 ISBN을 입력해주세요.", lbl_ISBN.Text);
if (rlt.Item1 == false) return;
var newisbn = rlt.Item2;//
if (newisbn.isEmpty())
{
UTIL.MsgE("ISBN값이 입력되지 않았습니다");
return;
}
var exist = DB_Utils.ExistISBN(newisbn);
if (exist)
{
if (UTIL.MsgQ($"입력하신 ISBN({newisbn})은 이미 등록된 데이터가 존재합니다.\n그래도 변경하시겠습니까?") != DialogResult.Yes)
{
return;
}
}
lbl_ISBN.Text = newisbn;
// 1. RichTextBox (마크 편집) 동기화
if (!string.IsNullOrEmpty(oldIsbn))
{
richTextBox1.Text = richTextBox1.Text.Replace(oldIsbn, newisbn);
}
// 2. GridView020 (칸채우기) 동기화
for (int i = 0; i < GridView020.Rows.Count; i++)
{
var cell = GridView020.Rows[i].Cells["Text020a"];
if (cell.Value != null && cell.Value.ToString() == oldIsbn)
{
cell.Value = newisbn;
}
}
// 3. 이미지 업데이트
ShowImage(newisbn);
} }
private void btPrev_Click(object sender, EventArgs e) private void pictureBox1_Click(object sender, EventArgs e)
{ {
PrevButton?.Invoke(this, EventArgs.Empty); var url = pictureBox1.Tag?.ToString() ?? string.Empty;
} if (url.isEmpty())
{
UTIL.MsgE("이미지 URL이 없습니다");
return;
}
private void btNext_Click(object sender, EventArgs e) var zp = new Zoom_Picture(url,lbl_ISBN.Text.Trim());
{ zp.Show();
NextButton?.Invoke(this, EventArgs.Empty);
} }
} }
} }

View File

@@ -35,5 +35,8 @@ namespace UniMarc
public string ListName { get; set; } public string ListName { get; set; }
public string Date { get; set; } public string Date { get; set; }
public string User { get; set; } public string User { get; set; }
public string etc1 { get; set; }
public string etc2 { get; set; }
public int grade { get; set; }
} }
} }

View File

@@ -0,0 +1,163 @@
using AR;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace UniMarc
{
public partial class Marc_CopyForm : Form
{
MarcEditorControl marcEditorControl1;
Helper_DB db = new Helper_DB();
String_Text st = new String_Text();
private ToolStrip toolStrip1;
private ToolStripButton btSave;
private StatusStrip statusStrip1;
string base_midx = "";
public Marc_CopyForm(string marcstring,string m_idx = "0")
{
InitializeComponent();
base_midx = m_idx;
db.DBcon();
marcEditorControl1 = new MarcEditorControl();
marcEditorControl1.db = this.db;
marcEditorControl1.Dock = DockStyle.Fill;
// Wire up events
this.Controls.Add(marcEditorControl1);
this.StartPosition = FormStartPosition.CenterScreen;
marcEditorControl1.LoadBookData(marcstring, null);
var tags = st.Take_Tag(marcstring, new string[] { "245a" });
var BookName = tags.Length > 0 ? tags[0] : "";
this.Text = $"마크 복제 - {BookName}";
}
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Marc_CopyForm));
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
this.btSave = new System.Windows.Forms.ToolStripButton();
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
this.toolStrip1.SuspendLayout();
this.SuspendLayout();
//
// toolStrip1
//
this.toolStrip1.ImageScalingSize = new System.Drawing.Size(20, 20);
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.btSave});
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
this.toolStrip1.Name = "toolStrip1";
this.toolStrip1.Size = new System.Drawing.Size(1316, 27);
this.toolStrip1.TabIndex = 0;
this.toolStrip1.Text = "toolStrip1";
//
// btSave
//
this.btSave.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
this.btSave.Image = ((System.Drawing.Image)(resources.GetObject("btSave.Image")));
this.btSave.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btSave.Name = "btSave";
this.btSave.Size = new System.Drawing.Size(55, 24);
this.btSave.Text = "저장";
this.btSave.Click += new System.EventHandler(this.btSave_Click);
//
// statusStrip1
//
this.statusStrip1.ImageScalingSize = new System.Drawing.Size(20, 20);
this.statusStrip1.Location = new System.Drawing.Point(0, 893);
this.statusStrip1.Name = "statusStrip1";
this.statusStrip1.Size = new System.Drawing.Size(1316, 22);
this.statusStrip1.TabIndex = 1;
this.statusStrip1.Text = "statusStrip1";
//
// Marc_CopyForm
//
this.ClientSize = new System.Drawing.Size(1316, 915);
this.Controls.Add(this.statusStrip1);
this.Controls.Add(this.toolStrip1);
this.Name = "Marc_CopyForm";
this.Text = "마크 복제";
this.Load += new System.EventHandler(this.Marc_CopyForm_Load);
this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
private void Marc_CopyForm_Load(object sender, EventArgs e)
{
}
private void btSave_Click(object sender, EventArgs e)
{
string errMsg = string.Empty;
bool isbnWarning = false;
// 중앙 집중식 유효성 검사 수행
if (!marcEditorControl1.CheckValidation())
{
return;
}
var v_ISBN = this.marcEditorControl1.lbl_ISBN.Text.Trim();
// ISBN 미포함 경고 처리
if (isbnWarning)
{
var dlg = UTIL.MsgQ("저장된 ISBN이 마크데이터에 없습니다.\nISBN값이 변경되었습니다.\n그래도 저장 할까요?");
if (dlg != DialogResult.Yes) return;
}
// ISBN 중복 체크 (DB 관련이므로 폼에서 처리)
if (DB_Utils.ExistISBN(v_ISBN))
{
if (UTIL.MsgQ($"입력하신 ISBN({v_ISBN})은 이미 등록된 데이터가 존재합니다.\n그래도 저장하시겠습니까?") != DialogResult.Yes)
{
return;
}
}
// 008 태그 최신화 및 056 추출
string tag056 = marcEditorControl1.Tag056();
var savedMarc = this.marcEditorControl1.MakeMarcString();
var date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
var v_008 = this.marcEditorControl1.text008.Text;
string[] insert_col = {
"ISBN", "compidx", "marc", "marc_chk",
"grade", "008tag", "user", "date","비고1", "division"
};
string[] insert_data = {
v_ISBN, PUB.user.CompanyIdx.ToString(), savedMarc, "1",
"3", v_008, PUB.user.UserName, date,$"복제(m_idx:{this.base_midx})", tag056
};
string cmd = db.DB_INSERT("Marc", insert_col, insert_data);
var rlt = Helper_DB.ExcuteNonQuery(cmd);
if (rlt.applyCount == 1)
{
UTIL.MsgI("저장되었습니다.");
this.DialogResult = DialogResult.OK;
this.Close();
}
else
{
UTIL.MsgE(rlt.errorMessage);
}
}
}
}

View File

@@ -0,0 +1,142 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="btSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIFSURBVDhPpZLtS1NhGMbPPxJmmlYSgqHiKzGU1EDxg4iK
YKyG2WBogqMYJQOtCEVRFBGdTBCJfRnkS4VaaWNT5sqx1BUxRXxDHYxAJLvkusEeBaPAB+5z4Jzn+t3X
/aLhnEfjo8m+dCoa+7/C3O2Hqe0zDC+8KG+cRZHZhdzaaWTVTCLDMIY0vfM04Nfh77/G/sEhwpEDbO3t
I7TxE8urEVy99fT/AL5gWDLrTB/hnF4XsW0khCu5ln8DmJliT2AXrcNBsU1gj/MH4nMeKwBrPktM28xM
cX79DFKrHHD5d9D26hvicx4pABt2lpg10zYzU0zr7+e3xXGcrkEB2O2TNec9nJFwB3alZn5jZorfeDZh
6Q3g8s06BeCoKF4MRURoH1+BY2oNCbeb0TIclIYxOhzf8frTOuo7FxCbbVIAzpni0iceEc8vhzEwGkJD
lx83ymxifejdKjRNk/8PWnyIyTQqAJek0jqHwfEVscu31baIu8+90sTE4nY025dQ2/5FIPpnXlzKuK8A
HBUzHot52djqQ6HZhfR7IwK4mKpHtvEDMqvfCiQ6zaAAXM8x94aIWTNrLLG4kVUzgaTSPlzLtyJOZxbb
1wtfyg4Q+AfA3aZlButjSfxGcUJBk4g5tuP3haQKRKXcUQDOmbvNTpPOJeFFjordZmbWTNvMTHFUcpUC
nOccAdABIDXXE1nzAAAAAElFTkSuQmCC
</value>
</data>
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>124, 17</value>
</metadata>
</root>

View File

@@ -54,10 +54,9 @@ namespace UniMarc
this.BookComp = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.BookComp = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Price = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Price = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.BookMarc = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.BookMarc = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.panel2 = new System.Windows.Forms.Panel();
this.bs1 = new System.Windows.Forms.BindingSource(this.components);
this.bn1 = new System.Windows.Forms.BindingNavigator(this.components); this.bn1 = new System.Windows.Forms.BindingNavigator(this.components);
this.bindingNavigatorAddNewItem = new System.Windows.Forms.ToolStripButton(); this.bindingNavigatorAddNewItem = new System.Windows.Forms.ToolStripButton();
this.bs1 = new System.Windows.Forms.BindingSource(this.components);
this.bindingNavigatorCountItem = new System.Windows.Forms.ToolStripLabel(); this.bindingNavigatorCountItem = new System.Windows.Forms.ToolStripLabel();
this.bindingNavigatorDeleteItem = new System.Windows.Forms.ToolStripButton(); this.bindingNavigatorDeleteItem = new System.Windows.Forms.ToolStripButton();
this.bindingNavigatorMoveFirstItem = new System.Windows.Forms.ToolStripButton(); this.bindingNavigatorMoveFirstItem = new System.Windows.Forms.ToolStripButton();
@@ -68,16 +67,17 @@ namespace UniMarc
this.bindingNavigatorMoveNextItem = new System.Windows.Forms.ToolStripButton(); this.bindingNavigatorMoveNextItem = new System.Windows.Forms.ToolStripButton();
this.bindingNavigatorMoveLastItem = new System.Windows.Forms.ToolStripButton(); this.bindingNavigatorMoveLastItem = new System.Windows.Forms.ToolStripButton();
this.bindingNavigatorSeparator2 = new System.Windows.Forms.ToolStripSeparator(); this.bindingNavigatorSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.panel2 = new System.Windows.Forms.Panel();
this.panel6.SuspendLayout(); this.panel6.SuspendLayout();
this.panel3.SuspendLayout(); this.panel3.SuspendLayout();
this.panel4.SuspendLayout(); this.panel4.SuspendLayout();
this.panel7.SuspendLayout(); this.panel7.SuspendLayout();
this.panel5.SuspendLayout(); this.panel5.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.panel2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.bs1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bn1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.bn1)).BeginInit();
this.bn1.SuspendLayout(); this.bn1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.bs1)).BeginInit();
this.panel2.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// panel6 // panel6
@@ -249,7 +249,7 @@ namespace UniMarc
this.dataGridView1.Name = "dataGridView1"; this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.ReadOnly = true; this.dataGridView1.ReadOnly = true;
this.dataGridView1.RowTemplate.Height = 23; this.dataGridView1.RowTemplate.Height = 23;
this.dataGridView1.Size = new System.Drawing.Size(531, 677); this.dataGridView1.Size = new System.Drawing.Size(425, 542);
this.dataGridView1.TabIndex = 0; this.dataGridView1.TabIndex = 0;
this.dataGridView1.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellClick); this.dataGridView1.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellClick);
// //
@@ -301,17 +301,6 @@ namespace UniMarc
this.BookMarc.ReadOnly = true; this.BookMarc.ReadOnly = true;
this.BookMarc.Visible = false; this.BookMarc.Visible = false;
// //
// panel2
//
this.panel2.Controls.Add(this.panel4);
this.panel2.Controls.Add(this.panel3);
this.panel2.Controls.Add(this.panel6);
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel2.Location = new System.Drawing.Point(0, 0);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(1316, 733);
this.panel2.TabIndex = 311;
//
// bn1 // bn1
// //
this.bn1.AddNewItem = this.bindingNavigatorAddNewItem; this.bn1.AddNewItem = this.bindingNavigatorAddNewItem;
@@ -351,6 +340,10 @@ namespace UniMarc
this.bindingNavigatorAddNewItem.Size = new System.Drawing.Size(23, 22); this.bindingNavigatorAddNewItem.Size = new System.Drawing.Size(23, 22);
this.bindingNavigatorAddNewItem.Text = "새로 추가"; this.bindingNavigatorAddNewItem.Text = "새로 추가";
// //
// bs1
//
this.bs1.CurrentChanged += new System.EventHandler(this.bs1_CurrentChanged);
//
// bindingNavigatorCountItem // bindingNavigatorCountItem
// //
this.bindingNavigatorCountItem.Name = "bindingNavigatorCountItem"; this.bindingNavigatorCountItem.Name = "bindingNavigatorCountItem";
@@ -428,6 +421,17 @@ namespace UniMarc
this.bindingNavigatorSeparator2.Name = "bindingNavigatorSeparator2"; this.bindingNavigatorSeparator2.Name = "bindingNavigatorSeparator2";
this.bindingNavigatorSeparator2.Size = new System.Drawing.Size(6, 25); this.bindingNavigatorSeparator2.Size = new System.Drawing.Size(6, 25);
// //
// panel2
//
this.panel2.Controls.Add(this.panel4);
this.panel2.Controls.Add(this.panel3);
this.panel2.Controls.Add(this.panel6);
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel2.Location = new System.Drawing.Point(0, 0);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(1316, 733);
this.panel2.TabIndex = 311;
//
// Marc_FillBlank // Marc_FillBlank
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
@@ -446,11 +450,11 @@ namespace UniMarc
this.panel5.ResumeLayout(false); this.panel5.ResumeLayout(false);
this.panel5.PerformLayout(); this.panel5.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
this.panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.bs1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bn1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.bn1)).EndInit();
this.bn1.ResumeLayout(false); this.bn1.ResumeLayout(false);
this.bn1.PerformLayout(); this.bn1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.bs1)).EndInit();
this.panel2.ResumeLayout(false);
this.ResumeLayout(false); this.ResumeLayout(false);
} }

View File

@@ -15,7 +15,7 @@ namespace UniMarc
{ {
public string ISBN; public string ISBN;
public string SingleMarcResult { get; private set; } public string SingleMarcResult { get; private set; }
public Dictionary<int, string> BulkMarcResults { get; private set; } = new Dictionary<int, string>(); public List<FillBlankItem> FillBlankItems => _items;
bool isAll; bool isAll;
bool isBreak; bool isBreak;
List<FillBlankItem> _items = new List<FillBlankItem>(); List<FillBlankItem> _items = new List<FillBlankItem>();
@@ -207,7 +207,7 @@ namespace UniMarc
if (tb_URL.Text.Contains(isbn)) if (tb_URL.Text.Contains(isbn))
{ {
item.BookMarc = SplitText(Text); item.BookMarc = st.made_Ori_marc(MakeMarc(SplitText(Text)));
bs1.ResetBindings(false); // Update grid view bs1.ResetBindings(false); // Update grid view
isBreak = true; isBreak = true;
} }
@@ -279,7 +279,6 @@ namespace UniMarc
progressBar1.Maximum = dataGridView1.Rows.Count; progressBar1.Maximum = dataGridView1.Rows.Count;
isAll = true; isAll = true;
BulkMarcResults.Clear();
for (int a = 0; a < bs1.Count; a++) for (int a = 0; a < bs1.Count; a++)
{ {
@@ -306,18 +305,14 @@ namespace UniMarc
// 검색이 다 될때까지 기다림 // 검색이 다 될때까지 기다림
while (!isBreak) while (!isBreak)
{ {
Delay(300); Delay(500);
} }
string marc = item.BookMarc; if (string.IsNullOrEmpty(item.BookMarc))
if (string.IsNullOrEmpty(marc))
dataGridView1.Rows[a].DefaultCellStyle.ForeColor = Color.Red; dataGridView1.Rows[a].DefaultCellStyle.ForeColor = Color.Red;
else else
{ {
dataGridView1.Rows[a].DefaultCellStyle.ForeColor = Color.Blue; dataGridView1.Rows[a].DefaultCellStyle.ForeColor = Color.Blue;
string processedMarc = st.made_Ori_marc(MakeMarc(marc));
if (!BulkMarcResults.ContainsKey(idx))
BulkMarcResults.Add(idx, processedMarc);
} }
dataGridView1.Rows[a].DefaultCellStyle.BackColor = Color.White; dataGridView1.Rows[a].DefaultCellStyle.BackColor = Color.White;
@@ -368,13 +363,19 @@ namespace UniMarc
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{ {
if (e.RowIndex < 0) }
return;
int row = e.RowIndex; private void bs1_CurrentChanged(object sender, EventArgs e)
{
var item = (FillBlankItem)bs1.Current; //bookmark 데이터를 tbBookMark 에 표시
richTextBox1.Text = item.BookMarc; if (bs1.Current is FillBlankItem item)
{
richTextBox1.Text = item.BookMarc;
}
else
{
richTextBox1.Text = "";
}
} }
} }
} }

View File

@@ -145,7 +145,7 @@
<data name="bindingNavigatorAddNewItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="bindingNavigatorAddNewItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wAAADsABataJCQAAAVdJREFUOE/Nz0tLAmEUBmB3kWRoCUVEISFUJGb1OywiKrDsIpZdkJAkDUvDQkij vgAADr4B6kKxwAAAAVdJREFUOE/Nz0tLAmEUBmB3kWRoCUVEISFUJGb1OywiKrDsIpZdkJAkDUvDQkij
UKSbVIvatKhNi9oERRAGEQXhjJdp7Hd83/eGs2jhLGQ20QtndTgP71Gp/m0KZ1XInlTjM6XG+4EG5fuK UKSbVIvatKhNi9oERRAGEQXhjJdp7Hd83/eGs2jhLGQ20QtndTgP71Gp/m0KZ1XInlTjM6XG+4EG5fuK
yaTUIN8bIMUQ0gmtcuBtX/MLPMT0yoHnuA6kuA4iruI20lAZ+DiswWuyFum4Dk+7dbiP6kHEFVDBg+tQ yaTUIN8bIMUQ0gmtcuBtX/MLPMT0yoHnuA6kuA4iruI20lAZ+DiswWuyFum4Dk+7dbiP6kHEFVDBg+tQ
My4DLbjwG3DqbcORxygHXxJakGIQRFwDEf0gwjKI4AYtzIHmHaA5Oxg/CsYPIb7YIQced+qluvTLCyIs My4DLbjwG3DqbcORxygHXxJakGIQRFwDEf0gwjKI4AYtzIHmHaA5Oxg/CsYPIb7YIQced+qluvTLCyIs
@@ -160,7 +160,7 @@
<data name="bindingNavigatorDeleteItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="bindingNavigatorDeleteItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wAAADsABataJCQAAAWtJREFUOE+1kE0ow2Ecx/9X5a2UiwtKOSCTmJBMhuQlMo3IvCUHDouEXHZwIOVC vgAADr4B6kKxwAAAAWtJREFUOE+1kE0ow2Ecx/9X5a2UiwtKOSCTmJBMhuQlMo3IvCUHDouEXHZwIOVC
DrhIDiQl5USy07zNa2tKf2laaRf84/J8xBCetab4XL/f76fn+SnKX4DrGLqrwbHDzywkWJlHdJYjLEbY DrhIDiQl5USy07zNa2tKf2laaRf84/J8xBCetab4XL/f76fn+SnKX4DrGLqrwbHDzywkWJlHdJYjLEbY
Wg8q4eYKlma+d1hbgF4TotWIaC+FuYmAktcXCksx2HrknBOHX1KbiTDngrXhW0kMdSBM2TA5Io+/wuI0 Wg8q4eYKlma+d1hbgF4TotWIaC+FuYmAktcXCksx2HrknBOHX1KbiTDngrXhW0kMdSBM2TA5Io+/wuI0
oiz5TcRwB7hPYazfLx3rDz7+gCsXNBb4v1SdgajTQ19TaOMP2NtFmPSIilSo0v1y7FHBnAdZMWi6aO51 oiz5TcRwB7hPYazfLx3rDz7+gCsXNBb4v1SdgajTQ19TaOMP2NtFmPSIilSo0v1y7FHBnAdZMWi6aO51
@@ -172,7 +172,7 @@
<data name="bindingNavigatorMoveFirstItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="bindingNavigatorMoveFirstItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wAAADsABataJCQAAATFJREFUOE9jYBg0oHDW8/9NC57/z5z4+D+6HAyEtz/AKceQO/PZ/1VH3v/HpSi+ vgAADr4B6kKxwAAAATFJREFUOE9jYBg0oHDW8/9NC57/z5z4+D+6HAyEtz/AKceQO/PZ/1VH3v/HpSi+
+8H/4IZrWOXAIGPK0/8L933Aqii+5+H/pfv///evvoAhBwcJPU/+T9vyHkNRRPt9sObMWf//e5WewG1A +8H/4IZrWOXAIGPK0/8L933Aqii+5+H/pfv///evvoAhBwcJPU/+T9vyHkNRRPt9sObMWf//e5WewG1A
ZNej/72rP6AoCm29B9bcuu7/f//Ov/9d8g/gNiCw+eH/uvnv4IqCW+7+X7T3//+Odf//Z8z5+d+u7ud/ ZNej/72rP6AoCm29B9bcuu7/f//Ov/9d8g/gNiCw+eH/uvnv4IqCW+7+X7T3//+Odf//Z8z5+d+u7ud/
+4ztuA3wqLr/P3/aGxRFdsW3/6fP+f3fv+vbf53Cd/8tEtbjNsC+9O7/7MmvMRTpp5z/b1L04r9K1qf/ +4ztuA3wqLr/P3/aGxRFdsW3/6fP+f3fv+vbf53Cd/8tEtbjNsC+9O7/7MmvMRTpp5z/b1L04r9K1qf/
@@ -183,7 +183,7 @@
<data name="bindingNavigatorMovePreviousItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="bindingNavigatorMovePreviousItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wAAADsABataJCQAAALtJREFUOE9jYBgyILz9wX90MaJBfPeD/8EN18gzIL7n4f+l+///96++QLoBEe33 vgAADr4B6kKxwAAAALtJREFUOE9jYBgyILz9wX90MaJBfPeD/8EN18gzIL7n4f+l+///96++QLoBEe33
wZozZ/3/71V6gjQDQlvvgTW3rvv/37/z73+X/APEGxDccvf/or3//3es+/8/Y87P/3Z1P//bZ2wn3gAQ wZozZ/3/71V6gjQDQlvvgTW3rvv/37/z73+X/APEGxDccvf/or3//3es+/8/Y87P/3Z1P//bZ2wn3gAQ
sCu+/T99zu///l3f/usUvvtvkbCeNANAQD/l/H+Tohf/VbI+/TeOXEa6ASBgkHTiv2za1/+6wfPIMwAE sCu+/T99zu///l3f/usUvvtvkbCeNANAQD/l/H+Tohf/VbI+/TeOXEa6ASBgkHTiv2za1/+6wfPIMwAE
9FMv/9fwnUa+ASCg4jGBMgMGLwAA0BRgmCws/7cAAAAASUVORK5CYII= 9FMv/9fwnUa+ASCg4jGBMgMGLwAA0BRgmCws/7cAAAAASUVORK5CYII=
@@ -192,7 +192,7 @@
<data name="bindingNavigatorMoveNextItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="bindingNavigatorMoveNextItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wAAADsABataJCQAAAKRJREFUOE9jYBh0oHDW8//oYiSB3JnP/id03yPfkIwpT//P2//7f0LXHfIMSeh5 vgAADr4B6kKxwAAAAKRJREFUOE9jYBh0oHDW8//oYiSB3JnP/id03yPfkIwpT//P2//7f0LXHfIMSeh5
8n/2vl//O7f+/e9Wepl0QyK7Hv2fsu3X/5Klf/8nTP/73yb3LGmGBDY//N+69j1Ys3HJl//S0df+G0cu 8n/2vl//O7f+/e9Wepl0QyK7Hv2fsu3X/5Klf/8nTP/73yb3LGmGBDY//N+69j1Ys3HJl//S0df+G0cu
I94Qj6r7/0vmvoNrVnTpIV4zCNiX3v0f2PKMPM0gYJF3579NwRXyNIOAYdZt8jWDgE7aDfI1D00AAKB+ I94Qj6r7/0vmvoNrVnTpIV4zCNiX3v0f2PKMPM0gYJF3579NwRXyNIOAYdZt8jWDgE7aDfI1D00AAKB+
X6Bjq5qXAAAAAElFTkSuQmCC X6Bjq5qXAAAAAElFTkSuQmCC
@@ -201,7 +201,7 @@
<data name="bindingNavigatorMoveLastItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="bindingNavigatorMoveLastItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wAAADsABataJCQAAAStJREFUOE9jYBhUoHDW8//oYjAAkmta8Px/5sTHONUw5M589j+h+x5WBSC5VUfe vgAADr4B6kKxwAAAAStJREFUOE9jYBhUoHDW8//oYjAAkmta8Px/5sTHONUw5M589j+h+x5WBSC5VUfe
/w9vf4BVHgwypjz9P2//7/8JXXcwFIHkFu778D+44RqGHBwk9Dz5P3vfr/+dW//+dyu9jKIQJDdty/v/ /w9vf4BVHgwypjz9P2//7/8JXXcwFIHkFu778D+44RqGHBwk9Dz5P3vfr/+dW//+dyu9jKIQJDdty/v/
/tUXcBsQ2fXo/5Rtv/6XLP37P2H63/82uWfhikFyvas//PcqPYHbgMDmh/9b174HazYu+fJfOvraf+PI /tUXcBsQ2fXo/5Rtv/6XLP37P2H63/82uWfhikFyvas//PcqPYHbgMDmh/9b174HazYu+fJfOvraf+PI
ZWANILm6+e/+u+QfwG2AR9X9/yVz38E1K7r0wBWD5PKnvflvn7EdtwH2pXf/B7Y8w9AMk8ue/Pq/RcJ6 ZWANILm6+e/+u+QfwG2AR9X9/yVz38E1K7r0wBWD5PKnvflvn7EdtwH2pXf/B7Y8w9AMk8ue/Pq/RcJ6

View File

@@ -146,7 +146,6 @@
this.bn1 = new System.Windows.Forms.BindingNavigator(this.components); this.bn1 = new System.Windows.Forms.BindingNavigator(this.components);
this.bs1 = new System.Windows.Forms.BindingSource(this.components); this.bs1 = new System.Windows.Forms.BindingSource(this.components);
this.bindingNavigatorCountItem = new System.Windows.Forms.ToolStripLabel(); this.bindingNavigatorCountItem = new System.Windows.Forms.ToolStripLabel();
this.btDelete = new System.Windows.Forms.ToolStripButton();
this.bindingNavigatorMoveFirstItem = new System.Windows.Forms.ToolStripButton(); this.bindingNavigatorMoveFirstItem = new System.Windows.Forms.ToolStripButton();
this.bindingNavigatorMovePreviousItem = new System.Windows.Forms.ToolStripButton(); this.bindingNavigatorMovePreviousItem = new System.Windows.Forms.ToolStripButton();
this.bindingNavigatorSeparator = new System.Windows.Forms.ToolStripSeparator(); this.bindingNavigatorSeparator = new System.Windows.Forms.ToolStripSeparator();
@@ -155,8 +154,10 @@
this.bindingNavigatorMoveNextItem = new System.Windows.Forms.ToolStripButton(); this.bindingNavigatorMoveNextItem = new System.Windows.Forms.ToolStripButton();
this.bindingNavigatorMoveLastItem = new System.Windows.Forms.ToolStripButton(); this.bindingNavigatorMoveLastItem = new System.Windows.Forms.ToolStripButton();
this.bindingNavigatorSeparator2 = new System.Windows.Forms.ToolStripSeparator(); this.bindingNavigatorSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.btDelete = new System.Windows.Forms.ToolStripButton();
this.printDocument1 = new System.Drawing.Printing.PrintDocument(); this.printDocument1 = new System.Drawing.Printing.PrintDocument();
this.printPreviewDialog1 = new System.Windows.Forms.PrintPreviewDialog(); this.printPreviewDialog1 = new System.Windows.Forms.PrintPreviewDialog();
this.btn_FillBlank = new System.Windows.Forms.Button();
this.panel1.SuspendLayout(); this.panel1.SuspendLayout();
this.panel4.SuspendLayout(); this.panel4.SuspendLayout();
this.panel3.SuspendLayout(); this.panel3.SuspendLayout();
@@ -520,6 +521,7 @@
// //
// panel5 // panel5
// //
this.panel5.Controls.Add(this.btn_FillBlank);
this.panel5.Controls.Add(this.chkEditorTest); this.panel5.Controls.Add(this.chkEditorTest);
this.panel5.Controls.Add(this.cbTag008_32); this.panel5.Controls.Add(this.cbTag008_32);
this.panel5.Controls.Add(this.btnTag008); this.panel5.Controls.Add(this.btnTag008);
@@ -532,7 +534,7 @@
this.panel5.Dock = System.Windows.Forms.DockStyle.Top; this.panel5.Dock = System.Windows.Forms.DockStyle.Top;
this.panel5.Location = new System.Drawing.Point(0, 35); this.panel5.Location = new System.Drawing.Point(0, 35);
this.panel5.Name = "panel5"; this.panel5.Name = "panel5";
this.panel5.Size = new System.Drawing.Size(1730, 55); this.panel5.Size = new System.Drawing.Size(1730, 56);
this.panel5.TabIndex = 9; this.panel5.TabIndex = 9;
// //
// chkEditorTest // chkEditorTest
@@ -1040,9 +1042,9 @@
this.panel7.Controls.Add(this.bn1); this.panel7.Controls.Add(this.bn1);
this.panel7.Controls.Add(this.checkBox1); this.panel7.Controls.Add(this.checkBox1);
this.panel7.Dock = System.Windows.Forms.DockStyle.Fill; this.panel7.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel7.Location = new System.Drawing.Point(0, 90); this.panel7.Location = new System.Drawing.Point(0, 91);
this.panel7.Name = "panel7"; this.panel7.Name = "panel7";
this.panel7.Size = new System.Drawing.Size(1730, 763); this.panel7.Size = new System.Drawing.Size(1730, 762);
this.panel7.TabIndex = 11; this.panel7.TabIndex = 11;
// //
// dataGridView1 // dataGridView1
@@ -1090,7 +1092,7 @@
this.dataGridView1.Location = new System.Drawing.Point(0, 0); this.dataGridView1.Location = new System.Drawing.Point(0, 0);
this.dataGridView1.Name = "dataGridView1"; this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.RowTemplate.Height = 23; this.dataGridView1.RowTemplate.Height = 23;
this.dataGridView1.Size = new System.Drawing.Size(1730, 738); this.dataGridView1.Size = new System.Drawing.Size(1730, 737);
this.dataGridView1.TabIndex = 1; this.dataGridView1.TabIndex = 1;
this.dataGridView1.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellClick); this.dataGridView1.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellClick);
this.dataGridView1.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellDoubleClick); this.dataGridView1.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellDoubleClick);
@@ -1290,7 +1292,7 @@
this.bindingNavigatorMoveLastItem, this.bindingNavigatorMoveLastItem,
this.bindingNavigatorSeparator2, this.bindingNavigatorSeparator2,
this.btDelete}); this.btDelete});
this.bn1.Location = new System.Drawing.Point(0, 738); this.bn1.Location = new System.Drawing.Point(0, 737);
this.bn1.MoveFirstItem = this.bindingNavigatorMoveFirstItem; this.bn1.MoveFirstItem = this.bindingNavigatorMoveFirstItem;
this.bn1.MoveLastItem = this.bindingNavigatorMoveLastItem; this.bn1.MoveLastItem = this.bindingNavigatorMoveLastItem;
this.bn1.MoveNextItem = this.bindingNavigatorMoveNextItem; this.bn1.MoveNextItem = this.bindingNavigatorMoveNextItem;
@@ -1308,16 +1310,6 @@
this.bindingNavigatorCountItem.Text = "/{0}"; this.bindingNavigatorCountItem.Text = "/{0}";
this.bindingNavigatorCountItem.ToolTipText = "전체 항목 수"; this.bindingNavigatorCountItem.ToolTipText = "전체 항목 수";
// //
// btDelete
//
this.btDelete.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.btDelete.Image = ((System.Drawing.Image)(resources.GetObject("btDelete.Image")));
this.btDelete.Name = "btDelete";
this.btDelete.RightToLeftAutoMirrorImage = true;
this.btDelete.Size = new System.Drawing.Size(23, 22);
this.btDelete.Text = "삭제";
this.btDelete.Click += new System.EventHandler(this.bindingNavigatorDeleteItem_Click);
//
// bindingNavigatorMoveFirstItem // bindingNavigatorMoveFirstItem
// //
this.bindingNavigatorMoveFirstItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.bindingNavigatorMoveFirstItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
@@ -1379,6 +1371,16 @@
this.bindingNavigatorSeparator2.Name = "bindingNavigatorSeparator2"; this.bindingNavigatorSeparator2.Name = "bindingNavigatorSeparator2";
this.bindingNavigatorSeparator2.Size = new System.Drawing.Size(6, 25); this.bindingNavigatorSeparator2.Size = new System.Drawing.Size(6, 25);
// //
// btDelete
//
this.btDelete.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.btDelete.Image = ((System.Drawing.Image)(resources.GetObject("btDelete.Image")));
this.btDelete.Name = "btDelete";
this.btDelete.RightToLeftAutoMirrorImage = true;
this.btDelete.Size = new System.Drawing.Size(23, 22);
this.btDelete.Text = "삭제";
this.btDelete.Click += new System.EventHandler(this.bindingNavigatorDeleteItem_Click);
//
// printDocument1 // printDocument1
// //
this.printDocument1.BeginPrint += new System.Drawing.Printing.PrintEventHandler(this.printDocument1_BeginPrint); this.printDocument1.BeginPrint += new System.Drawing.Printing.PrintEventHandler(this.printDocument1_BeginPrint);
@@ -1394,6 +1396,16 @@
this.printPreviewDialog1.Name = "printPreviewDialog1"; this.printPreviewDialog1.Name = "printPreviewDialog1";
this.printPreviewDialog1.Visible = false; this.printPreviewDialog1.Visible = false;
// //
// btn_FillBlank
//
this.btn_FillBlank.Location = new System.Drawing.Point(1332, 31);
this.btn_FillBlank.Name = "btn_FillBlank";
this.btn_FillBlank.Size = new System.Drawing.Size(338, 22);
this.btn_FillBlank.TabIndex = 229;
this.btn_FillBlank.Text = "미소장 마크 코리스 칸채우기";
this.btn_FillBlank.UseVisualStyleBackColor = true;
this.btn_FillBlank.Click += new System.EventHandler(this.btn_FillBlank_Click);
//
// Marc_Plan // Marc_Plan
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
@@ -1551,5 +1563,6 @@
private System.Windows.Forms.ToolStripButton bindingNavigatorMoveLastItem; private System.Windows.Forms.ToolStripButton bindingNavigatorMoveLastItem;
private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator2; private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator2;
private System.Windows.Forms.BindingSource bs1; private System.Windows.Forms.BindingSource bs1;
private System.Windows.Forms.Button btn_FillBlank;
} }
} }

View File

@@ -1,4 +1,5 @@
using AR; using AR;
using Org.BouncyCastle.Bcpg.OpenPgp;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
@@ -141,7 +142,7 @@ namespace UniMarc
string Area = "`idx`, " string Area = "`idx`, "
+ "`num`, `r_num`, `class_symbol`, `author_symbol`, `ISBN`, " + "`num`, `r_num`, `class_symbol`, `author_symbol`, `ISBN`, "
+ "`book_name`, `s_book_name1`, `s_book_num1`, `s_book_name2`, `s_book_num2`, " + "`book_name`, `s_book_name1`, `s_book_num1`, `s_book_name2`, `s_book_num2`, "
+ "`author`, `book_comp`, `price`, `midx`, `marc`"; + "`author`, `book_comp`, `price`, `midx`, `marc`, `etc1`, `etc2`, `grade`";
string[] Search_col = { "work_list", "date" }; string[] Search_col = { "work_list", "date" };
string[] Search_data = { ListName, date }; string[] Search_data = { ListName, date };
@@ -174,6 +175,9 @@ namespace UniMarc
item.BookComp = dr["book_comp"].ToString(); item.BookComp = dr["book_comp"].ToString();
item.Price = dr["price"].ToString(); item.Price = dr["price"].ToString();
item.Midx = dr["midx"].ToString(); item.Midx = dr["midx"].ToString();
item.etc1 = dr["etc1"]?.ToString() ?? string.Empty;
item.etc2 = dr["etc2"]?.ToString() ?? string.Empty;
item.grade = dr["grade"] != DBNull.Value ? Convert.ToInt32(dr["grade"]) : -1;
string rawMarc = dr["marc"].ToString(); string rawMarc = dr["marc"].ToString();
@@ -229,6 +233,8 @@ namespace UniMarc
} }
#endregion #endregion
private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e) private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
{ {
Skill_Grid sg = new Skill_Grid(); Skill_Grid sg = new Skill_Grid();
@@ -246,18 +252,6 @@ namespace UniMarc
} }
} }
private (string marc, MacEditorParameter p) GetBookData(int row)
{
// Fallback or deprecated, ideally redirect to item based or remove if possible.
// BUT existing non-bound usage calls might exist? No, this is private and used in editor opening.
// Let's keep for safety but implement new one.
if (row >= 0 && row < bs1.Count)
{
return GetBookData((MarcPlanItem)bs1.List[row]);
}
return ("", new MacEditorParameter());
}
private (string marc, MacEditorParameter p) GetBookData(MarcPlanItem item) private (string marc, MacEditorParameter p) GetBookData(MarcPlanItem item)
{ {
string bookName = item.BookName; string bookName = item.BookName;
@@ -292,9 +286,6 @@ namespace UniMarc
Author = author, Author = author,
Publisher = publisher, Publisher = publisher,
Price = price, Price = price,
Remark1 = remark1,
Remark2 = remark2,
Grade = null,
}; };
return (marc, p); return (marc, p);
} }
@@ -333,14 +324,13 @@ namespace UniMarc
// Sync BindingSource position // Sync BindingSource position
bs1.Position = row; bs1.Position = row;
var currentItem = (MarcPlanItem)bs1.Current; var dr = (MarcPlanItem)bs1.Current;
string isbn = currentItem.Isbn; string isbn = dr.Isbn;
string marcData = currentItem.Marc; string marcData = dr.Marc;
var f = new Marc_Plan_Sub_MarcEdit2(isbn, marcData); var f = new fMarc_Editor(isbn, marcData, SaveTarget.SpecsMarc,dr.etc1, dr.etc2,dr.grade);
var data = GetBookData(currentItem); var data = GetBookData(dr);
f.LoadBook(data.marc, data.p); f.LoadBook(data.marc, data.p);
f.RequestNext += (s, args) => f.RequestNext += (s, args) =>
{ {
if (bs1.Position < bs1.Count - 1) if (bs1.Position < bs1.Count - 1)
@@ -351,8 +341,8 @@ namespace UniMarc
f.LoadBook(nextData.marc, nextData.p); f.LoadBook(nextData.marc, nextData.p);
// Optional: Ensure visible // Optional: Ensure visible
if (dataGridView1.CurrentRow != null) //if (dataGridView1.CurrentRow != null)
dataGridView1.FirstDisplayedScrollingRowIndex = dataGridView1.CurrentRow.Index; //dataGridView1.FirstDisplayedScrollingRowIndex = dataGridView1.CurrentRow.Index;
} }
}; };
@@ -366,8 +356,8 @@ namespace UniMarc
f.LoadBook(prevData.marc, prevData.p); f.LoadBook(prevData.marc, prevData.p);
// Optional: Ensure visible // Optional: Ensure visible
if (dataGridView1.CurrentRow != null) //if (dataGridView1.CurrentRow != null)
dataGridView1.FirstDisplayedScrollingRowIndex = dataGridView1.CurrentRow.Index; // dataGridView1.FirstDisplayedScrollingRowIndex = dataGridView1.CurrentRow.Index;
} }
}; };
@@ -413,17 +403,15 @@ namespace UniMarc
f.BulkBooksUpdated += (s, args) => f.BulkBooksUpdated += (s, args) =>
{ {
foreach (var kvp in args.Updates) foreach (var fbItem in args.Updates)
{ {
int rowIdx = kvp.Key; if (string.IsNullOrEmpty(fbItem.BookMarc)) continue;
string newMarc = kvp.Value;
// Ensure rowIdx is valid int rowIdx = int.Parse(fbItem.Idx);
if (rowIdx >= 0 && rowIdx < bs1.Count) if (rowIdx >= 0 && rowIdx < bs1.Count)
{ {
var mItem = (MarcPlanItem)bs1.List[rowIdx]; var mItem = (MarcPlanItem)bs1.List[rowIdx];
mItem.Marc = newMarc; mItem.Marc = fbItem.BookMarc;
// We might want to refresh specific rows or all, simpler to reset item or all
} }
} }
bs1.ResetBindings(false); // Refresh all to reflect changes bs1.ResetBindings(false); // Refresh all to reflect changes
@@ -1683,5 +1671,68 @@ namespace UniMarc
MessageBox.Show($"삭제 중 오류가 발생했습니다.\n{ex.Message}", "오류", MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show($"삭제 중 오류가 발생했습니다.\n{ex.Message}", "오류", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
} }
private void btn_FillBlank_Click(object sender, EventArgs e)
{
if (dataGridView1.CurrentRow == null) return;
int row = dataGridView1.CurrentRow.Index;
string ISBN = dataGridView1.Rows[row].Cells["ISBN"].Value?.ToString();
if (string.IsNullOrEmpty(ISBN))
{
MessageBox.Show("ISBN이 존재하지않습니다!");
return;
}
var fb = new Marc_FillBlank();
for (int a = 0; a < bs1.Count; a++)
{
var item = bs1.List[a] as MarcPlanItem;
if (item != null && (string.IsNullOrEmpty(item.Marc) || item.Marc.Length < 10))
{
var fbItem = new FillBlankItem
{
Idx = a.ToString(), // 그리드 순서를 인덱스로 사용
Isbn = item.Isbn ?? "",
BookName = item.BookName ?? "",
Author = item.Author ?? "",
Publisher = item.BookComp ?? "",
Price = item.Price ?? ""
};
fb.InitFillBlank(fbItem);
}
}
fb.ISBN = ISBN;
if (fb.ShowDialog() == DialogResult.OK)
{
if (fb.FillBlankItems.Any(t => !string.IsNullOrEmpty(t.BookMarc)))
{
foreach (var fbItem in fb.FillBlankItems)
{
if (string.IsNullOrEmpty(fbItem.BookMarc)) continue;
int targetIdx = int.Parse(fbItem.Idx);
if (targetIdx >= 0 && targetIdx < bs1.Count)
{
var item = bs1.List[targetIdx] as MarcPlanItem;
if (item != null)
{
item.Marc = fbItem.BookMarc;
}
}
}
bs1.ResetBindings(false);
}
else if (!string.IsNullOrEmpty(fb.SingleMarcResult))
{
var item = bs1.Current as MarcPlanItem;
if (item != null)
{
item.Marc = fb.SingleMarcResult;
bs1.ResetCurrentItem();
}
}
}
}
} }
} }

View File

@@ -117,23 +117,20 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<metadata name="bn1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>437, 11</value>
</metadata>
<metadata name="search_tag2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="search_tag2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="bn1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="bn1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>437, 11</value> <value>323, 17</value>
</metadata> </metadata>
<metadata name="bs1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="bs1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>517, 10</value> <value>398, 17</value>
</metadata> </metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="bindingNavigatorMoveFirstItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="bindingNavigatorMoveFirstItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wQAADsEBuJFr7QAAATFJREFUOE9jYBg0oHDW8/9NC57/z5z4+D+6HAyEtz/AKceQO/PZ/1VH3v/HpSi+ wAAADsABataJCQAAATFJREFUOE9jYBg0oHDW8/9NC57/z5z4+D+6HAyEtz/AKceQO/PZ/1VH3v/HpSi+
+8H/4IZrWOXAIGPK0/8L933Aqii+5+H/pfv///evvoAhBwcJPU/+T9vyHkNRRPt9sObMWf//e5WewG1A +8H/4IZrWOXAIGPK0/8L933Aqii+5+H/pfv///evvoAhBwcJPU/+T9vyHkNRRPt9sObMWf//e5WewG1A
ZNej/72rP6AoCm29B9bcuu7/f//Ov/9d8g/gNiCw+eH/uvnv4IqCW+7+X7T3//+Odf//Z8z5+d+u7ud/ ZNej/72rP6AoCm29B9bcuu7/f//Ov/9d8g/gNiCw+eH/uvnv4IqCW+7+X7T3//+Odf//Z8z5+d+u7ud/
+4ztuA3wqLr/P3/aGxRFdsW3/6fP+f3fv+vbf53Cd/8tEtbjNsC+9O7/7MmvMRTpp5z/b1L04r9K1qf/ +4ztuA3wqLr/P3/aGxRFdsW3/6fP+f3fv+vbf53Cd/8tEtbjNsC+9O7/7MmvMRTpp5z/b1L04r9K1qf/
@@ -144,7 +141,7 @@
<data name="bindingNavigatorMovePreviousItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="bindingNavigatorMovePreviousItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wQAADsEBuJFr7QAAALtJREFUOE9jYBgyILz9wX90MaJBfPeD/8EN18gzIL7n4f+l+///96++QLoBEe33 wAAADsABataJCQAAALtJREFUOE9jYBgyILz9wX90MaJBfPeD/8EN18gzIL7n4f+l+///96++QLoBEe33
wZozZ/3/71V6gjQDQlvvgTW3rvv/37/z73+X/APEGxDccvf/or3//3es+/8/Y87P/3Z1P//bZ2wn3gAQ wZozZ/3/71V6gjQDQlvvgTW3rvv/37/z73+X/APEGxDccvf/or3//3es+/8/Y87P/3Z1P//bZ2wn3gAQ
sCu+/T99zu///l3f/usUvvtvkbCeNANAQD/l/H+Tohf/VbI+/TeOXEa6ASBgkHTiv2za1/+6wfPIMwAE sCu+/T99zu///l3f/usUvvtvkbCeNANAQD/l/H+Tohf/VbI+/TeOXEa6ASBgkHTiv2za1/+6wfPIMwAE
9FMv/9fwnUa+ASCg4jGBMgMGLwAA0BRgmCws/7cAAAAASUVORK5CYII= 9FMv/9fwnUa+ASCg4jGBMgMGLwAA0BRgmCws/7cAAAAASUVORK5CYII=
@@ -153,7 +150,7 @@
<data name="bindingNavigatorMoveNextItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="bindingNavigatorMoveNextItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wQAADsEBuJFr7QAAAKRJREFUOE9jYBh0oHDW8//oYiSB3JnP/id03yPfkIwpT//P2//7f0LXHfIMSeh5 wAAADsABataJCQAAAKRJREFUOE9jYBh0oHDW8//oYiSB3JnP/id03yPfkIwpT//P2//7f0LXHfIMSeh5
8n/2vl//O7f+/e9Wepl0QyK7Hv2fsu3X/5Klf/8nTP/73yb3LGmGBDY//N+69j1Ys3HJl//S0df+G0cu 8n/2vl//O7f+/e9Wepl0QyK7Hv2fsu3X/5Klf/8nTP/73yb3LGmGBDY//N+69j1Ys3HJl//S0df+G0cu
I94Qj6r7/0vmvoNrVnTpIV4zCNiX3v0f2PKMPM0gYJF3579NwRXyNIOAYdZt8jWDgE7aDfI1D00AAKB+ I94Qj6r7/0vmvoNrVnTpIV4zCNiX3v0f2PKMPM0gYJF3579NwRXyNIOAYdZt8jWDgE7aDfI1D00AAKB+
X6Bjq5qXAAAAAElFTkSuQmCC X6Bjq5qXAAAAAElFTkSuQmCC
@@ -162,7 +159,7 @@
<data name="bindingNavigatorMoveLastItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="bindingNavigatorMoveLastItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wQAADsEBuJFr7QAAAStJREFUOE9jYBhUoHDW8//oYjAAkmta8Px/5sTHONUw5M589j+h+x5WBSC5VUfe wAAADsABataJCQAAAStJREFUOE9jYBhUoHDW8//oYjAAkmta8Px/5sTHONUw5M589j+h+x5WBSC5VUfe
/w9vf4BVHgwypjz9P2//7/8JXXcwFIHkFu778D+44RqGHBwk9Dz5P3vfr/+dW//+dyu9jKIQJDdty/v/ /w9vf4BVHgwypjz9P2//7/8JXXcwFIHkFu778D+44RqGHBwk9Dz5P3vfr/+dW//+dyu9jKIQJDdty/v/
/tUXcBsQ2fXo/5Rtv/6XLP37P2H63/82uWfhikFyvas//PcqPYHbgMDmh/9b174HazYu+fJfOvraf+PI /tUXcBsQ2fXo/5Rtv/6XLP37P2H63/82uWfhikFyvas//PcqPYHbgMDmh/9b174HazYu+fJfOvraf+PI
ZWANILm6+e/+u+QfwG2AR9X9/yVz38E1K7r0wBWD5PKnvflvn7EdtwH2pXf/B7Y8w9AMk8ue/Pq/RcJ6 ZWANILm6+e/+u+QfwG2AR9X9/yVz38E1K7r0wBWD5PKnvflvn7EdtwH2pXf/B7Y8w9AMk8ue/Pq/RcJ6
@@ -173,7 +170,7 @@
<data name="btDelete.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="btDelete.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wQAADsEBuJFr7QAAAWtJREFUOE+1kE0ow2Ecx/9X5a2UiwtKOSCTmJBMhuQlMo3IvCUHDouEXHZwIOVC wAAADsABataJCQAAAWtJREFUOE+1kE0ow2Ecx/9X5a2UiwtKOSCTmJBMhuQlMo3IvCUHDouEXHZwIOVC
DrhIDiQl5USy07zNa2tKf2laaRf84/J8xBCetab4XL/f76fn+SnKX4DrGLqrwbHDzywkWJlHdJYjLEbY DrhIDiQl5USy07zNa2tKf2laaRf84/J8xBCetab4XL/f76fn+SnKX4DrGLqrwbHDzywkWJlHdJYjLEbY
Wg8q4eYKlma+d1hbgF4TotWIaC+FuYmAktcXCksx2HrknBOHX1KbiTDngrXhW0kMdSBM2TA5Io+/wuI0 Wg8q4eYKlma+d1hbgF4TotWIaC+FuYmAktcXCksx2HrknBOHX1KbiTDngrXhW0kMdSBM2TA5Io+/wuI0
oiz5TcRwB7hPYazfLx3rDz7+gCsXNBb4v1SdgajTQ19TaOMP2NtFmPSIilSo0v1y7FHBnAdZMWi6aO51 oiz5TcRwB7hPYazfLx3rDz7+gCsXNBb4v1SdgajTQ19TaOMP2NtFmPSIilSo0v1y7FHBnAdZMWi6aO51
@@ -186,7 +183,7 @@
<value>18, 17</value> <value>18, 17</value>
</metadata> </metadata>
<metadata name="printPreviewDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="printPreviewDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>193, 17</value> <value>161, 17</value>
</metadata> </metadata>
<data name="printPreviewDialog1.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="printPreviewDialog1.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>

View File

@@ -727,6 +727,7 @@ namespace UniMarc
string Tag090 = Sample_090(); string Tag090 = Sample_090();
Tag_Create("090", Tag090); Tag_Create("090", Tag090);
} }
} }
#region KeyDown_Sub #region KeyDown_Sub
/// <summary> /// <summary>

View File

@@ -1,48 +0,0 @@
namespace UniMarc
{
partial class Marc_Plan_Sub_MarcEdit2
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.SuspendLayout();
//
// Marc_Plan_Sub_MarcEdit2
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1337, 768);
this.Name = "Marc_Plan_Sub_MarcEdit2";
this.Text = "마크편집";
this.Load += new System.EventHandler(this.Marc_Plan_Sub_MarcEdit2_Load);
this.ResumeLayout(false);
}
#endregion
}
}

View File

@@ -1,190 +0,0 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Drawing.Drawing2D;
namespace UniMarc
{
public partial class Marc_Plan_Sub_MarcEdit2 : Form
{
string idx;
public int row;
public string UserName = "";
Marc_Plan mp;
Helper_DB db = new Helper_DB();
String_Text st = new String_Text();
Search_Infor si;
Help008Tag tag008 = new Help008Tag();
MarcEditorControl marcEditorControl1;
public Marc_Plan_Sub_MarcEdit2(string isbn,string marcstring)
{
InitializeComponent();
db.DBcon();
marcEditorControl1 = new MarcEditorControl();
marcEditorControl1.db = this.db;
marcEditorControl1.FillBlankClicked += MarcEditorControl_FillBlankClicked;
marcEditorControl1.BookSaved += MarcEditorControl_BookSaved;
marcEditorControl1.NextButton += MarcEditorControl1_NextButton;
marcEditorControl1.PrevButton += MarcEditorControl1_PrevButton;
marcEditorControl1.CloseButton += (s1, e1) => { this.Close(); };
marcEditorControl1.Dock = DockStyle.Fill;
this.StartPosition = FormStartPosition.CenterScreen;
this.Controls.Add(marcEditorControl1);
this.KeyPreview = true;
this.KeyDown += (s1, e1) => {
if(e1.KeyCode == Keys.Escape)
{
this.Close();
}
};
}
public event EventHandler RequestNext;
public event EventHandler RequestPrev;
public class BookUpdatedEventArgs : EventArgs
{
public string BookName { get; set; }
public string Marc { get; set; }
}
public event EventHandler RequestFillBlankData;
public void OpenFillBlank(List<FillBlankItem> gridData, string currentIsbn)
{
var fb = new UniMarc.Marc_FillBlank();
foreach (var item in gridData)
{
fb.InitFillBlank(item);
}
fb.ISBN = currentIsbn;
if (fb.ShowDialog() == DialogResult.OK)
{
// Handle results
// We don't have direct access to 'BulkMarcResults' here easily unless we iterate.
// But wait, BookUpdated event is for single update.
// Marc_Plan expects 'RequestFillBlankData' to handle the *opening*, but it doesn't handle the *return* logic for bulk updates within Marc_Plan.
// The current architecture: Marc_Plan_Sub_MarcEdit2 raises RequestFillBlankData -> Marc_Plan calls OpenFillBlank.
// So now OpenFillBlank is running. When it returns, we have data.
// We need to pass this data BACK to Marc_Plan.
// I will add a 'BulkBooksUpdated' event or reuse 'BookUpdated' (but BookUpdated is single).
// Let's create 'BulkBooksUpdated'.
BulkBooksUpdated?.Invoke(this, new BulkBookUpdatedEventArgs { Updates = fb.BulkMarcResults });
}
}
public class BulkBookUpdatedEventArgs : EventArgs
{
public Dictionary<int, string> Updates { get; set; }
}
public event EventHandler<BulkBookUpdatedEventArgs> BulkBooksUpdated;
private void MarcEditorControl_FillBlankClicked(object sender, EventArgs e)
{
RequestFillBlankData?.Invoke(this, EventArgs.Empty);
}
public event EventHandler<BookUpdatedEventArgs> BookUpdated;
private void MarcEditorControl_BookSaved(object sender, MarcEditorControl.BookSavedEventArgs e)
{
// Update Specs_Marc table
string oriMarc = e.DBMarc;
string etc1 = e.Param.Remark1 ?? "";
string etc2 = e.Param.Remark2 ?? "";
string tag008 = e.Param.text008;
// 등록번호 분류기호 저자기호 볼륨 복본
// 별치 총서명 총서번호 저자 출판사
// 정가 ISBN
string[] Search_Tag = {
"049l", "090a", "090b", "049v", "049c",
"049f", "440a", "440v", "245d", "260b",
"950b", "020a"
};
string[] SearchBookTag = st.Take_Tag(oriMarc, Search_Tag);
// 도서명 (본서명 = 대등서명 : 부서명)
string[] BookTag = { "245a", "245x", "245b" };
string[] BookNameTag = st.Take_Tag(oriMarc, BookTag);
string BookName = mk_BookName(BookNameTag);
string Table = "Specs_Marc";
string[] Search_Col = { "idx" };
// Current ListIdx (Wait, idx in Marc_Plan corresponds to ListIdx in Parameter?)
// In Marc_Plan: ListIdx = idx.
string listIdx = e.Param.ListIdx;
string[] Search_data = { listIdx };
string[] Update_Col = {
"marc", "book_name", "etc1", "etc2",
"r_num", "class_symbol", "author_symbol", "prefix", "s_book_name1",
"s_book_num1", "author", "book_comp", "price", "ISBN", "tag008"
};
string[] Update_data = {
oriMarc, BookName, etc1, etc2,
SearchBookTag[0], SearchBookTag[1], SearchBookTag[2], SearchBookTag[5], SearchBookTag[6],
SearchBookTag[7], SearchBookTag[8], SearchBookTag[9], SearchBookTag[10], SearchBookTag[11], tag008
};
string cmd = db.More_Update(Table, Update_Col, Update_data, Search_Col, Search_data);
Helper_DB.ExcuteNonQuery(cmd);
// Notify Parent
BookUpdated?.Invoke(this, new BookUpdatedEventArgs { BookName = BookName, Marc = oriMarc });
MessageBox.Show("저장되었습니다!");
}
private string mk_BookName(string[] book_name)
{
string a245 = book_name[0]; // 도서명
string x245 = book_name[1]; // 대동서명
string b245 = book_name[2]; // 부서명
string result = a245;
if (x245 != "")
result += " = " + x245;
if (b245 != "")
result += " : " + b245;
return result;
}
private void MarcEditorControl1_PrevButton(object sender, EventArgs e)
{
RequestPrev?.Invoke(this, EventArgs.Empty);
}
private void MarcEditorControl1_NextButton(object sender, EventArgs e)
{
RequestNext?.Invoke(this, EventArgs.Empty);
}
public void LoadBook(string dbMarc, MacEditorParameter p)
{
this.Text = $"마크편집({p.ISBN13})-{p.BookName}";
marcEditorControl1.LoadBookData(dbMarc, p);
}
private void Marc_Plan_Sub_MarcEdit2_Load(object sender, EventArgs e)
{
this.Show();
Application.DoEvents();
}
}
}

View File

@@ -260,6 +260,7 @@ namespace UniMarc
MessageBox.Show(ex.ToString()); MessageBox.Show(ex.ToString());
} }
} }
#region OpenFileSub #region OpenFileSub
/// <summary> /// <summary>
@@ -270,7 +271,7 @@ namespace UniMarc
{ {
String_Text st = new String_Text(); String_Text st = new String_Text();
string[] grid = text.Split(''); string[] grid = text.Split(' ');
for (int a = 0; a < grid.Length - 1; a++) for (int a = 0; a < grid.Length - 1; a++)
{ {
string[] Search = { string[] Search = {

View File

@@ -12,25 +12,20 @@ namespace UniMarc
{ {
public partial class Marc_memo : Form public partial class Marc_memo : Form
{ {
Marc marc; public class MarcMemoArgs : EventArgs
AddMarc am; {
MarcEditorControl mae2; public string Data { get; set; }
public Marc_memo(MarcEditorControl _mae) public MarcMemoArgs(string message)
{
this.Data = message;
}
}
public event EventHandler<MarcMemoArgs> OnSave;
public Marc_memo()
{ {
InitializeComponent(); InitializeComponent();
mae2 = _mae;
} }
public Marc_memo(Marc _marc)
{
InitializeComponent();
marc = _marc;
}
public Marc_memo(AddMarc _am)
{
InitializeComponent();
am = _am;
}
private void Marc_memo_Load(object sender, EventArgs e) private void Marc_memo_Load(object sender, EventArgs e)
{ {
@@ -66,12 +61,13 @@ namespace UniMarc
richTextBox1.Text = ""; richTextBox1.Text = "";
if (marc != null) //if (marc != null)
marc.richTextBox1.Text = result.Replace("↔", ""); // marc.richTextBox1.Text = result.Replace("↔", "");
else if(mae2 != null) //else if(mae2 != null)
mae2.richTextBox1.Text = result.Replace("↔", ""); // mae2.richTextBox1.Text = result.Replace("↔", "");
else if (am != null) //else if (am != null)
am.richTextBox1.Text = result.Replace("↔", ""); // am.richTextBox1.Text = result.Replace("↔", "");
OnSave?.Invoke(this, new MarcMemoArgs(result.Replace("↔", "")));
} }
#region UniMarc #region UniMarc
string Hana(string text) string Hana(string text)

View File

@@ -382,7 +382,7 @@ namespace UniMarc
foreach (MarcBookItem item in marc2.dataList) // for (int a = 0; a < marc2.List_Book.Rows.Count; a++) foreach (MarcBookItem item in marc2.dataList) // for (int a = 0; a < marc2.List_Book.Rows.Count; a++)
{ {
bool isSuccess = true; bool isSuccess = true;
if (item.ForeColor == Color.Red && item.ColCheck=="V")// marc2.Check_List_V(a)) //빨간색이고 체크된거는 제외? if (item.Status == MarcRecordStatus.None && item.ColCheck == "V")
isSuccess = false; isSuccess = false;
if (isSuccess) if (isSuccess)

View File

@@ -0,0 +1,23 @@
using System;
namespace UniMarc
{
public class SearchInforItem
{
public string idx { get; set; }
public string grade { get; set; }
public string User { get; set; }
public string date { get; set; }
public string ISBN { get; set; }
public string book_name { get; set; }
public string sBookName { get; set; }
public string author { get; set; }
public string book_comp { get; set; }
public string price { get; set; }
public string pub_date { get; set; }
public string Marc { get; set; }
public string marc2 { get; set; }
public string etc1 { get; set; }
public string etc2 { get; set; }
}
}

View File

@@ -28,7 +28,7 @@
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
this.label1 = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label();
this.dataGridView1 = new System.Windows.Forms.DataGridView(); this.dataGridView1 = new System.Windows.Forms.DataGridView();
this.idx = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.idx = new System.Windows.Forms.DataGridViewTextBoxColumn();
@@ -102,14 +102,14 @@
// //
this.dataGridView1.AllowUserToAddRows = false; this.dataGridView1.AllowUserToAddRows = false;
this.dataGridView1.AllowUserToDeleteRows = false; this.dataGridView1.AllowUserToDeleteRows = false;
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; dataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control; dataGridViewCellStyle6.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle2.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); dataGridViewCellStyle6.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText; dataGridViewCellStyle6.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight; dataGridViewCellStyle6.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText; dataGridViewCellStyle6.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False; dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2; this.dataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle6;
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.idx, this.idx,

View File

@@ -78,7 +78,7 @@ namespace UniMarc
label3.Text = string.Format("검색결과 {0:0,0}건", dataGridView1.Rows.Count.ToString()); label3.Text = string.Format("검색결과 {0:0,0}건", dataGridView1.Rows.Count.ToString());
} }
#region search_Click_Sub
string MakeWHEREQurey(string target, string searchText) string MakeWHEREQurey(string target, string searchText)
{ {
@@ -113,7 +113,7 @@ namespace UniMarc
string tText = string.Empty; string tText = string.Empty;
string[] tTextBox = new string[] { tbTitle.Text, tbWriter.Text, tbPublisher.Text, tbISBN.Text, Change_Grade(cbGrade.Text), cbUser.Text }; string[] tTextBox = new string[] { tbTitle.Text, tbWriter.Text, tbPublisher.Text, tbISBN.Text, Change_Grade(cbGrade.Text), cbUser.Text };
string[] tTitle_IDX_0 = new string[] { "서명", "저자", "출판사", "isbn", "grade", "user", "date" }; string[] tTitle_IDX_0 = new string[] { "서명", "저자", "출판사", "isbn", "grade", "user", "date" };
string[] tTitle_IDX_1 = new string[] { "book_name", "author", "book_comp", "isbn", "grade"}; string[] tTitle_IDX_1 = new string[] { "book_name", "author", "book_comp", "isbn", "grade" };
if (cb_data_area.SelectedIndex == 0) if (cb_data_area.SelectedIndex == 0)
{ {
for (int i = 0; i < tTitle_IDX_0.Length; i++) for (int i = 0; i < tTitle_IDX_0.Length; i++)
@@ -197,12 +197,14 @@ namespace UniMarc
if (index == 8) grid[8] = arr[a]; // 출판사 if (index == 8) grid[8] = arr[a]; // 출판사
if (index == 9) grid[9] = arr[a]; // 가격 if (index == 9) grid[9] = arr[a]; // 가격
if (index == 10) grid[10] = arr[a]; // 출판년월 if (index == 10) grid[10] = arr[a]; // 출판년월
if (index == 12 || index == 14 || index == 16) { // *마크* if (index == 12 || index == 14 || index == 16)
{ // *마크*
bool CheckMarc = MyDB_Sub(arr[a]); bool CheckMarc = MyDB_Sub(arr[a]);
if (!CheckMarc) grid[11] = arr[a - 1]; if (!CheckMarc) grid[11] = arr[a - 1];
} }
if (index == 17) grid[12] = arr[a]; // 비고1 if (index == 17) grid[12] = arr[a]; // 비고1
if (index == 18) { // 비고2 if (index == 18)
{ // 비고2
grid[13] = arr[a]; grid[13] = arr[a];
dataGridView1.Rows.Add(grid); dataGridView1.Rows.Add(grid);
} }
@@ -356,7 +358,6 @@ namespace UniMarc
return (res, search); return (res, search);
} }
#endregion
private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e) private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{ {
int row = e.RowIndex; int row = e.RowIndex;
@@ -366,7 +367,8 @@ namespace UniMarc
if (row < 0) if (row < 0)
return; return;
Marc_Plan_Sub_MarcEdit me = new Marc_Plan_Sub_MarcEdit(this);
var me = new Marc_Plan_Sub_MarcEdit(this);
string[] Marc = { string[] Marc = {
dataGridView1.Rows[row].Cells["Marc"].Value.ToString(), dataGridView1.Rows[row].Cells["Marc"].Value.ToString(),
idx, idx,
@@ -381,6 +383,8 @@ namespace UniMarc
me.btn_EditNum.Enabled = false; me.btn_EditNum.Enabled = false;
me.Show(); me.Show();
// Search_Infor_Sub sis = new Search_Infor_Sub(this); // Search_Infor_Sub sis = new Search_Infor_Sub(this);
// sis.isbn = dataGridView1.Rows[row].Cells["ISBN"].Value.ToString(); // sis.isbn = dataGridView1.Rows[row].Cells["ISBN"].Value.ToString();
// sis.marc = dataGridView1.Rows[row].Cells["Marc"].Value.ToString(); // sis.marc = dataGridView1.Rows[row].Cells["Marc"].Value.ToString();
@@ -516,7 +520,7 @@ namespace UniMarc
me.row = row; me.row = row;
me.UserName = main.botUserLabel.Text; me.UserName = main.botUserLabel.Text;
me.Init(Marc,true); me.Init(Marc, true);
me.btn_EditNum.Enabled = false; me.btn_EditNum.Enabled = false;
me.Show(); me.Show();
} }

View File

@@ -0,0 +1,866 @@
namespace UniMarc
{
partial class Search_Infor2
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Search_Infor2));
this.label1 = new System.Windows.Forms.Label();
this.dataGridView1 = new System.Windows.Forms.DataGridView();
this.idx = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.grade = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.User = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.date = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.ISBN = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.book_name = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.sBookName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.author = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.book_comp = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.price = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.pub_date = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Marc = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.marc2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.etc1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.etc2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.label2 = new System.Windows.Forms.Label();
this.tb_search = new System.Windows.Forms.TextBox();
this.btn_search = new System.Windows.Forms.Button();
this.cb_filter = new System.Windows.Forms.ComboBox();
this.btn_close = new System.Windows.Forms.Button();
this.cb_data_area = new System.Windows.Forms.ComboBox();
this.label3 = new System.Windows.Forms.Label();
this.cb_filterDetail = new System.Windows.Forms.ComboBox();
this.panel1 = new System.Windows.Forms.Panel();
this.panel5 = new System.Windows.Forms.Panel();
this.dtp_End = new System.Windows.Forms.DateTimePicker();
this.dtp_Start = new System.Windows.Forms.DateTimePicker();
this.panel4 = new System.Windows.Forms.Panel();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.CkDateTime = new System.Windows.Forms.CheckBox();
this.label5 = new System.Windows.Forms.Label();
this.tbTitle = new System.Windows.Forms.TextBox();
this.label4 = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
this.cbGrade = new System.Windows.Forms.ComboBox();
this.label7 = new System.Windows.Forms.Label();
this.tbWriter = new System.Windows.Forms.TextBox();
this.tbPublisher = new System.Windows.Forms.TextBox();
this.label8 = new System.Windows.Forms.Label();
this.label9 = new System.Windows.Forms.Label();
this.label10 = new System.Windows.Forms.Label();
this.cbUser = new System.Windows.Forms.ComboBox();
this.label11 = new System.Windows.Forms.Label();
this.tbISBN = new System.Windows.Forms.TextBox();
this.DtpStartTime = new System.Windows.Forms.DateTimePicker();
this.DtpEndTime = new System.Windows.Forms.DateTimePicker();
this.btnViewOldData = new System.Windows.Forms.Button();
this.panel3 = new System.Windows.Forms.Panel();
this.panel2 = new System.Windows.Forms.Panel();
this.bindingNavigator1 = new System.Windows.Forms.BindingNavigator(this.components);
this.bs1 = new System.Windows.Forms.BindingSource(this.components);
this.bindingNavigatorCountItem = new System.Windows.Forms.ToolStripLabel();
this.bindingNavigatorMoveFirstItem = new System.Windows.Forms.ToolStripButton();
this.bindingNavigatorMovePreviousItem = new System.Windows.Forms.ToolStripButton();
this.bindingNavigatorSeparator = new System.Windows.Forms.ToolStripSeparator();
this.bindingNavigatorPositionItem = new System.Windows.Forms.ToolStripTextBox();
this.bindingNavigatorSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.bindingNavigatorMoveNextItem = new System.Windows.Forms.ToolStripButton();
this.bindingNavigatorMoveLastItem = new System.Windows.Forms.ToolStripButton();
this.bindingNavigatorSeparator2 = new System.Windows.Forms.ToolStripSeparator();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.panel1.SuspendLayout();
this.panel5.SuspendLayout();
this.panel4.SuspendLayout();
this.tableLayoutPanel1.SuspendLayout();
this.panel3.SuspendLayout();
this.panel2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.bindingNavigator1)).BeginInit();
this.bindingNavigator1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.bs1)).BeginInit();
this.SuspendLayout();
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(10, 35);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(53, 12);
this.label1.TabIndex = 5;
this.label1.Text = "검색필터";
//
// dataGridView1
//
this.dataGridView1.AllowUserToAddRows = false;
this.dataGridView1.AllowUserToDeleteRows = false;
dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle5.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle5;
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.idx,
this.grade,
this.User,
this.date,
this.ISBN,
this.book_name,
this.sBookName,
this.author,
this.book_comp,
this.price,
this.pub_date,
this.Marc,
this.marc2,
this.etc1,
this.etc2});
this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.dataGridView1.Location = new System.Drawing.Point(0, 0);
this.dataGridView1.MultiSelect = false;
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.RowHeadersWidth = 20;
this.dataGridView1.RowTemplate.Height = 23;
this.dataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.dataGridView1.Size = new System.Drawing.Size(1530, 551);
this.dataGridView1.TabIndex = 0;
this.dataGridView1.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellDoubleClick);
//
// idx
//
this.idx.DataPropertyName = "idx";
this.idx.HeaderText = "idx";
this.idx.Name = "idx";
this.idx.Visible = false;
//
// grade
//
this.grade.DataPropertyName = "grade";
this.grade.HeaderText = "등급";
this.grade.Name = "grade";
this.grade.Width = 50;
//
// User
//
this.User.DataPropertyName = "User";
this.User.HeaderText = "작성자";
this.User.Name = "User";
//
// date
//
this.date.DataPropertyName = "date";
this.date.HeaderText = "날짜";
this.date.Name = "date";
//
// ISBN
//
this.ISBN.DataPropertyName = "ISBN";
this.ISBN.HeaderText = "ISBN";
this.ISBN.Name = "ISBN";
//
// book_name
//
this.book_name.DataPropertyName = "book_name";
this.book_name.HeaderText = "도서명";
this.book_name.Name = "book_name";
this.book_name.Width = 250;
//
// sBookName
//
this.sBookName.DataPropertyName = "sBookName";
this.sBookName.HeaderText = "총서명";
this.sBookName.Name = "sBookName";
//
// author
//
this.author.DataPropertyName = "author";
this.author.HeaderText = "저자";
this.author.Name = "author";
this.author.Width = 130;
//
// book_comp
//
this.book_comp.DataPropertyName = "book_comp";
this.book_comp.HeaderText = "출판사";
this.book_comp.Name = "book_comp";
this.book_comp.Width = 200;
//
// price
//
this.price.DataPropertyName = "price";
this.price.HeaderText = "정가";
this.price.Name = "price";
this.price.Width = 80;
//
// pub_date
//
this.pub_date.DataPropertyName = "pub_date";
this.pub_date.HeaderText = "출판년월";
this.pub_date.Name = "pub_date";
//
// Marc
//
this.Marc.DataPropertyName = "Marc";
this.Marc.HeaderText = "marc";
this.Marc.Name = "Marc";
this.Marc.Visible = false;
//
// marc2
//
this.marc2.DataPropertyName = "marc2";
this.marc2.HeaderText = "marc2";
this.marc2.Name = "marc2";
this.marc2.Visible = false;
//
// etc1
//
this.etc1.DataPropertyName = "etc1";
this.etc1.HeaderText = "비고1";
this.etc1.Name = "etc1";
this.etc1.Width = 140;
//
// etc2
//
this.etc2.DataPropertyName = "etc2";
this.etc2.HeaderText = "비고2";
this.etc2.Name = "etc2";
this.etc2.Width = 140;
//
// label2
//
this.label2.Location = new System.Drawing.Point(363, 9);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(41, 12);
this.label2.TabIndex = 5;
this.label2.Text = "검색어";
this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.label2.Visible = false;
//
// tb_search
//
this.tb_search.Location = new System.Drawing.Point(182, 26);
this.tb_search.Name = "tb_search";
this.tb_search.Size = new System.Drawing.Size(222, 21);
this.tb_search.TabIndex = 6;
this.tb_search.Visible = false;
this.tb_search.KeyDown += new System.Windows.Forms.KeyEventHandler(this.tb_search_KeyDown);
//
// btn_search
//
this.btn_search.Dock = System.Windows.Forms.DockStyle.Fill;
this.btn_search.Location = new System.Drawing.Point(485, 1);
this.btn_search.Margin = new System.Windows.Forms.Padding(0);
this.btn_search.Name = "btn_search";
this.tableLayoutPanel1.SetRowSpan(this.btn_search, 2);
this.btn_search.Size = new System.Drawing.Size(120, 40);
this.btn_search.TabIndex = 7;
this.btn_search.Text = "검 색";
this.btn_search.UseVisualStyleBackColor = true;
this.btn_search.Click += new System.EventHandler(this.btn_search_Click);
//
// cb_filter
//
this.cb_filter.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cb_filter.FormattingEnabled = true;
this.cb_filter.Location = new System.Drawing.Point(176, 53);
this.cb_filter.Name = "cb_filter";
this.cb_filter.Size = new System.Drawing.Size(111, 20);
this.cb_filter.TabIndex = 50;
this.cb_filter.Visible = false;
this.cb_filter.SelectedIndexChanged += new System.EventHandler(this.cb_filter_SelectedIndexChanged);
//
// btn_close
//
this.btn_close.Dock = System.Windows.Forms.DockStyle.Fill;
this.btn_close.Location = new System.Drawing.Point(606, 1);
this.btn_close.Margin = new System.Windows.Forms.Padding(0);
this.btn_close.Name = "btn_close";
this.tableLayoutPanel1.SetRowSpan(this.btn_close, 2);
this.btn_close.Size = new System.Drawing.Size(122, 40);
this.btn_close.TabIndex = 51;
this.btn_close.Text = "닫 기";
this.btn_close.UseVisualStyleBackColor = true;
this.btn_close.Click += new System.EventHandler(this.btn_close_Click);
//
// cb_data_area
//
this.cb_data_area.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cb_data_area.FormattingEnabled = true;
this.cb_data_area.Location = new System.Drawing.Point(65, 31);
this.cb_data_area.Name = "cb_data_area";
this.cb_data_area.Size = new System.Drawing.Size(145, 20);
this.cb_data_area.TabIndex = 52;
this.cb_data_area.SelectedIndexChanged += new System.EventHandler(this.cb_data_area_SelectedIndexChanged);
//
// label3
//
this.tableLayoutPanel1.SetColumnSpan(this.label3, 2);
this.label3.Dock = System.Windows.Forms.DockStyle.Fill;
this.label3.Location = new System.Drawing.Point(485, 42);
this.label3.Margin = new System.Windows.Forms.Padding(0);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(243, 23);
this.label3.TabIndex = 53;
this.label3.Text = "검색결과";
this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// cb_filterDetail
//
this.cb_filterDetail.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cb_filterDetail.FormattingEnabled = true;
this.cb_filterDetail.Location = new System.Drawing.Point(293, 53);
this.cb_filterDetail.Name = "cb_filterDetail";
this.cb_filterDetail.Size = new System.Drawing.Size(111, 20);
this.cb_filterDetail.TabIndex = 50;
this.cb_filterDetail.Visible = false;
//
// panel1
//
this.panel1.Controls.Add(this.panel5);
this.panel1.Controls.Add(this.panel4);
this.panel1.Controls.Add(this.panel3);
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(1530, 90);
this.panel1.TabIndex = 0;
//
// panel5
//
this.panel5.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panel5.Controls.Add(this.label2);
this.panel5.Controls.Add(this.cb_filterDetail);
this.panel5.Controls.Add(this.cb_filter);
this.panel5.Controls.Add(this.tb_search);
this.panel5.Controls.Add(this.dtp_End);
this.panel5.Controls.Add(this.dtp_Start);
this.panel5.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel5.Location = new System.Drawing.Point(960, 0);
this.panel5.Name = "panel5";
this.panel5.Size = new System.Drawing.Size(570, 90);
this.panel5.TabIndex = 56;
//
// dtp_End
//
this.dtp_End.CustomFormat = "yyyy-MM-dd";
this.dtp_End.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
this.dtp_End.Location = new System.Drawing.Point(406, 46);
this.dtp_End.Margin = new System.Windows.Forms.Padding(0);
this.dtp_End.Name = "dtp_End";
this.dtp_End.Size = new System.Drawing.Size(112, 21);
this.dtp_End.TabIndex = 51;
this.dtp_End.Visible = false;
//
// dtp_Start
//
this.dtp_Start.CustomFormat = "yyyy-MM-dd";
this.dtp_Start.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
this.dtp_Start.Location = new System.Drawing.Point(407, 14);
this.dtp_Start.Margin = new System.Windows.Forms.Padding(0);
this.dtp_Start.Name = "dtp_Start";
this.dtp_Start.Size = new System.Drawing.Size(111, 21);
this.dtp_Start.TabIndex = 51;
this.dtp_Start.Visible = false;
//
// panel4
//
this.panel4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panel4.Controls.Add(this.tableLayoutPanel1);
this.panel4.Dock = System.Windows.Forms.DockStyle.Left;
this.panel4.Location = new System.Drawing.Point(229, 0);
this.panel4.Name = "panel4";
this.panel4.Size = new System.Drawing.Size(731, 90);
this.panel4.TabIndex = 55;
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.Single;
this.tableLayoutPanel1.ColumnCount = 6;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 16.66667F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 16.66667F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 16.66667F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 16.66667F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 16.66667F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 16.66667F));
this.tableLayoutPanel1.Controls.Add(this.CkDateTime, 4, 3);
this.tableLayoutPanel1.Controls.Add(this.label5, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.btn_close, 5, 0);
this.tableLayoutPanel1.Controls.Add(this.btn_search, 4, 0);
this.tableLayoutPanel1.Controls.Add(this.tbTitle, 1, 0);
this.tableLayoutPanel1.Controls.Add(this.label4, 2, 3);
this.tableLayoutPanel1.Controls.Add(this.label6, 0, 1);
this.tableLayoutPanel1.Controls.Add(this.cbGrade, 3, 1);
this.tableLayoutPanel1.Controls.Add(this.label7, 0, 2);
this.tableLayoutPanel1.Controls.Add(this.tbWriter, 1, 1);
this.tableLayoutPanel1.Controls.Add(this.tbPublisher, 1, 2);
this.tableLayoutPanel1.Controls.Add(this.label8, 2, 0);
this.tableLayoutPanel1.Controls.Add(this.label9, 2, 1);
this.tableLayoutPanel1.Controls.Add(this.label10, 2, 2);
this.tableLayoutPanel1.Controls.Add(this.cbUser, 3, 2);
this.tableLayoutPanel1.Controls.Add(this.label11, 0, 3);
this.tableLayoutPanel1.Controls.Add(this.tbISBN, 3, 0);
this.tableLayoutPanel1.Controls.Add(this.DtpStartTime, 1, 3);
this.tableLayoutPanel1.Controls.Add(this.DtpEndTime, 3, 3);
this.tableLayoutPanel1.Controls.Add(this.label3, 4, 2);
this.tableLayoutPanel1.Controls.Add(this.btnViewOldData, 5, 3);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
this.tableLayoutPanel1.Margin = new System.Windows.Forms.Padding(0);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 4;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 31.37255F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 32.02614F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 36.60131F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(729, 88);
this.tableLayoutPanel1.TabIndex = 54;
//
// CkDateTime
//
this.CkDateTime.AutoSize = true;
this.CkDateTime.Checked = true;
this.CkDateTime.CheckState = System.Windows.Forms.CheckState.Checked;
this.CkDateTime.Dock = System.Windows.Forms.DockStyle.Fill;
this.CkDateTime.Location = new System.Drawing.Point(488, 69);
this.CkDateTime.Name = "CkDateTime";
this.CkDateTime.Size = new System.Drawing.Size(114, 15);
this.CkDateTime.TabIndex = 53;
this.CkDateTime.Text = "날짜 검색 사용";
this.CkDateTime.UseVisualStyleBackColor = true;
//
// label5
//
this.label5.Dock = System.Windows.Forms.DockStyle.Fill;
this.label5.Location = new System.Drawing.Point(1, 1);
this.label5.Margin = new System.Windows.Forms.Padding(0);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(120, 19);
this.label5.TabIndex = 5;
this.label5.Text = "도서명";
this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// tbTitle
//
this.tbTitle.Dock = System.Windows.Forms.DockStyle.Fill;
this.tbTitle.Font = new System.Drawing.Font("굴림", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.tbTitle.Location = new System.Drawing.Point(122, 1);
this.tbTitle.Margin = new System.Windows.Forms.Padding(0);
this.tbTitle.Name = "tbTitle";
this.tbTitle.Size = new System.Drawing.Size(120, 20);
this.tbTitle.TabIndex = 6;
this.tbTitle.KeyDown += new System.Windows.Forms.KeyEventHandler(this.tb_search_KeyDown);
//
// label4
//
this.label4.Dock = System.Windows.Forms.DockStyle.Fill;
this.label4.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.label4.Location = new System.Drawing.Point(243, 66);
this.label4.Margin = new System.Windows.Forms.Padding(0);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(120, 21);
this.label4.TabIndex = 53;
this.label4.Text = "~";
this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label6
//
this.label6.Dock = System.Windows.Forms.DockStyle.Fill;
this.label6.Location = new System.Drawing.Point(1, 21);
this.label6.Margin = new System.Windows.Forms.Padding(0);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(120, 20);
this.label6.TabIndex = 5;
this.label6.Text = "저자";
this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// cbGrade
//
this.cbGrade.Dock = System.Windows.Forms.DockStyle.Fill;
this.cbGrade.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbGrade.FormattingEnabled = true;
this.cbGrade.Items.AddRange(new object[] {
"전체",
"A",
"B",
"C",
"D"});
this.cbGrade.Location = new System.Drawing.Point(364, 21);
this.cbGrade.Margin = new System.Windows.Forms.Padding(0);
this.cbGrade.Name = "cbGrade";
this.cbGrade.Size = new System.Drawing.Size(120, 20);
this.cbGrade.TabIndex = 50;
//
// label7
//
this.label7.Dock = System.Windows.Forms.DockStyle.Fill;
this.label7.Location = new System.Drawing.Point(1, 42);
this.label7.Margin = new System.Windows.Forms.Padding(0);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(120, 23);
this.label7.TabIndex = 5;
this.label7.Text = "출판사";
this.label7.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// tbWriter
//
this.tbWriter.Dock = System.Windows.Forms.DockStyle.Fill;
this.tbWriter.Font = new System.Drawing.Font("굴림", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.tbWriter.Location = new System.Drawing.Point(122, 21);
this.tbWriter.Margin = new System.Windows.Forms.Padding(0);
this.tbWriter.Name = "tbWriter";
this.tbWriter.Size = new System.Drawing.Size(120, 20);
this.tbWriter.TabIndex = 6;
this.tbWriter.KeyDown += new System.Windows.Forms.KeyEventHandler(this.tb_search_KeyDown);
//
// tbPublisher
//
this.tbPublisher.Dock = System.Windows.Forms.DockStyle.Fill;
this.tbPublisher.Font = new System.Drawing.Font("굴림", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.tbPublisher.Location = new System.Drawing.Point(122, 42);
this.tbPublisher.Margin = new System.Windows.Forms.Padding(0);
this.tbPublisher.Name = "tbPublisher";
this.tbPublisher.Size = new System.Drawing.Size(120, 20);
this.tbPublisher.TabIndex = 6;
this.tbPublisher.KeyDown += new System.Windows.Forms.KeyEventHandler(this.tb_search_KeyDown);
//
// label8
//
this.label8.Dock = System.Windows.Forms.DockStyle.Fill;
this.label8.Location = new System.Drawing.Point(243, 1);
this.label8.Margin = new System.Windows.Forms.Padding(0);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(120, 19);
this.label8.TabIndex = 5;
this.label8.Text = "ISBN";
this.label8.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label9
//
this.label9.Dock = System.Windows.Forms.DockStyle.Fill;
this.label9.Location = new System.Drawing.Point(243, 21);
this.label9.Margin = new System.Windows.Forms.Padding(0);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(120, 20);
this.label9.TabIndex = 5;
this.label9.Text = "등급";
this.label9.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label10
//
this.label10.Dock = System.Windows.Forms.DockStyle.Fill;
this.label10.Location = new System.Drawing.Point(243, 42);
this.label10.Margin = new System.Windows.Forms.Padding(0);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(120, 23);
this.label10.TabIndex = 5;
this.label10.Text = "작성자";
this.label10.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// cbUser
//
this.cbUser.Dock = System.Windows.Forms.DockStyle.Fill;
this.cbUser.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbUser.FormattingEnabled = true;
this.cbUser.Location = new System.Drawing.Point(364, 42);
this.cbUser.Margin = new System.Windows.Forms.Padding(0);
this.cbUser.Name = "cbUser";
this.cbUser.Size = new System.Drawing.Size(120, 20);
this.cbUser.TabIndex = 50;
//
// label11
//
this.label11.Dock = System.Windows.Forms.DockStyle.Fill;
this.label11.Location = new System.Drawing.Point(1, 66);
this.label11.Margin = new System.Windows.Forms.Padding(0);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(120, 21);
this.label11.TabIndex = 5;
this.label11.Text = "날짜";
this.label11.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// tbISBN
//
this.tbISBN.Dock = System.Windows.Forms.DockStyle.Fill;
this.tbISBN.Font = new System.Drawing.Font("굴림", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.tbISBN.Location = new System.Drawing.Point(364, 1);
this.tbISBN.Margin = new System.Windows.Forms.Padding(0);
this.tbISBN.Name = "tbISBN";
this.tbISBN.Size = new System.Drawing.Size(120, 20);
this.tbISBN.TabIndex = 6;
this.tbISBN.KeyDown += new System.Windows.Forms.KeyEventHandler(this.tb_search_KeyDown);
//
// DtpStartTime
//
this.DtpStartTime.CustomFormat = "yyyy-MM-dd";
this.DtpStartTime.Dock = System.Windows.Forms.DockStyle.Fill;
this.DtpStartTime.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
this.DtpStartTime.Location = new System.Drawing.Point(122, 66);
this.DtpStartTime.Margin = new System.Windows.Forms.Padding(0);
this.DtpStartTime.Name = "DtpStartTime";
this.DtpStartTime.Size = new System.Drawing.Size(120, 21);
this.DtpStartTime.TabIndex = 54;
//
// DtpEndTime
//
this.DtpEndTime.CustomFormat = "yyyy-MM-dd";
this.DtpEndTime.Dock = System.Windows.Forms.DockStyle.Fill;
this.DtpEndTime.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
this.DtpEndTime.Location = new System.Drawing.Point(364, 66);
this.DtpEndTime.Margin = new System.Windows.Forms.Padding(0);
this.DtpEndTime.Name = "DtpEndTime";
this.DtpEndTime.Size = new System.Drawing.Size(120, 21);
this.DtpEndTime.TabIndex = 54;
//
// btnViewOldData
//
this.btnViewOldData.Dock = System.Windows.Forms.DockStyle.Fill;
this.btnViewOldData.Location = new System.Drawing.Point(606, 66);
this.btnViewOldData.Margin = new System.Windows.Forms.Padding(0);
this.btnViewOldData.Name = "btnViewOldData";
this.btnViewOldData.Size = new System.Drawing.Size(122, 21);
this.btnViewOldData.TabIndex = 52;
this.btnViewOldData.Text = "이전 데이터 보기";
this.btnViewOldData.UseVisualStyleBackColor = true;
this.btnViewOldData.Click += new System.EventHandler(this.btnViewOldData_Click);
//
// panel3
//
this.panel3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.panel3.Controls.Add(this.label1);
this.panel3.Controls.Add(this.cb_data_area);
this.panel3.Dock = System.Windows.Forms.DockStyle.Left;
this.panel3.Location = new System.Drawing.Point(0, 0);
this.panel3.Name = "panel3";
this.panel3.Size = new System.Drawing.Size(229, 90);
this.panel3.TabIndex = 54;
//
// panel2
//
this.panel2.Controls.Add(this.dataGridView1);
this.panel2.Controls.Add(this.bindingNavigator1);
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel2.Location = new System.Drawing.Point(0, 90);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(1530, 576);
this.panel2.TabIndex = 55;
//
// bindingNavigator1
//
this.bindingNavigator1.AddNewItem = null;
this.bindingNavigator1.BindingSource = this.bs1;
this.bindingNavigator1.CountItem = this.bindingNavigatorCountItem;
this.bindingNavigator1.DeleteItem = null;
this.bindingNavigator1.Dock = System.Windows.Forms.DockStyle.Bottom;
this.bindingNavigator1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.bindingNavigatorMoveFirstItem,
this.bindingNavigatorMovePreviousItem,
this.bindingNavigatorSeparator,
this.bindingNavigatorPositionItem,
this.bindingNavigatorCountItem,
this.bindingNavigatorSeparator1,
this.bindingNavigatorMoveNextItem,
this.bindingNavigatorMoveLastItem,
this.bindingNavigatorSeparator2});
this.bindingNavigator1.Location = new System.Drawing.Point(0, 551);
this.bindingNavigator1.MoveFirstItem = this.bindingNavigatorMoveFirstItem;
this.bindingNavigator1.MoveLastItem = this.bindingNavigatorMoveLastItem;
this.bindingNavigator1.MoveNextItem = this.bindingNavigatorMoveNextItem;
this.bindingNavigator1.MovePreviousItem = this.bindingNavigatorMovePreviousItem;
this.bindingNavigator1.Name = "bindingNavigator1";
this.bindingNavigator1.PositionItem = this.bindingNavigatorPositionItem;
this.bindingNavigator1.Size = new System.Drawing.Size(1530, 25);
this.bindingNavigator1.TabIndex = 1;
this.bindingNavigator1.Text = "bindingNavigator1";
//
// bindingNavigatorCountItem
//
this.bindingNavigatorCountItem.Name = "bindingNavigatorCountItem";
this.bindingNavigatorCountItem.Size = new System.Drawing.Size(27, 22);
this.bindingNavigatorCountItem.Text = "/{0}";
this.bindingNavigatorCountItem.ToolTipText = "전체 항목 수";
//
// bindingNavigatorMoveFirstItem
//
this.bindingNavigatorMoveFirstItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.bindingNavigatorMoveFirstItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorMoveFirstItem.Image")));
this.bindingNavigatorMoveFirstItem.Name = "bindingNavigatorMoveFirstItem";
this.bindingNavigatorMoveFirstItem.RightToLeftAutoMirrorImage = true;
this.bindingNavigatorMoveFirstItem.Size = new System.Drawing.Size(23, 22);
this.bindingNavigatorMoveFirstItem.Text = "처음으로 이동";
//
// bindingNavigatorMovePreviousItem
//
this.bindingNavigatorMovePreviousItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.bindingNavigatorMovePreviousItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorMovePreviousItem.Image")));
this.bindingNavigatorMovePreviousItem.Name = "bindingNavigatorMovePreviousItem";
this.bindingNavigatorMovePreviousItem.RightToLeftAutoMirrorImage = true;
this.bindingNavigatorMovePreviousItem.Size = new System.Drawing.Size(23, 22);
this.bindingNavigatorMovePreviousItem.Text = "이전으로 이동";
//
// bindingNavigatorSeparator
//
this.bindingNavigatorSeparator.Name = "bindingNavigatorSeparator";
this.bindingNavigatorSeparator.Size = new System.Drawing.Size(6, 25);
//
// bindingNavigatorPositionItem
//
this.bindingNavigatorPositionItem.AccessibleName = "위치";
this.bindingNavigatorPositionItem.AutoSize = false;
this.bindingNavigatorPositionItem.Font = new System.Drawing.Font("맑은 고딕", 9F);
this.bindingNavigatorPositionItem.Name = "bindingNavigatorPositionItem";
this.bindingNavigatorPositionItem.Size = new System.Drawing.Size(50, 23);
this.bindingNavigatorPositionItem.Text = "0";
this.bindingNavigatorPositionItem.ToolTipText = "현재 위치";
//
// bindingNavigatorSeparator1
//
this.bindingNavigatorSeparator1.Name = "bindingNavigatorSeparator1";
this.bindingNavigatorSeparator1.Size = new System.Drawing.Size(6, 25);
//
// bindingNavigatorMoveNextItem
//
this.bindingNavigatorMoveNextItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.bindingNavigatorMoveNextItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorMoveNextItem.Image")));
this.bindingNavigatorMoveNextItem.Name = "bindingNavigatorMoveNextItem";
this.bindingNavigatorMoveNextItem.RightToLeftAutoMirrorImage = true;
this.bindingNavigatorMoveNextItem.Size = new System.Drawing.Size(23, 22);
this.bindingNavigatorMoveNextItem.Text = "다음으로 이동";
//
// bindingNavigatorMoveLastItem
//
this.bindingNavigatorMoveLastItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.bindingNavigatorMoveLastItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorMoveLastItem.Image")));
this.bindingNavigatorMoveLastItem.Name = "bindingNavigatorMoveLastItem";
this.bindingNavigatorMoveLastItem.RightToLeftAutoMirrorImage = true;
this.bindingNavigatorMoveLastItem.Size = new System.Drawing.Size(23, 22);
this.bindingNavigatorMoveLastItem.Text = "마지막으로 이동";
//
// bindingNavigatorSeparator2
//
this.bindingNavigatorSeparator2.Name = "bindingNavigatorSeparator2";
this.bindingNavigatorSeparator2.Size = new System.Drawing.Size(6, 25);
//
// Search_Infor2
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1530, 666);
this.Controls.Add(this.panel2);
this.Controls.Add(this.panel1);
this.Name = "Search_Infor2";
this.Text = "소장자료검색(New)";
this.Load += new System.EventHandler(this.Search_Infor_Load);
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
this.panel1.ResumeLayout(false);
this.panel5.ResumeLayout(false);
this.panel5.PerformLayout();
this.panel4.ResumeLayout(false);
this.tableLayoutPanel1.ResumeLayout(false);
this.tableLayoutPanel1.PerformLayout();
this.panel3.ResumeLayout(false);
this.panel3.PerformLayout();
this.panel2.ResumeLayout(false);
this.panel2.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.bindingNavigator1)).EndInit();
this.bindingNavigator1.ResumeLayout(false);
this.bindingNavigator1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.bs1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.TextBox tb_search;
private System.Windows.Forms.Button btn_search;
private System.Windows.Forms.ComboBox cb_filter;
private System.Windows.Forms.Button btn_close;
private System.Windows.Forms.ComboBox cb_data_area;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.ComboBox cb_filterDetail;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.Panel panel3;
private System.Windows.Forms.Panel panel4;
private System.Windows.Forms.Panel panel5;
private System.Windows.Forms.DateTimePicker dtp_Start;
private System.Windows.Forms.DateTimePicker dtp_End;
private System.Windows.Forms.Label label4;
public System.Windows.Forms.DataGridView dataGridView1;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.TextBox tbTitle;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.TextBox tbWriter;
private System.Windows.Forms.TextBox tbPublisher;
private System.Windows.Forms.ComboBox cbGrade;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.Label label10;
private System.Windows.Forms.ComboBox cbUser;
private System.Windows.Forms.Label label11;
private System.Windows.Forms.TextBox tbISBN;
private System.Windows.Forms.DateTimePicker DtpStartTime;
private System.Windows.Forms.DateTimePicker DtpEndTime;
private System.Windows.Forms.CheckBox CkDateTime;
private System.Windows.Forms.Button btnViewOldData;
private System.Windows.Forms.DataGridViewTextBoxColumn idx;
private System.Windows.Forms.DataGridViewTextBoxColumn grade;
private System.Windows.Forms.DataGridViewTextBoxColumn User;
private System.Windows.Forms.DataGridViewTextBoxColumn date;
private System.Windows.Forms.DataGridViewTextBoxColumn ISBN;
private System.Windows.Forms.DataGridViewTextBoxColumn book_name;
private System.Windows.Forms.DataGridViewTextBoxColumn sBookName;
private System.Windows.Forms.DataGridViewTextBoxColumn author;
private System.Windows.Forms.DataGridViewTextBoxColumn book_comp;
private System.Windows.Forms.DataGridViewTextBoxColumn price;
private System.Windows.Forms.DataGridViewTextBoxColumn pub_date;
private System.Windows.Forms.DataGridViewTextBoxColumn Marc;
private System.Windows.Forms.DataGridViewTextBoxColumn marc2;
private System.Windows.Forms.DataGridViewTextBoxColumn etc1;
private System.Windows.Forms.DataGridViewTextBoxColumn etc2;
private System.Windows.Forms.BindingNavigator bindingNavigator1;
private System.Windows.Forms.BindingSource bs1;
private System.Windows.Forms.ToolStripLabel bindingNavigatorCountItem;
private System.Windows.Forms.ToolStripButton bindingNavigatorMoveFirstItem;
private System.Windows.Forms.ToolStripButton bindingNavigatorMovePreviousItem;
private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator;
private System.Windows.Forms.ToolStripTextBox bindingNavigatorPositionItem;
private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator1;
private System.Windows.Forms.ToolStripButton bindingNavigatorMoveNextItem;
private System.Windows.Forms.ToolStripButton bindingNavigatorMoveLastItem;
private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator2;
}
}

View File

@@ -0,0 +1,697 @@
using AR;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace UniMarc
{
public partial class Search_Infor2 : Form
{
Main main;
public string compidx;
SortableBindingList<SearchInforItem> searchList = new SortableBindingList<SearchInforItem>();
public Search_Infor2(Main _main)
{
InitializeComponent();
main = _main;
compidx = PUB.user.CompanyIdx;
dataGridView1.AutoGenerateColumns = false;
bs1.DataSource = searchList;
dataGridView1.DataSource = bs1;
}
private void Search_Infor_Load(object sender, EventArgs e)
{
//db.DBcon();
string[] area = { "자체 DB", "국립 중앙 도서관" };
cb_data_area.Items.AddRange(area);
cb_data_area.SelectedIndex = 0;
dataGridView1.Columns["etc1"].ReadOnly = true;
dataGridView1.Columns["etc2"].ReadOnly = true;
}
private void btn_search_Click(object sender, EventArgs e)
{
searchList.Clear();
string Table = "Marc";
string tQuery = MakeWHEREQurey();
if (cb_data_area.SelectedIndex == 0)
{
Helper_DB db = new Helper_DB();
db.DBcon();
string Area =
"`idx`, `grade`, `user`, `date`, `isbn`, `서명` AS `book_name`, "
+ "`총서명` AS `series`, `저자` AS `author`, `출판사` AS `book_comp`, `가격` AS `price`, `출판년월` AS `years`, "
+ "`marc`, `marc1` AS `marc2`, `비고1` AS `etc1`, `비고2` AS `etc2` ";
string cmd = string.Format("SELECT {0} FROM `{1}` WHERE `compidx` = \"{3}\" {2};", Area, Table, tQuery, compidx);
System.Data.DataTable dt = db.DB_Send_CMD_Search_DataTable(cmd);
PopulateSearchList(dt, 19);
}
else if (cb_data_area.SelectedIndex == 1)
{
Helper_DB db = new Helper_DB();
db.DBcon_cl();
// -user date 비고2
string Area = "`idx`, `grade`, `isbn`, `book_name`, `series`, `author`, "
+ "`book_comp`, `price`, `years`, `marc`, `etc` AS `etc1` ";
string cmd = string.Format("SELECT {0} FROM `{1}` WHERE {2};", Area, Table, tQuery);
System.Data.DataTable dt = db.DB_Send_CMD_Search_DataTable(cmd);
PopulateSearchList(dt, 11);
}
label3.Text = string.Format("검색결과 {0:0,0}건", searchList.Count.ToString());
}
void PopulateSearchList(DataTable dt, int colCount)
{
if (dt == null || dt.Rows.Count == 0) return;
foreach (DataRow row in dt.Rows)
{
SearchInforItem item = new SearchInforItem();
if (colCount == 19) // MyDB
{
item.idx = row["idx"].ToString();
item.grade = Change_Grade(row["grade"].ToString());
item.User = row["user"].ToString();
item.date = row["date"].ToString();
item.ISBN = row["isbn"].ToString();
item.book_name = row["book_name"].ToString();
item.sBookName = row["series"].ToString();
item.author = row["author"].ToString();
item.book_comp = row["book_comp"].ToString();
item.price = row["price"].ToString();
item.pub_date = row["years"].ToString();
item.Marc = row["marc"].ToString();
item.marc2 = row["marc2"].ToString();
item.etc1 = row["etc1"].ToString();
item.etc2 = row["etc2"].ToString();
}
else if (colCount == 11) // ClDB
{
item.idx = row["idx"].ToString();
item.grade = Change_Grade(row["grade"].ToString());
item.ISBN = row["isbn"].ToString();
item.book_name = row["book_name"].ToString();
item.sBookName = row["series"].ToString();
item.author = row["author"].ToString();
item.book_comp = row["book_comp"].ToString();
item.price = row["price"].ToString();
item.pub_date = row["years"].ToString();
item.Marc = row["marc"].ToString();
item.etc1 = row["etc1"].ToString();
}
searchList.Add(item);
}
}
#region search_Click_Sub
string MakeWHEREQurey(string target, string searchText)
{
string Where;
if (target == "date")
{
string start = dtp_Start.Text;
string end = dtp_End.Text;
Where = string.Format("AND `{0}` BETWEEN \"{1}\" AND \"{2}\"", target, start, end);
}
else if (target == "" && cb_data_area.SelectedIndex == 0)
{
string start = DateTime.Now.ToString("yyyy-01-01");
string end = DateTime.Now.ToString("yyyy-12-31");
Where = string.Format("AND `{0}` BETWEEN \"{1}\" AND \"{2}\"", "date", start, end);
}
else if (target == "" && cb_data_area.SelectedIndex == 1)
{
Where = "";
}
else
{
Where = string.Format("AND `{0}` LIKE \"%{1}%\"", target, searchText, compidx);
if (cb_data_area.SelectedIndex == 1)
Where = "WHERE" + Where.Substring(3);
}
return Where;
}
string MakeWHEREQurey()
{
string tWhere = string.Empty;
string tText = string.Empty;
string[] tTextBox = new string[] { tbTitle.Text, tbWriter.Text, tbPublisher.Text, tbISBN.Text, Change_Grade(cbGrade.Text), cbUser.Text };
string[] tTitle_IDX_0 = new string[] { "서명", "저자", "출판사", "isbn", "grade", "user", "date" };
string[] tTitle_IDX_1 = new string[] { "book_name", "author", "book_comp", "isbn", "grade" };
if (cb_data_area.SelectedIndex == 0)
{
for (int i = 0; i < tTitle_IDX_0.Length; i++)
{
if (tTextBox.Length > i && tTextBox[i] != "")
{
if (i < 4)
{
tText = string.Format("AND `{0}` LIKE \"%{1}%\"", tTitle_IDX_0[i], tTextBox[i]);
tWhere += tText;
}
else
{
if (tTextBox[i] != "전체")
{
tText = string.Format("AND `{0}` LIKE \"%{1}%\"", tTitle_IDX_0[i], tTextBox[i]);
tWhere += tText;
}
}
}
else if (i == tTitle_IDX_0.Length - 1 && CkDateTime.Checked && DtpStartTime.Value <= DtpEndTime.Value)
{
string start = string.Format("{0:yyyy-MM-dd HH:mm:ss}", DtpStartTime.Value);
string end = string.Format("{0:yyyy-MM-dd HH:mm:ss}", DtpEndTime.Value);
tWhere += string.Format("AND `date` BETWEEN \"{0}\" AND \"{1}\"", start, end);
}
}
}
else
{
for (int i = 0; i < tTitle_IDX_1.Length; i++)
{
if (tTextBox.Length > i && tTextBox[i] != "")
{
if (i < 4)
{
tText = string.Format("AND `{0}` LIKE \"%{1}%\"", tTitle_IDX_1[i], tTextBox[i]);
if (tWhere == "") tText = string.Format("`{0}` LIKE \"%{1}%\"", tTitle_IDX_1[i], tTextBox[i]);
tWhere += tText;
}
else
{
if (tTextBox[i] != "전체")
{
tText = string.Format("AND `{0}` LIKE \"%{1}%\"", tTitle_IDX_1[i], tTextBox[i]);
if (tWhere == "") tText = string.Format("`{0}` LIKE \"%{1}%\"", tTitle_IDX_1[i], tTextBox[i]);
tWhere += tText;
}
}
}
}
}
return tWhere;
}
/// <summary>
/// 검색결과에 따라 Grid를 새로 그림
/// </summary>
/// <param name="arr"></param>
bool MyDB_Sub(string chk)
{
if (chk == "1")
return true;
else
return false;
}
/// <summary>
/// idx값에 따라 Grade를 보기 쉽게 바꿔줌.
/// </summary>
/// <param name="idx">DB에서 가져온 마크등급</param>
/// <returns></returns>
string Change_Grade(string idx)
{
string result = string.Empty;
switch (idx)
{
case "0":
result = "A";
break;
case "1":
result = "B";
break;
case "2":
result = "C";
break;
case "3":
result = "D";
break;
case "D":
result = "3";
break;
case "C":
result = "2";
break;
case "B":
result = "1";
break;
case "A":
result = "0";
break;
}
return result;
}
/// <summary>
/// 검색 필터에 따라 target이 변경됨
/// </summary>
/// <returns></returns>
(string, string) setting_target(bool isMyDB)
{
string res = "";
string search = "";
if (isMyDB)
{
switch (cb_filter.SelectedIndex)
{
case 1:
res = "서명";
search = tb_search.Text;
break;
case 2:
res = "저자";
search = tb_search.Text;
break;
case 3:
res = "출판사";
search = tb_search.Text;
break;
case 4:
res = "isbn";
search = tb_search.Text;
break;
case 5:
res = "grade";
search = Change_Grade(cb_filterDetail.Text);
break;
case 6:
res = "user";
search = cb_filterDetail.Text;
break;
case 7:
res = "date";
break;
default:
break;
}
}
else
{
switch (cb_filter.SelectedIndex)
{
case 1:
res = "book_name";
search = tb_search.Text;
break;
case 2:
res = "author";
search = tb_search.Text;
break;
case 3:
res = "book_comp";
search = tb_search.Text;
break;
case 4:
res = "isbn";
search = tb_search.Text;
break;
case 5:
res = "grade";
search = Change_Grade(cb_filterDetail.Text);
break;
default:
break;
}
}
return (res, search);
}
#endregion
private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
//에디트 창을 연다
if (e.RowIndex < 0) return;
SearchInforItem item = (SearchInforItem)bs1[e.RowIndex];
if (item == null) return;
var v_grade = 2;
int.TryParse(item.grade, out v_grade);
var me = new fMarc_Editor(item.ISBN, item.Marc, SaveTarget.MasterMarc, item.etc1, item.etc2, v_grade);
me.row = e.RowIndex;
// Helper to load data at specific binding source position
Action<int> loadAt = (pos) =>
{
if (pos < 0 || pos >= bs1.Count) return;
bs1.Position = pos;
var currentItem = (SearchInforItem)bs1.Current;
me.LoadBook(currentItem.Marc, new MacEditorParameter
{
Author = currentItem.author,
BookName = currentItem.book_name,
ISBN13 = currentItem.ISBN,
MarcIdx = currentItem.idx,
User = currentItem.User,
SaveDate = currentItem.date,
Publisher = currentItem.book_comp,
Price = currentItem.price,
text008 = "",
tag056 = "",
NewMake = false,
OriginalMarc = currentItem.Marc
});
};
loadAt(e.RowIndex);
me.RequestNext += (s, args) =>
{
if (bs1.Position < bs1.Count - 1)
{
loadAt(bs1.Position + 1);
}
};
me.RequestPrev += (s, args) =>
{
if (bs1.Position > 0)
{
loadAt(bs1.Position - 1);
}
};
me.BookUpdated += (s, args) =>
{
var currentItem = (SearchInforItem)bs1.Current;
currentItem.book_name = args.BookName;
//원본마크값을 marc2에 저장한다.
if (string.IsNullOrEmpty(currentItem.marc2)) currentItem.marc2 = currentItem.Marc;
currentItem.Marc = args.Marc;
currentItem.ISBN = args.ISBN;
currentItem.author = args.Author;
currentItem.book_comp = args.Publisher;
currentItem.price = args.Price;
currentItem.grade = Change_Grade(args.Grade);
currentItem.etc1 = args.Etc1;
currentItem.etc2 = args.Etc2;
currentItem.date = args.SaveDate;
currentItem.User = args.User;
bs1.ResetCurrentItem();
};
me.RequestFillBlankData += (s, args) =>
{
var dataList = new List<FillBlankItem>();
var currentBoundItem = (SearchInforItem)bs1.Current;
for (int a = 0; a < bs1.Count; a++)
{
var mItem = (SearchInforItem)bs1.List[a];
string mData = mItem.Marc ?? "";
if (mData.Length < 10)
{
var itemfb = new FillBlankItem
{
Idx = a.ToString(),
Isbn = mItem.ISBN ?? "",
BookName = mItem.book_name ?? "",
Author = mItem.author ?? "",
Publisher = mItem.book_comp ?? "",
Price = mItem.price ?? ""
};
dataList.Add(itemfb);
}
}
if (dataList.Any() == false)
{
// UTIL.MsgE("비마크 데이터가 존재하지 않아 기능을 사용할 수 없습니다");
MessageBox.Show("비마크 데이터가 존재하지 않아 기능을 사용할 수 없습니다");
}
else me.OpenFillBlank(dataList, currentBoundItem.ISBN);
};
me.BulkBooksUpdated += (s, args) =>
{
foreach (var fbItem in args.Updates)
{
if (string.IsNullOrEmpty(fbItem.BookMarc)) continue;
int rowIdx = int.Parse(fbItem.Idx);
if (rowIdx >= 0 && rowIdx < bs1.Count)
{
var mItem = (SearchInforItem)bs1.List[rowIdx];
if (string.IsNullOrEmpty(mItem.marc2)) mItem.marc2 = mItem.Marc;
mItem.Marc = fbItem.BookMarc;
}
}
bs1.ResetBindings(false);
};
me.Show();
// Search_Infor_Sub sis = new Search_Infor_Sub(this);
// sis.isbn = dataGridView1.Rows[row].Cells["ISBN"].Value.ToString();
// sis.marc = dataGridView1.Rows[row].Cells["Marc"].Value.ToString();
// sis.Show();
}
private void tb_search_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter) { btn_search_Click(null, null); }
}
private void btn_close_Click(object sender, EventArgs e)
{
this.Close();
}
private void cb_data_area_SelectedIndexChanged(object sender, EventArgs e)
{
cb_filter.Items.Clear();
List<string> filter = new List<string>
{
"전체", "도서명", "저자", "출판사", "ISBN", "등급"
};
if (cb_data_area.SelectedIndex == 0)
{
Helper_DB db = new Helper_DB();
db.DBcon();
filter.Add("작성자");
filter.Add("날짜");
cbUser.Items.Clear();
cbUser.Items.Add("전체");
string compName = main.lbCompanyName.Text;
string cmd = string.Format("SELECT `name` FROM `User_Data` WHERE `affil` = \"{0}\"", compName);
string res = db.self_Made_Cmd(cmd);
List<string> Aryres = res.Split('|').ToList();
Aryres.RemoveAll(x => x == "");
cbUser.Items.AddRange(Aryres.ToArray());
//foreach (string PName in Aryres)
//{
// if (PName == "")
// continue;
// cbUser.Items.Add(PName);
//}
cbUser.SelectedIndex = 0;
DtpStartTime.Enabled = true;
DtpEndTime.Enabled = true;
cbUser.Enabled = true;
}
else
{
Helper_DB db = new Helper_DB();
db.DBcon_cl();
cbUser.Items.Clear();
cbUser.Items.Add("전체");
cbUser.SelectedIndex = 0;
DtpStartTime.Enabled = false;
DtpEndTime.Enabled = false;
cbUser.Enabled = false;
}
cbGrade.SelectedIndex = 0;
string[] filterAry = filter.ToArray();
cb_filter.Items.AddRange(filterAry);
cb_filter.SelectedIndex = 0;
}
private void cb_filter_SelectedIndexChanged(object sender, EventArgs e)
{
Helper_DB db = new Helper_DB();
cb_filterDetail.Items.Clear();
cb_filterDetail.Enabled = true;
if (cb_filter.SelectedItem.ToString() == "등급")
{
string[] grade = { "A", "B", "C", "D" };
cb_filterDetail.Items.AddRange(grade);
cb_filterDetail.SelectedIndex = 0;
}
else if (cb_filter.SelectedItem.ToString() == "작성자")
{
cb_filterDetail.Items.Add("전체");
string compName = main.lbCompanyName.Text;
string cmd = string.Format("SELECT `name` FROM `User_Data` WHERE `affil` = \"{0}\"", compName);
string res = db.self_Made_Cmd(cmd);
string[] Aryres = res.Split('|');
foreach (string PName in Aryres)
{
if (PName == "")
continue;
cb_filterDetail.Items.Add(PName);
}
cb_filterDetail.SelectedIndex = 0;
}
else if (cb_filter.SelectedItem.ToString() == "날짜")
{
dtp_Start.Enabled = true;
dtp_End.Enabled = true;
}
else
{
dtp_Start.Enabled = false;
dtp_End.Enabled = false;
cb_filterDetail.Enabled = false;
}
}
private void btnViewOldData_Click(object sender, EventArgs e)
{
if (dataGridView1.CurrentCell == null) return;
int row = dataGridView1.CurrentCell.RowIndex;
if (row < 0) return;
SearchInforItem item = (SearchInforItem)bs1[row];
if (item == null) return;
if (string.IsNullOrEmpty(item.marc2))
{
MessageBox.Show("이전에 저장된 MARC 데이터가 없습니다.");
return;
}
var v_grade = 2;
int.TryParse(item.grade, out v_grade);
var me = new fMarc_Editor(item.ISBN, item.marc2, SaveTarget.MasterMarc, item.etc1, item.etc2, v_grade);
me.row = row;
// Helper to load data at specific binding source position (using marc2 for old data)
Action<int> loadAt = (pos) =>
{
if (pos < 0 || pos >= bs1.Count) return;
bs1.Position = pos;
var currentItem = (SearchInforItem)bs1.Current;
me.LoadBook(currentItem.marc2, new MacEditorParameter
{
Author = currentItem.author,
BookName = currentItem.book_name,
ISBN13 = currentItem.ISBN,
MarcIdx = currentItem.idx,
User = currentItem.User,
SaveDate = currentItem.date,
Publisher = currentItem.book_comp,
Price = currentItem.price,
text008 = "",
tag056 = "",
NewMake = false,
OriginalMarc = currentItem.marc2
});
};
loadAt(row);
me.RequestNext += (s, args) =>
{
if (bs1.Position < bs1.Count - 1)
{
loadAt(bs1.Position + 1);
}
};
me.RequestPrev += (s, args) =>
{
if (bs1.Position > 0)
{
loadAt(bs1.Position - 1);
}
};
me.BookUpdated += (s, args) =>
{
var currentItem = (SearchInforItem)bs1.Current;
currentItem.book_name = args.BookName;
currentItem.Marc = args.Marc; //이전데이터보기에서 저장했다면 실제마크데이터를 업데이트한다.
currentItem.ISBN = args.ISBN;
currentItem.author = args.Author;
currentItem.book_comp = args.Publisher;
currentItem.price = args.Price;
currentItem.grade = Change_Grade(args.Grade);
currentItem.etc1 = args.Etc1;
currentItem.etc2 = args.Etc2;
currentItem.date = args.SaveDate;
currentItem.User = args.User;
bs1.ResetCurrentItem();
};
me.RequestFillBlankData += (s, args) =>
{
var dataList = new List<FillBlankItem>();
var currentBoundItem = (SearchInforItem)bs1.Current;
for (int a = 0; a < bs1.Count; a++)
{
var mItem = (SearchInforItem)bs1.List[a];
string mData = mItem.marc2 ?? "";
if (mData.Length < 10)
{
var itemfb = new FillBlankItem
{
Idx = a.ToString(),
Isbn = mItem.ISBN ?? "",
BookName = mItem.book_name ?? "",
Author = mItem.author ?? "",
Publisher = mItem.book_comp ?? "",
Price = mItem.price ?? ""
};
dataList.Add(itemfb);
}
}
if (dataList.Any() == false)
{
// UTIL.MsgE("비마크 데이터가 존재하지 않아 기능을 사용할 수 없습니다");
MessageBox.Show("비마크 데이터가 존재하지 않아 기능을 사용할 수 없습니다");
}
else me.OpenFillBlank(dataList, currentBoundItem.ISBN);
};
me.BulkBooksUpdated += (s, args) =>
{
foreach (var fbItem in args.Updates)
{
if (string.IsNullOrEmpty(fbItem.BookMarc)) continue;
int rowIdx = int.Parse(fbItem.Idx);
if (rowIdx >= 0 && rowIdx < bs1.Count)
{
var mItem = (SearchInforItem)bs1.List[rowIdx];
mItem.marc2 = fbItem.BookMarc;
}
}
bs1.ResetBindings(false);
};
me.Show();
}
}
}

View File

@@ -0,0 +1,215 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="idx.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="grade.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="User.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="date.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ISBN.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="book_name.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="sBookName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="author.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="book_comp.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="price.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="pub_date.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Marc.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="marc2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="etc1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="etc2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bindingNavigator1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="bindingNavigator1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="bs1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>171, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="bindingNavigatorMoveFirstItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vgAADr4B6kKxwAAAATFJREFUOE9jYBg0oHDW8/9NC57/z5z4+D+6HAyEtz/AKceQO/PZ/1VH3v/HpSi+
+8H/4IZrWOXAIGPK0/8L933Aqii+5+H/pfv///evvoAhBwcJPU/+T9vyHkNRRPt9sObMWf//e5WewG1A
ZNej/72rP6AoCm29B9bcuu7/f//Ov/9d8g/gNiCw+eH/uvnv4IqCW+7+X7T3//+Odf//Z8z5+d+u7ud/
+4ztuA3wqLr/P3/aGxRFdsW3/6fP+f3fv+vbf53Cd/8tEtbjNsC+9O7/7MmvMRTpp5z/b1L04r9K1qf/
xpHLcBtgkXfnf2r/a6yKDJJO/JdN+/pfN3gehhwcGGbd/h/W8hKnIv3Uy/81fKdhlQMDnbQb//2qH+JV
pOIxAaccg1Pulf8gBXgVDUoAAPB2wKtYlLYeAAAAAElFTkSuQmCC
</value>
</data>
<data name="bindingNavigatorMovePreviousItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vgAADr4B6kKxwAAAALtJREFUOE9jYBgyILz9wX90MaJBfPeD/8EN18gzIL7n4f+l+///96++QLoBEe33
wZozZ/3/71V6gjQDQlvvgTW3rvv/37/z73+X/APEGxDccvf/or3//3es+/8/Y87P/3Z1P//bZ2wn3gAQ
sCu+/T99zu///l3f/usUvvtvkbCeNANAQD/l/H+Tohf/VbI+/TeOXEa6ASBgkHTiv2za1/+6wfPIMwAE
9FMv/9fwnUa+ASCg4jGBMgMGLwAA0BRgmCws/7cAAAAASUVORK5CYII=
</value>
</data>
<data name="bindingNavigatorMoveNextItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vgAADr4B6kKxwAAAAKRJREFUOE9jYBh0oHDW8//oYiSB3JnP/id03yPfkIwpT//P2//7f0LXHfIMSeh5
8n/2vl//O7f+/e9Wepl0QyK7Hv2fsu3X/5Klf/8nTP/73yb3LGmGBDY//N+69j1Ys3HJl//S0df+G0cu
I94Qj6r7/0vmvoNrVnTpIV4zCNiX3v0f2PKMPM0gYJF3579NwRXyNIOAYdZt8jWDgE7aDfI1D00AAKB+
X6Bjq5qXAAAAAElFTkSuQmCC
</value>
</data>
<data name="bindingNavigatorMoveLastItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vgAADr4B6kKxwAAAAStJREFUOE9jYBhUoHDW8//oYjAAkmta8Px/5sTHONUw5M589j+h+x5WBSC5VUfe
/w9vf4BVHgwypjz9P2//7/8JXXcwFIHkFu778D+44RqGHBwk9Dz5P3vfr/+dW//+dyu9jKIQJDdty/v/
/tUXcBsQ2fXo/5Rtv/6XLP37P2H63/82uWfhikFyvas//PcqPYHbgMDmh/9b174HazYu+fJfOvraf+PI
ZWANILm6+e/+u+QfwG2AR9X9/yVz38E1K7r0wBWD5PKnvflvn7EdtwH2pXf/B7Y8w9AMk8ue/Pq/RcJ6
3AZY5N35b1NwBUMzTC61/zXcS1iBYdZtrJpBACQX1vLyv27wPKzyYKCTdgOnJEjOr/rhfw3faTjV4AVO
uVf+q3hMAGN0uYEFAL7Rv7NmXVYYAAAAAElFTkSuQmCC
</value>
</data>
</root>

View File

@@ -1,75 +0,0 @@
namespace UniMarc
{
partial class Search_Infor_Sub
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.richTextBox1 = new System.Windows.Forms.RichTextBox();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.SuspendLayout();
//
// pictureBox1
//
this.pictureBox1.Location = new System.Drawing.Point(864, 12);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(318, 403);
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox1.TabIndex = 0;
this.pictureBox1.TabStop = false;
this.pictureBox1.DoubleClick += new System.EventHandler(this.pictureBox1_DoubleClick);
//
// richTextBox1
//
this.richTextBox1.Location = new System.Drawing.Point(12, 12);
this.richTextBox1.Name = "richTextBox1";
this.richTextBox1.Size = new System.Drawing.Size(846, 578);
this.richTextBox1.TabIndex = 1;
this.richTextBox1.Text = "";
//
// Search_Infor_Sub
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1194, 604);
this.Controls.Add(this.richTextBox1);
this.Controls.Add(this.pictureBox1);
this.Name = "Search_Infor_Sub";
this.Text = "마크편집";
this.Load += new System.EventHandler(this.Search_Infor_Sub_Load);
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.PictureBox pictureBox1;
private System.Windows.Forms.RichTextBox richTextBox1;
}
}

View File

@@ -1,41 +0,0 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace UniMarc
{
public partial class Search_Infor_Sub : Form
{
Search_Infor si;
public string isbn = "";
public string marc = "";
public Search_Infor_Sub(Search_Infor _si)
{
InitializeComponent();
si = _si;
}
private void Search_Infor_Sub_Load(object sender, EventArgs e)
{
try
{
string pic_url = "http://image.kyobobook.co.kr/images/book/xlarge/" + isbn.Substring(isbn.Length - 3, 3) + "/x" + isbn + ".jpg";
pictureBox1.ImageLocation = pic_url;
richTextBox1.Text = marc.Replace("", "\n");
}
catch { }
}
private void pictureBox1_DoubleClick(object sender, EventArgs e)
{
Zoom_Picture zp = new Zoom_Picture();
zp.url = pictureBox1.ImageLocation;
zp.Show();
}
}
}

View File

@@ -12,11 +12,13 @@ namespace UniMarc
{ {
public partial class Zoom_Picture : Form public partial class Zoom_Picture : Form
{ {
public string url = ""; string url = "";
public string ISBN = ""; string ISBN = "";
public Zoom_Picture() public Zoom_Picture(string _url,string _isbn)
{ {
InitializeComponent(); InitializeComponent();
url = _url;
ISBN = _isbn;
} }
private void Zoom_Picture_Load(object sender, EventArgs e) private void Zoom_Picture_Load(object sender, EventArgs e)
@@ -28,6 +30,8 @@ namespace UniMarc
string.Format("http://preview.kyobobook.co.kr/preview.jsp?siteGb=INK&ejkGb=KOR&barcode={0}&loginYn=N&orderClick=JAW", string.Format("http://preview.kyobobook.co.kr/preview.jsp?siteGb=INK&ejkGb=KOR&barcode={0}&loginYn=N&orderClick=JAW",
ISBN); ISBN);
PreViewURL = $"https://www.aladin.co.kr/shop/wproduct.aspx?ItemId={ISBN}&copyPaper=1&ttbkey=ttbgloriabook1512001&start=api";
webBrowser1.ScriptErrorsSuppressed = true; webBrowser1.ScriptErrorsSuppressed = true;
webBrowser1.Navigate(PreViewURL); webBrowser1.Navigate(PreViewURL);
} }

View File

@@ -0,0 +1,261 @@
namespace UniMarc
{
partial class fMarc_Editor
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.panel5 = new System.Windows.Forms.Panel();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.etc1 = new System.Windows.Forms.RichTextBox();
this.etc2 = new System.Windows.Forms.RichTextBox();
this.panel6 = new System.Windows.Forms.Panel();
this.radD = new System.Windows.Forms.RadioButton();
this.radC = new System.Windows.Forms.RadioButton();
this.radB = new System.Windows.Forms.RadioButton();
this.radA = new System.Windows.Forms.RadioButton();
this.label6 = new System.Windows.Forms.Label();
this.lbl_SaveData = new System.Windows.Forms.TextBox();
this.btNext = new System.Windows.Forms.Button();
this.btPrev = new System.Windows.Forms.Button();
this.btn_Save = new System.Windows.Forms.Button();
this.btn_FillBlank = new System.Windows.Forms.Button();
this.panel5.SuspendLayout();
this.tableLayoutPanel1.SuspendLayout();
this.panel6.SuspendLayout();
this.SuspendLayout();
//
// panel5
//
this.panel5.Controls.Add(this.tableLayoutPanel1);
this.panel5.Controls.Add(this.panel6);
this.panel5.Dock = System.Windows.Forms.DockStyle.Right;
this.panel5.Location = new System.Drawing.Point(1071, 0);
this.panel5.Name = "panel5";
this.panel5.Size = new System.Drawing.Size(266, 768);
this.panel5.TabIndex = 327;
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.ColumnCount = 1;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel1.Controls.Add(this.etc1, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.etc2, 0, 1);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 308);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 2;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(266, 460);
this.tableLayoutPanel1.TabIndex = 0;
//
// etc1
//
this.etc1.BackColor = System.Drawing.SystemColors.ScrollBar;
this.etc1.Dock = System.Windows.Forms.DockStyle.Fill;
this.etc1.Font = new System.Drawing.Font("굴림체", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.etc1.Location = new System.Drawing.Point(3, 3);
this.etc1.Name = "etc1";
this.etc1.Size = new System.Drawing.Size(260, 224);
this.etc1.TabIndex = 32;
this.etc1.Text = "Remark1";
//
// etc2
//
this.etc2.BackColor = System.Drawing.SystemColors.ScrollBar;
this.etc2.Dock = System.Windows.Forms.DockStyle.Fill;
this.etc2.Font = new System.Drawing.Font("굴림체", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.etc2.Location = new System.Drawing.Point(3, 233);
this.etc2.Name = "etc2";
this.etc2.Size = new System.Drawing.Size(260, 224);
this.etc2.TabIndex = 32;
this.etc2.Text = "Remark2";
//
// panel6
//
this.panel6.Controls.Add(this.btn_FillBlank);
this.panel6.Controls.Add(this.radD);
this.panel6.Controls.Add(this.radC);
this.panel6.Controls.Add(this.radB);
this.panel6.Controls.Add(this.radA);
this.panel6.Controls.Add(this.label6);
this.panel6.Controls.Add(this.lbl_SaveData);
this.panel6.Controls.Add(this.btNext);
this.panel6.Controls.Add(this.btPrev);
this.panel6.Controls.Add(this.btn_Save);
this.panel6.Dock = System.Windows.Forms.DockStyle.Top;
this.panel6.Location = new System.Drawing.Point(0, 0);
this.panel6.Name = "panel6";
this.panel6.Size = new System.Drawing.Size(266, 308);
this.panel6.TabIndex = 1;
//
// radD
//
this.radD.AutoSize = true;
this.radD.Font = new System.Drawing.Font("Tahoma", 14F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.radD.Location = new System.Drawing.Point(210, 12);
this.radD.Name = "radD";
this.radD.Size = new System.Drawing.Size(42, 27);
this.radD.TabIndex = 328;
this.radD.TabStop = true;
this.radD.Text = "D";
this.radD.UseVisualStyleBackColor = true;
//
// radC
//
this.radC.AutoSize = true;
this.radC.Font = new System.Drawing.Font("Tahoma", 14F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.radC.Location = new System.Drawing.Point(163, 12);
this.radC.Name = "radC";
this.radC.Size = new System.Drawing.Size(41, 27);
this.radC.TabIndex = 327;
this.radC.TabStop = true;
this.radC.Text = "C";
this.radC.UseVisualStyleBackColor = true;
//
// radB
//
this.radB.AutoSize = true;
this.radB.Font = new System.Drawing.Font("Tahoma", 14F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.radB.Location = new System.Drawing.Point(116, 12);
this.radB.Name = "radB";
this.radB.Size = new System.Drawing.Size(41, 27);
this.radB.TabIndex = 326;
this.radB.TabStop = true;
this.radB.Text = "B";
this.radB.UseVisualStyleBackColor = true;
//
// radA
//
this.radA.AutoSize = true;
this.radA.Font = new System.Drawing.Font("Tahoma", 14F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.radA.Location = new System.Drawing.Point(69, 12);
this.radA.Name = "radA";
this.radA.Size = new System.Drawing.Size(41, 27);
this.radA.TabIndex = 325;
this.radA.TabStop = true;
this.radA.Text = "A";
this.radA.UseVisualStyleBackColor = true;
//
// label6
//
this.label6.AutoSize = true;
this.label6.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.label6.Location = new System.Drawing.Point(28, 22);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(31, 12);
this.label6.TabIndex = 324;
this.label6.Text = "등급";
//
// lbl_SaveData
//
this.lbl_SaveData.Font = new System.Drawing.Font("굴림체", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.lbl_SaveData.ForeColor = System.Drawing.Color.PaleTurquoise;
this.lbl_SaveData.Location = new System.Drawing.Point(9, 45);
this.lbl_SaveData.Multiline = true;
this.lbl_SaveData.Name = "lbl_SaveData";
this.lbl_SaveData.Size = new System.Drawing.Size(245, 127);
this.lbl_SaveData.TabIndex = 319;
this.lbl_SaveData.Text = "[] []";
//
// btNext
//
this.btNext.Location = new System.Drawing.Point(147, 269);
this.btNext.Name = "btNext";
this.btNext.Size = new System.Drawing.Size(107, 33);
this.btNext.TabIndex = 230;
this.btNext.Text = "다 음(F8)";
this.btNext.UseVisualStyleBackColor = true;
this.btNext.Click += new System.EventHandler(this.btNext_Click);
//
// btPrev
//
this.btPrev.Location = new System.Drawing.Point(14, 269);
this.btPrev.Name = "btPrev";
this.btPrev.Size = new System.Drawing.Size(107, 33);
this.btPrev.TabIndex = 229;
this.btPrev.Text = "이 전(F7)";
this.btPrev.UseVisualStyleBackColor = true;
this.btPrev.Click += new System.EventHandler(this.btPrev_Click);
//
// btn_Save
//
this.btn_Save.Location = new System.Drawing.Point(147, 230);
this.btn_Save.Name = "btn_Save";
this.btn_Save.Size = new System.Drawing.Size(107, 33);
this.btn_Save.TabIndex = 215;
this.btn_Save.Text = "저장(F9)";
this.btn_Save.UseVisualStyleBackColor = true;
this.btn_Save.Click += new System.EventHandler(this.btn_Save_Click);
//
// btn_FillBlank
//
this.btn_FillBlank.Location = new System.Drawing.Point(11, 178);
this.btn_FillBlank.Name = "btn_FillBlank";
this.btn_FillBlank.Size = new System.Drawing.Size(243, 46);
this.btn_FillBlank.TabIndex = 329;
this.btn_FillBlank.Text = "미소장 마크 코리스\r\n칸채우기";
this.btn_FillBlank.UseVisualStyleBackColor = true;
this.btn_FillBlank.Click += new System.EventHandler(this.btn_FillBlank_Click);
//
// fMarc_Editor
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1337, 768);
this.Controls.Add(this.panel5);
this.Name = "fMarc_Editor";
this.Text = "마크편집";
this.Load += new System.EventHandler(this.Marc_Plan_Sub_MarcEdit2_Load);
this.panel5.ResumeLayout(false);
this.tableLayoutPanel1.ResumeLayout(false);
this.panel6.ResumeLayout(false);
this.panel6.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Panel panel5;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
public System.Windows.Forms.RichTextBox etc1;
public System.Windows.Forms.RichTextBox etc2;
private System.Windows.Forms.Panel panel6;
private System.Windows.Forms.TextBox lbl_SaveData;
private System.Windows.Forms.Button btNext;
private System.Windows.Forms.Button btPrev;
private System.Windows.Forms.Button btn_Save;
private System.Windows.Forms.RadioButton radD;
private System.Windows.Forms.RadioButton radC;
private System.Windows.Forms.RadioButton radB;
private System.Windows.Forms.RadioButton radA;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Button btn_FillBlank;
}
}

View File

@@ -0,0 +1,273 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Drawing.Drawing2D;
using Newtonsoft.Json.Converters;
using AR;
using Org.BouncyCastle.Pkcs;
namespace UniMarc
{
public enum SaveTarget
{
SpecsMarc,
MasterMarc
}
public partial class fMarc_Editor : Form
{
string idx;
public int row;
Helper_DB db = new Helper_DB();
String_Text st = new String_Text();
Help008Tag tag008 = new Help008Tag();
MarcEditorControl marcEditorControl1;
private MacEditorParameter _param;
SaveTarget Target;
public fMarc_Editor(string isbn, string marcstring, SaveTarget _target,string etc1, string etc2,int grade)
{
InitializeComponent();
db.DBcon();
this.etc1.Text = etc1;
this.etc2.Text = etc2;
//update grade radio button
if (grade == 0) radA.Checked = true;
else if(grade == 1) radB.Checked = true;
else if(grade == 2) radC.Checked = true;
else if(grade == 3) radD.Checked = true;
Target = _target;
marcEditorControl1 = new MarcEditorControl();
marcEditorControl1.db = this.db;
marcEditorControl1.Dock = DockStyle.Fill;
this.StartPosition = FormStartPosition.CenterScreen;
this.Controls.Add(marcEditorControl1);
this.KeyPreview = true;
this.KeyDown += (s1, e1) =>
{
if (e1.KeyCode == Keys.Escape)
{
this.Close();
}
};
}
public event EventHandler RequestNext;
public event EventHandler RequestPrev;
public class BookUpdatedEventArgs : EventArgs
{
public string BookName { get; set; }
public string Marc { get; set; }
public string ISBN { get; set; }
public string Author { get; set; }
public string Publisher { get; set; }
public string Price { get; set; }
public string Grade { get; set; }
public string Etc1 { get; set; }
public string Etc2 { get; set; }
public string SaveDate { get; set; }
public string User { get; set; }
}
public event EventHandler RequestFillBlankData;
public void OpenFillBlank(List<FillBlankItem> gridData, string currentIsbn)
{
var fb = new UniMarc.Marc_FillBlank();
foreach (var item in gridData)
{
fb.InitFillBlank(item);
}
fb.ISBN = currentIsbn;
if (fb.ShowDialog() == DialogResult.OK)
{
BulkBooksUpdated?.Invoke(this, new BulkBookUpdatedEventArgs { Updates = fb.FillBlankItems });
}
}
public class BulkBookUpdatedEventArgs : EventArgs
{
public List<FillBlankItem> Updates { get; set; }
}
public event EventHandler<BulkBookUpdatedEventArgs> BulkBooksUpdated;
public event EventHandler<BookUpdatedEventArgs> BookUpdated;
private string mk_BookName(string[] book_name)
{
string a245 = book_name[0]; // 도서명
string x245 = book_name[1]; // 대동서명
string b245 = book_name[2]; // 부서명
string result = a245;
if (x245 != "")
result += " = " + x245;
if (b245 != "")
result += " : " + b245;
return result;
}
public void LoadBook(string dbMarc, MacEditorParameter p)
{
this._param = p;
this._param.OriginalMarc = dbMarc; // 원본 마크 저장 (MasterMarc 저장 시 필요)
this.Text = $"마크편집({p.ISBN13})-{p.BookName} Database:{Target}";
marcEditorControl1.LoadBookData(dbMarc, p.ISBN13);
}
private void Marc_Plan_Sub_MarcEdit2_Load(object sender, EventArgs e)
{
this.Show();
Application.DoEvents();
}
private void btn_FillBlank_Click(object sender, EventArgs e)
{
RequestFillBlankData?.Invoke(this, EventArgs.Empty);
}
private void btPrev_Click(object sender, EventArgs e)
{
RequestPrev?.Invoke(this, EventArgs.Empty);
}
private void btNext_Click(object sender, EventArgs e)
{
RequestNext?.Invoke(this, EventArgs.Empty);
}
private void btn_Save_Click(object sender, EventArgs e)
{
if (marcEditorControl1.CheckValidation() == false) return;
string oriMarc = marcEditorControl1.MakeMarcString();
string etc1Value = "";
string etc2Value = "";
// Use TryGet to avoid issues if controls don't exist in all contexts,
// but assuming inherited/designer has them for now as per user snippet.
try { etc1Value = etc1.Text.Trim(); } catch { }
try { etc2Value = etc2.Text.Trim(); } catch { }
string tag008Value = marcEditorControl1.text008.Text;
var v_grade = "";
if (radA.Checked) v_grade = "0";
else if (radB.Checked) v_grade = "1";
else if (radC.Checked) v_grade = "2";
else if (radD.Checked) v_grade = "3";
// Extract tags for metadata
string[] Search_Tag = {
"049l", "090a", "090b", "049v", "049c",
"049f", "440a", "440v", "245d", "260b",
"950b", "020a"
};
string[] SearchBookTag = st.Take_Tag(oriMarc, Search_Tag);
// 도서명 (본서명 = 대등서명 : 부서명)
string[] BookTag = { "245a", "245x", "245b" };
string[] BookNameTag = st.Take_Tag(oriMarc, BookTag);
string BookName = mk_BookName(BookNameTag);
string Table = "";
string[] Update_Col;
string[] Update_data;
string[] Search_Col = { "idx" };
string[] Search_data;
if (Target == SaveTarget.SpecsMarc)
{
Table = "Specs_Marc";
Search_data = new string[] { _param.ListIdx };
Update_Col = new string[] {
"marc", "book_name", "etc1", "etc2",
"r_num", "class_symbol", "author_symbol", "prefix", "s_book_name1",
"s_book_num1", "author", "book_comp", "price", "ISBN", "tag008","grade"
};
if (v_grade.isEmpty())
Array.Resize(ref Update_Col, Update_Col.Length - 1);
Update_data = new string[] {
oriMarc, BookName, etc1Value, etc2Value,
SearchBookTag[0], SearchBookTag[1], SearchBookTag[2], SearchBookTag[5], SearchBookTag[6],
SearchBookTag[7], SearchBookTag[8], SearchBookTag[9], SearchBookTag[10], SearchBookTag[11], tag008Value, v_grade
};
if (v_grade.isEmpty())
Array.Resize(ref Update_data, Update_data.Length - 1);
}
else // MasterMarc
{
Table = "Marc";
Search_data = new string[] { _param.MarcIdx };
// Using bits of logic from Marc_Plan_Sub_MarcEdit.Save_si
string today = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
Update_Col = new string[] {
"marc", "marc_chk", "marc1", "marc_chk2", "date", "user",
"비고1", "비고2", "grade"//, "ISBN", "book_name", "author", "book_comp", "price"
};
if (v_grade.isEmpty())
Array.Resize(ref Update_Col, Update_Col.Length - 1);
Update_data = new string[] {
oriMarc, "1", _param.OriginalMarc, "0", today, PUB.user.UserName,
etc1Value, etc2Value, v_grade//, SearchBookTag[11], BookName, SearchBookTag[8], SearchBookTag[9], SearchBookTag[10]
};
if (v_grade.isEmpty())
Array.Resize(ref Update_data, Update_data.Length - 1);
}
string cmd = db.More_Update(Table, Update_Col, Update_data, Search_Col, Search_data);
var rlt = Helper_DB.ExcuteNonQuery(cmd);
if(rlt.applyCount == 1)
{
// Notify Parent
BookUpdated?.Invoke(this, new BookUpdatedEventArgs
{
BookName = BookName,
Marc = oriMarc,
ISBN = SearchBookTag[11],
Author = SearchBookTag[8],
Publisher = SearchBookTag[9],
Price = SearchBookTag[10],
Grade = v_grade,
Etc1 = etc1Value,
Etc2 = etc2Value,
SaveDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
User = PUB.user.UserName
});
UTIL.MsgI($"저장되었습니다!\nDatabase = {this.Target}");
}
else if(rlt.applyCount == 0){
UTIL.MsgE($"저장된 자료가 없습니다\nIDX:{Search_data[0]}\n\n개발자 문의 하세요");
}
else if(rlt.applyCount > 1)
{
UTIL.MsgE($"복수({rlt.applyCount})의 자료가 업데이트 되었습니다\nIDX:{Search_data[0]}\n\n개발자 문의 하세요");
}
}
private void btn_close_Click(object sender, EventArgs e)
{
}
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>