commit 235be47d42ca20af6b1caf94bb84ee9c12b8eed6 Author: chikyun.kim Date: Mon Jul 23 17:35:21 2018 +0900 initial commit diff --git a/CHANGELOG b/CHANGELOG new file mode 100644 index 0000000..9e6d807 --- /dev/null +++ b/CHANGELOG @@ -0,0 +1,12 @@ +18-05-04 chi 경고문구 11줄 제거(프로그램은 변경 없음) +18-05-01 chi 입/출화면에서 아이템검색기능 추가, + 바코드검색시 입력창 편집못하게 수정 + 인벤토리 화면에 슬롯을 지정해서 볼수있도록 수정함 + 슬롯정보창에서 명령버튼을 클릭시 바로 해당 인벤토리만 보이도록 수정 + 저장버튼 클릭시 확인메세지 창 추가 + 메인화면 우클릭으로 design 클릭시 관련 창 추가 및 기능 연결 완료 + 슬롯선택시 선택 색도 별도 지정 가능 + history 검색기능 완료 및 slot검색기능 추가 +18-04-24 chi lang.cs 파일 정리 및 관련 문구 연결작업 / 1차 완료 +18-04-23 chi 상태머신 타이머 추가 +18-04-20 chi 프로젝트 생성 \ No newline at end of file diff --git a/DLL/AmkorRestfulService.dll b/DLL/AmkorRestfulService.dll new file mode 100644 index 0000000..922c973 Binary files /dev/null and b/DLL/AmkorRestfulService.dll differ diff --git a/DLL/AmkorRestfulService.pdb b/DLL/AmkorRestfulService.pdb new file mode 100644 index 0000000..9a0b67f Binary files /dev/null and b/DLL/AmkorRestfulService.pdb differ diff --git a/DLL/ArLog.Net4.dll b/DLL/ArLog.Net4.dll new file mode 100644 index 0000000..feb745d Binary files /dev/null and b/DLL/ArLog.Net4.dll differ diff --git a/DLL/ArSetting.Net4.dll b/DLL/ArSetting.Net4.dll new file mode 100644 index 0000000..562b049 Binary files /dev/null and b/DLL/ArSetting.Net4.dll differ diff --git a/DLL/Automation.BDaq4.dll b/DLL/Automation.BDaq4.dll new file mode 100644 index 0000000..84a1ded Binary files /dev/null and b/DLL/Automation.BDaq4.dll differ diff --git a/DLL/CarlosAg.ExcelXmlWriter.dll b/DLL/CarlosAg.ExcelXmlWriter.dll new file mode 100644 index 0000000..7760d6d Binary files /dev/null and b/DLL/CarlosAg.ExcelXmlWriter.dll differ diff --git a/DLL/Winsock Orcas.dll b/DLL/Winsock Orcas.dll new file mode 100644 index 0000000..4c9686f Binary files /dev/null and b/DLL/Winsock Orcas.dll differ diff --git a/DLL/arADVUSB4761.Net4.dll b/DLL/arADVUSB4761.Net4.dll new file mode 100644 index 0000000..544e844 Binary files /dev/null and b/DLL/arADVUSB4761.Net4.dll differ diff --git a/DLL/arADVUSB4761.Net4.pdb b/DLL/arADVUSB4761.Net4.pdb new file mode 100644 index 0000000..11f95f3 Binary files /dev/null and b/DLL/arADVUSB4761.Net4.pdb differ diff --git a/DLL/arATBaseDIO.Net4.dll b/DLL/arATBaseDIO.Net4.dll new file mode 100644 index 0000000..07e9e8b Binary files /dev/null and b/DLL/arATBaseDIO.Net4.dll differ diff --git a/DLL/arATBaseDIO.Net4.pdb b/DLL/arATBaseDIO.Net4.pdb new file mode 100644 index 0000000..4386742 Binary files /dev/null and b/DLL/arATBaseDIO.Net4.pdb differ diff --git a/DLL/arControl.Net4.dll b/DLL/arControl.Net4.dll new file mode 100644 index 0000000..b922b5b Binary files /dev/null and b/DLL/arControl.Net4.dll differ diff --git a/DLL/arControl.Net4.pdb b/DLL/arControl.Net4.pdb new file mode 100644 index 0000000..e496db6 Binary files /dev/null and b/DLL/arControl.Net4.pdb differ diff --git a/DLL/arINIHelper.Net4.dll b/DLL/arINIHelper.Net4.dll new file mode 100644 index 0000000..65536f6 Binary files /dev/null and b/DLL/arINIHelper.Net4.dll differ diff --git a/DLL/libxl.dll b/DLL/libxl.dll new file mode 100644 index 0000000..be64aea Binary files /dev/null and b/DLL/libxl.dll differ diff --git a/DLL/libxl.net.dll b/DLL/libxl.net.dll new file mode 100644 index 0000000..b487ebc Binary files /dev/null and b/DLL/libxl.net.dll differ diff --git a/EETGW.sln b/EETGW.sln new file mode 100644 index 0000000..1b440fb --- /dev/null +++ b/EETGW.sln @@ -0,0 +1,71 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2013 +VisualStudioVersion = 12.0.40629.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EETGW", "Project\EETGW.csproj", "{65F3E762-800C-499E-862F-A535642EC59F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "arControl", "Sub\arCtl\arControl.csproj", "{F31C242C-1B15-4518-9733-48558499FE4B}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Sub", "Sub", "{28105E67-9D33-4627-8E26-FCE67700622F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AmkorRestfulService", "Sub\AmkorRestfulService\AmkorRestfulService\AmkorRestfulService.csproj", "{58CFC90C-5068-46A2-A8DE-0E92EE9E0990}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StaffLayoutCtl", "Sub\StaffLayoutCtl\StaffLayoutCtl.csproj", "{B832738C-74DD-4CE2-8A29-98D0BCBB9EA4}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "test", "Sub\test\test.csproj", "{BDF730D5-8AC0-4C17-9A85-C93996B4E132}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {65F3E762-800C-499E-862F-A535642EC59F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {65F3E762-800C-499E-862F-A535642EC59F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {65F3E762-800C-499E-862F-A535642EC59F}.Debug|x86.ActiveCfg = Debug|x86 + {65F3E762-800C-499E-862F-A535642EC59F}.Debug|x86.Build.0 = Debug|x86 + {65F3E762-800C-499E-862F-A535642EC59F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {65F3E762-800C-499E-862F-A535642EC59F}.Release|Any CPU.Build.0 = Release|Any CPU + {65F3E762-800C-499E-862F-A535642EC59F}.Release|x86.ActiveCfg = Release|x86 + {65F3E762-800C-499E-862F-A535642EC59F}.Release|x86.Build.0 = Release|x86 + {F31C242C-1B15-4518-9733-48558499FE4B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F31C242C-1B15-4518-9733-48558499FE4B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F31C242C-1B15-4518-9733-48558499FE4B}.Debug|x86.ActiveCfg = Debug|Any CPU + {F31C242C-1B15-4518-9733-48558499FE4B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F31C242C-1B15-4518-9733-48558499FE4B}.Release|Any CPU.Build.0 = Release|Any CPU + {F31C242C-1B15-4518-9733-48558499FE4B}.Release|x86.ActiveCfg = Release|Any CPU + {58CFC90C-5068-46A2-A8DE-0E92EE9E0990}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {58CFC90C-5068-46A2-A8DE-0E92EE9E0990}.Debug|Any CPU.Build.0 = Debug|Any CPU + {58CFC90C-5068-46A2-A8DE-0E92EE9E0990}.Debug|x86.ActiveCfg = Debug|Any CPU + {58CFC90C-5068-46A2-A8DE-0E92EE9E0990}.Release|Any CPU.ActiveCfg = Release|Any CPU + {58CFC90C-5068-46A2-A8DE-0E92EE9E0990}.Release|Any CPU.Build.0 = Release|Any CPU + {58CFC90C-5068-46A2-A8DE-0E92EE9E0990}.Release|x86.ActiveCfg = Release|Any CPU + {B832738C-74DD-4CE2-8A29-98D0BCBB9EA4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B832738C-74DD-4CE2-8A29-98D0BCBB9EA4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B832738C-74DD-4CE2-8A29-98D0BCBB9EA4}.Debug|x86.ActiveCfg = Debug|Any CPU + {B832738C-74DD-4CE2-8A29-98D0BCBB9EA4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B832738C-74DD-4CE2-8A29-98D0BCBB9EA4}.Release|Any CPU.Build.0 = Release|Any CPU + {B832738C-74DD-4CE2-8A29-98D0BCBB9EA4}.Release|x86.ActiveCfg = Release|Any CPU + {BDF730D5-8AC0-4C17-9A85-C93996B4E132}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BDF730D5-8AC0-4C17-9A85-C93996B4E132}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BDF730D5-8AC0-4C17-9A85-C93996B4E132}.Debug|x86.ActiveCfg = Debug|Any CPU + {BDF730D5-8AC0-4C17-9A85-C93996B4E132}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BDF730D5-8AC0-4C17-9A85-C93996B4E132}.Release|Any CPU.Build.0 = Release|Any CPU + {BDF730D5-8AC0-4C17-9A85-C93996B4E132}.Release|x86.ActiveCfg = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {F31C242C-1B15-4518-9733-48558499FE4B} = {28105E67-9D33-4627-8E26-FCE67700622F} + {58CFC90C-5068-46A2-A8DE-0E92EE9E0990} = {28105E67-9D33-4627-8E26-FCE67700622F} + {B832738C-74DD-4CE2-8A29-98D0BCBB9EA4} = {28105E67-9D33-4627-8E26-FCE67700622F} + {BDF730D5-8AC0-4C17-9A85-C93996B4E132} = {28105E67-9D33-4627-8E26-FCE67700622F} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {B5B1FD72-356F-4840-83E8-B070AC21C8D9} + EndGlobalSection +EndGlobal diff --git a/EETGW.v12.suo b/EETGW.v12.suo new file mode 100644 index 0000000..5544152 Binary files /dev/null and b/EETGW.v12.suo differ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..3b60be5 --- /dev/null +++ b/LICENSE @@ -0,0 +1,2 @@ +이 프로그램은 앰코테크놀로지 코리아 광주공장(K4)의 자산입니다. +개발자 : tindevil@nate.com \ No newline at end of file diff --git a/Project/CResult.cs b/Project/CResult.cs new file mode 100644 index 0000000..909f912 --- /dev/null +++ b/Project/CResult.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace Project +{ + public class CResult + { + public enum eResult + { + NG = 0, + OK, + NOTSET, + ERROR, + } + + //commmon + public Manager.sModelInfo ModelInfo; + public string Message; + public eResult Judg; + public DateTime JobStart; + public DateTime JobEnd; + public TimeSpan JobTime { + get { + if (JobStart.Year == 1982) return new TimeSpan(); + if (JobEnd.Year == 1982) return DateTime.Now - JobStart; + else return JobEnd - JobStart; + } + } + + public CResult() + { + this.Clear(); + } + public void Clear() + { + ModelInfo.Clear(); + Message = string.Empty; + Judg = eResult.NOTSET; + JobStart = DateTime.Parse("1982-11-23"); + JobEnd = JobStart; + } + + } +} diff --git a/Project/DataSet1.Designer.cs b/Project/DataSet1.Designer.cs new file mode 100644 index 0000000..cf7713b --- /dev/null +++ b/Project/DataSet1.Designer.cs @@ -0,0 +1,1804 @@ +//------------------------------------------------------------------------------ +// +// 이 코드는 도구를 사용하여 생성되었습니다. +// 런타임 버전:4.0.30319.42000 +// +// 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면 +// 이러한 변경 내용이 손실됩니다. +// +//------------------------------------------------------------------------------ + +#pragma warning disable 1591 + +namespace Project { + + + /// + ///Represents a strongly typed in-memory cache of data. + /// + [global::System.Serializable()] + [global::System.ComponentModel.DesignerCategoryAttribute("code")] + [global::System.ComponentModel.ToolboxItem(true)] + [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedDataSetSchema")] + [global::System.Xml.Serialization.XmlRootAttribute("DataSet1")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.DataSet")] + public partial class DataSet1 : global::System.Data.DataSet { + + private ResultDataDataTable tableResultData; + + private UsersDataTable tableUsers; + + private ModelDataTable tableModel; + + private global::System.Data.SchemaSerializationMode _schemaSerializationMode = global::System.Data.SchemaSerializationMode.IncludeSchema; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public DataSet1() { + this.BeginInit(); + this.InitClass(); + global::System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler = new global::System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged); + base.Tables.CollectionChanged += schemaChangedHandler; + base.Relations.CollectionChanged += schemaChangedHandler; + this.EndInit(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected DataSet1(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : + base(info, context, false) { + if ((this.IsBinarySerialized(info, context) == true)) { + this.InitVars(false); + global::System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler1 = new global::System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged); + this.Tables.CollectionChanged += schemaChangedHandler1; + this.Relations.CollectionChanged += schemaChangedHandler1; + return; + } + string strSchema = ((string)(info.GetValue("XmlSchema", typeof(string)))); + if ((this.DetermineSchemaSerializationMode(info, context) == global::System.Data.SchemaSerializationMode.IncludeSchema)) { + global::System.Data.DataSet ds = new global::System.Data.DataSet(); + ds.ReadXmlSchema(new global::System.Xml.XmlTextReader(new global::System.IO.StringReader(strSchema))); + if ((ds.Tables["ResultData"] != null)) { + base.Tables.Add(new ResultDataDataTable(ds.Tables["ResultData"])); + } + if ((ds.Tables["Users"] != null)) { + base.Tables.Add(new UsersDataTable(ds.Tables["Users"])); + } + if ((ds.Tables["Model"] != null)) { + base.Tables.Add(new ModelDataTable(ds.Tables["Model"])); + } + this.DataSetName = ds.DataSetName; + this.Prefix = ds.Prefix; + this.Namespace = ds.Namespace; + this.Locale = ds.Locale; + this.CaseSensitive = ds.CaseSensitive; + this.EnforceConstraints = ds.EnforceConstraints; + this.Merge(ds, false, global::System.Data.MissingSchemaAction.Add); + this.InitVars(); + } + else { + this.ReadXmlSchema(new global::System.Xml.XmlTextReader(new global::System.IO.StringReader(strSchema))); + } + this.GetSerializationData(info, context); + global::System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler = new global::System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged); + base.Tables.CollectionChanged += schemaChangedHandler; + this.Relations.CollectionChanged += schemaChangedHandler; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Browsable(false)] + [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)] + public ResultDataDataTable ResultData { + get { + return this.tableResultData; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Browsable(false)] + [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)] + public UsersDataTable Users { + get { + return this.tableUsers; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Browsable(false)] + [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)] + public ModelDataTable Model { + get { + return this.tableModel; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.BrowsableAttribute(true)] + [global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Visible)] + public override global::System.Data.SchemaSerializationMode SchemaSerializationMode { + get { + return this._schemaSerializationMode; + } + set { + this._schemaSerializationMode = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Hidden)] + public new global::System.Data.DataTableCollection Tables { + get { + return base.Tables; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Hidden)] + public new global::System.Data.DataRelationCollection Relations { + get { + return base.Relations; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void InitializeDerivedDataSet() { + this.BeginInit(); + this.InitClass(); + this.EndInit(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public override global::System.Data.DataSet Clone() { + DataSet1 cln = ((DataSet1)(base.Clone())); + cln.InitVars(); + cln.SchemaSerializationMode = this.SchemaSerializationMode; + return cln; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override bool ShouldSerializeTables() { + return false; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override bool ShouldSerializeRelations() { + return false; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void ReadXmlSerializable(global::System.Xml.XmlReader reader) { + if ((this.DetermineSchemaSerializationMode(reader) == global::System.Data.SchemaSerializationMode.IncludeSchema)) { + this.Reset(); + global::System.Data.DataSet ds = new global::System.Data.DataSet(); + ds.ReadXml(reader); + if ((ds.Tables["ResultData"] != null)) { + base.Tables.Add(new ResultDataDataTable(ds.Tables["ResultData"])); + } + if ((ds.Tables["Users"] != null)) { + base.Tables.Add(new UsersDataTable(ds.Tables["Users"])); + } + if ((ds.Tables["Model"] != null)) { + base.Tables.Add(new ModelDataTable(ds.Tables["Model"])); + } + this.DataSetName = ds.DataSetName; + this.Prefix = ds.Prefix; + this.Namespace = ds.Namespace; + this.Locale = ds.Locale; + this.CaseSensitive = ds.CaseSensitive; + this.EnforceConstraints = ds.EnforceConstraints; + this.Merge(ds, false, global::System.Data.MissingSchemaAction.Add); + this.InitVars(); + } + else { + this.ReadXml(reader); + this.InitVars(); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Xml.Schema.XmlSchema GetSchemaSerializable() { + global::System.IO.MemoryStream stream = new global::System.IO.MemoryStream(); + this.WriteXmlSchema(new global::System.Xml.XmlTextWriter(stream, null)); + stream.Position = 0; + return global::System.Xml.Schema.XmlSchema.Read(new global::System.Xml.XmlTextReader(stream), null); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal void InitVars() { + this.InitVars(true); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal void InitVars(bool initTable) { + this.tableResultData = ((ResultDataDataTable)(base.Tables["ResultData"])); + if ((initTable == true)) { + if ((this.tableResultData != null)) { + this.tableResultData.InitVars(); + } + } + this.tableUsers = ((UsersDataTable)(base.Tables["Users"])); + if ((initTable == true)) { + if ((this.tableUsers != null)) { + this.tableUsers.InitVars(); + } + } + this.tableModel = ((ModelDataTable)(base.Tables["Model"])); + if ((initTable == true)) { + if ((this.tableModel != null)) { + this.tableModel.InitVars(); + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitClass() { + this.DataSetName = "DataSet1"; + this.Prefix = ""; + this.Namespace = "http://tempuri.org/DataSet1.xsd"; + this.EnforceConstraints = true; + this.SchemaSerializationMode = global::System.Data.SchemaSerializationMode.IncludeSchema; + this.tableResultData = new ResultDataDataTable(); + base.Tables.Add(this.tableResultData); + this.tableUsers = new UsersDataTable(); + base.Tables.Add(this.tableUsers); + this.tableModel = new ModelDataTable(); + base.Tables.Add(this.tableModel); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private bool ShouldSerializeResultData() { + return false; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private bool ShouldSerializeUsers() { + return false; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private bool ShouldSerializeModel() { + return false; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void SchemaChanged(object sender, global::System.ComponentModel.CollectionChangeEventArgs e) { + if ((e.Action == global::System.ComponentModel.CollectionChangeAction.Remove)) { + this.InitVars(); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedDataSetSchema(global::System.Xml.Schema.XmlSchemaSet xs) { + DataSet1 ds = new DataSet1(); + global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType(); + global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence(); + global::System.Xml.Schema.XmlSchemaAny any = new global::System.Xml.Schema.XmlSchemaAny(); + any.Namespace = ds.Namespace; + sequence.Items.Add(any); + type.Particle = sequence; + global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable(); + if (xs.Contains(dsSchema.TargetNamespace)) { + global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream(); + global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream(); + try { + global::System.Xml.Schema.XmlSchema schema = null; + dsSchema.Write(s1); + for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) { + schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current)); + s2.SetLength(0); + schema.Write(s2); + if ((s1.Length == s2.Length)) { + s1.Position = 0; + s2.Position = 0; + for (; ((s1.Position != s1.Length) + && (s1.ReadByte() == s2.ReadByte())); ) { + ; + } + if ((s1.Position == s1.Length)) { + return type; + } + } + } + } + finally { + if ((s1 != null)) { + s1.Close(); + } + if ((s2 != null)) { + s2.Close(); + } + } + } + xs.Add(dsSchema); + return type; + } + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public delegate void ResultDataRowChangeEventHandler(object sender, ResultDataRowChangeEvent e); + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public delegate void UsersRowChangeEventHandler(object sender, UsersRowChangeEvent e); + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public delegate void ModelRowChangeEventHandler(object sender, ModelRowChangeEvent e); + + /// + ///Represents the strongly named DataTable class. + /// + [global::System.Serializable()] + [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")] + public partial class ResultDataDataTable : global::System.Data.TypedTableBase { + + private global::System.Data.DataColumn columnidx; + + private global::System.Data.DataColumn columnAsset; + + private global::System.Data.DataColumn columnresult; + + private global::System.Data.DataColumn columnJobStart; + + private global::System.Data.DataColumn columnJobEnd; + + private global::System.Data.DataColumn columnJobTime; + + private global::System.Data.DataColumn columnMessage; + + private global::System.Data.DataColumn columntest; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public ResultDataDataTable() { + this.TableName = "ResultData"; + this.BeginInit(); + this.InitClass(); + this.EndInit(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal ResultDataDataTable(global::System.Data.DataTable table) { + this.TableName = table.TableName; + if ((table.CaseSensitive != table.DataSet.CaseSensitive)) { + this.CaseSensitive = table.CaseSensitive; + } + if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) { + this.Locale = table.Locale; + } + if ((table.Namespace != table.DataSet.Namespace)) { + this.Namespace = table.Namespace; + } + this.Prefix = table.Prefix; + this.MinimumCapacity = table.MinimumCapacity; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected ResultDataDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : + base(info, context) { + this.InitVars(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn idxColumn { + get { + return this.columnidx; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn AssetColumn { + get { + return this.columnAsset; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn resultColumn { + get { + return this.columnresult; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn JobStartColumn { + get { + return this.columnJobStart; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn JobEndColumn { + get { + return this.columnJobEnd; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn JobTimeColumn { + get { + return this.columnJobTime; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn MessageColumn { + get { + return this.columnMessage; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn testColumn { + get { + return this.columntest; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Browsable(false)] + public int Count { + get { + return this.Rows.Count; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public ResultDataRow this[int index] { + get { + return ((ResultDataRow)(this.Rows[index])); + } + } + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event ResultDataRowChangeEventHandler ResultDataRowChanging; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event ResultDataRowChangeEventHandler ResultDataRowChanged; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event ResultDataRowChangeEventHandler ResultDataRowDeleting; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event ResultDataRowChangeEventHandler ResultDataRowDeleted; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void AddResultDataRow(ResultDataRow row) { + this.Rows.Add(row); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public ResultDataRow AddResultDataRow(string Asset, string result, System.DateTime JobStart, System.DateTime JobEnd, System.TimeSpan JobTime, string Message, string test) { + ResultDataRow rowResultDataRow = ((ResultDataRow)(this.NewRow())); + object[] columnValuesArray = new object[] { + null, + Asset, + result, + JobStart, + JobEnd, + JobTime, + Message, + test}; + rowResultDataRow.ItemArray = columnValuesArray; + this.Rows.Add(rowResultDataRow); + return rowResultDataRow; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public override global::System.Data.DataTable Clone() { + ResultDataDataTable cln = ((ResultDataDataTable)(base.Clone())); + cln.InitVars(); + return cln; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Data.DataTable CreateInstance() { + return new ResultDataDataTable(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal void InitVars() { + this.columnidx = base.Columns["idx"]; + this.columnAsset = base.Columns["Asset"]; + this.columnresult = base.Columns["result"]; + this.columnJobStart = base.Columns["JobStart"]; + this.columnJobEnd = base.Columns["JobEnd"]; + this.columnJobTime = base.Columns["JobTime"]; + this.columnMessage = base.Columns["Message"]; + this.columntest = base.Columns["test"]; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitClass() { + this.columnidx = new global::System.Data.DataColumn("idx", typeof(int), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnidx); + this.columnAsset = new global::System.Data.DataColumn("Asset", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnAsset); + this.columnresult = new global::System.Data.DataColumn("result", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnresult); + this.columnJobStart = new global::System.Data.DataColumn("JobStart", typeof(global::System.DateTime), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnJobStart); + this.columnJobEnd = new global::System.Data.DataColumn("JobEnd", typeof(global::System.DateTime), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnJobEnd); + this.columnJobTime = new global::System.Data.DataColumn("JobTime", typeof(global::System.TimeSpan), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnJobTime); + this.columnMessage = new global::System.Data.DataColumn("Message", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnMessage); + this.columntest = new global::System.Data.DataColumn("test", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columntest); + this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint11", new global::System.Data.DataColumn[] { + this.columnidx}, false)); + this.columnidx.AutoIncrement = true; + this.columnidx.AutoIncrementSeed = 1; + this.columnidx.AllowDBNull = false; + this.columnidx.Unique = true; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public ResultDataRow NewResultDataRow() { + return ((ResultDataRow)(this.NewRow())); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) { + return new ResultDataRow(builder); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Type GetRowType() { + return typeof(ResultDataRow); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowChanged(e); + if ((this.ResultDataRowChanged != null)) { + this.ResultDataRowChanged(this, new ResultDataRowChangeEvent(((ResultDataRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowChanging(e); + if ((this.ResultDataRowChanging != null)) { + this.ResultDataRowChanging(this, new ResultDataRowChangeEvent(((ResultDataRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowDeleted(e); + if ((this.ResultDataRowDeleted != null)) { + this.ResultDataRowDeleted(this, new ResultDataRowChangeEvent(((ResultDataRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowDeleting(e); + if ((this.ResultDataRowDeleting != null)) { + this.ResultDataRowDeleting(this, new ResultDataRowChangeEvent(((ResultDataRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void RemoveResultDataRow(ResultDataRow row) { + this.Rows.Remove(row); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) { + global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType(); + global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence(); + DataSet1 ds = new DataSet1(); + global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny(); + any1.Namespace = "http://www.w3.org/2001/XMLSchema"; + any1.MinOccurs = new decimal(0); + any1.MaxOccurs = decimal.MaxValue; + any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; + sequence.Items.Add(any1); + global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny(); + any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1"; + any2.MinOccurs = new decimal(1); + any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; + sequence.Items.Add(any2); + global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute(); + attribute1.Name = "namespace"; + attribute1.FixedValue = ds.Namespace; + type.Attributes.Add(attribute1); + global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute(); + attribute2.Name = "tableTypeName"; + attribute2.FixedValue = "ResultDataDataTable"; + type.Attributes.Add(attribute2); + type.Particle = sequence; + global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable(); + if (xs.Contains(dsSchema.TargetNamespace)) { + global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream(); + global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream(); + try { + global::System.Xml.Schema.XmlSchema schema = null; + dsSchema.Write(s1); + for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) { + schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current)); + s2.SetLength(0); + schema.Write(s2); + if ((s1.Length == s2.Length)) { + s1.Position = 0; + s2.Position = 0; + for (; ((s1.Position != s1.Length) + && (s1.ReadByte() == s2.ReadByte())); ) { + ; + } + if ((s1.Position == s1.Length)) { + return type; + } + } + } + } + finally { + if ((s1 != null)) { + s1.Close(); + } + if ((s2 != null)) { + s2.Close(); + } + } + } + xs.Add(dsSchema); + return type; + } + } + + /// + ///Represents the strongly named DataTable class. + /// + [global::System.Serializable()] + [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")] + public partial class UsersDataTable : global::System.Data.TypedTableBase { + + private global::System.Data.DataColumn columnidx; + + private global::System.Data.DataColumn columnNo; + + private global::System.Data.DataColumn columnName; + + private global::System.Data.DataColumn columnMemo; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public UsersDataTable() { + this.TableName = "Users"; + this.BeginInit(); + this.InitClass(); + this.EndInit(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal UsersDataTable(global::System.Data.DataTable table) { + this.TableName = table.TableName; + if ((table.CaseSensitive != table.DataSet.CaseSensitive)) { + this.CaseSensitive = table.CaseSensitive; + } + if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) { + this.Locale = table.Locale; + } + if ((table.Namespace != table.DataSet.Namespace)) { + this.Namespace = table.Namespace; + } + this.Prefix = table.Prefix; + this.MinimumCapacity = table.MinimumCapacity; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected UsersDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : + base(info, context) { + this.InitVars(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn idxColumn { + get { + return this.columnidx; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn NoColumn { + get { + return this.columnNo; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn NameColumn { + get { + return this.columnName; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn MemoColumn { + get { + return this.columnMemo; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Browsable(false)] + public int Count { + get { + return this.Rows.Count; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public UsersRow this[int index] { + get { + return ((UsersRow)(this.Rows[index])); + } + } + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event UsersRowChangeEventHandler UsersRowChanging; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event UsersRowChangeEventHandler UsersRowChanged; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event UsersRowChangeEventHandler UsersRowDeleting; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event UsersRowChangeEventHandler UsersRowDeleted; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void AddUsersRow(UsersRow row) { + this.Rows.Add(row); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public UsersRow AddUsersRow(string No, string Name, string Memo) { + UsersRow rowUsersRow = ((UsersRow)(this.NewRow())); + object[] columnValuesArray = new object[] { + null, + No, + Name, + Memo}; + rowUsersRow.ItemArray = columnValuesArray; + this.Rows.Add(rowUsersRow); + return rowUsersRow; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public UsersRow FindByidx(int idx) { + return ((UsersRow)(this.Rows.Find(new object[] { + idx}))); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public override global::System.Data.DataTable Clone() { + UsersDataTable cln = ((UsersDataTable)(base.Clone())); + cln.InitVars(); + return cln; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Data.DataTable CreateInstance() { + return new UsersDataTable(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal void InitVars() { + this.columnidx = base.Columns["idx"]; + this.columnNo = base.Columns["No"]; + this.columnName = base.Columns["Name"]; + this.columnMemo = base.Columns["Memo"]; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitClass() { + this.columnidx = new global::System.Data.DataColumn("idx", typeof(int), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnidx); + this.columnNo = new global::System.Data.DataColumn("No", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnNo); + this.columnName = new global::System.Data.DataColumn("Name", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnName); + this.columnMemo = new global::System.Data.DataColumn("Memo", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnMemo); + this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] { + this.columnidx}, true)); + this.columnidx.AutoIncrement = true; + this.columnidx.AutoIncrementSeed = 1; + this.columnidx.AllowDBNull = false; + this.columnidx.Unique = true; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public UsersRow NewUsersRow() { + return ((UsersRow)(this.NewRow())); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) { + return new UsersRow(builder); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Type GetRowType() { + return typeof(UsersRow); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowChanged(e); + if ((this.UsersRowChanged != null)) { + this.UsersRowChanged(this, new UsersRowChangeEvent(((UsersRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowChanging(e); + if ((this.UsersRowChanging != null)) { + this.UsersRowChanging(this, new UsersRowChangeEvent(((UsersRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowDeleted(e); + if ((this.UsersRowDeleted != null)) { + this.UsersRowDeleted(this, new UsersRowChangeEvent(((UsersRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowDeleting(e); + if ((this.UsersRowDeleting != null)) { + this.UsersRowDeleting(this, new UsersRowChangeEvent(((UsersRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void RemoveUsersRow(UsersRow row) { + this.Rows.Remove(row); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) { + global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType(); + global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence(); + DataSet1 ds = new DataSet1(); + global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny(); + any1.Namespace = "http://www.w3.org/2001/XMLSchema"; + any1.MinOccurs = new decimal(0); + any1.MaxOccurs = decimal.MaxValue; + any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; + sequence.Items.Add(any1); + global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny(); + any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1"; + any2.MinOccurs = new decimal(1); + any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; + sequence.Items.Add(any2); + global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute(); + attribute1.Name = "namespace"; + attribute1.FixedValue = ds.Namespace; + type.Attributes.Add(attribute1); + global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute(); + attribute2.Name = "tableTypeName"; + attribute2.FixedValue = "UsersDataTable"; + type.Attributes.Add(attribute2); + type.Particle = sequence; + global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable(); + if (xs.Contains(dsSchema.TargetNamespace)) { + global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream(); + global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream(); + try { + global::System.Xml.Schema.XmlSchema schema = null; + dsSchema.Write(s1); + for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) { + schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current)); + s2.SetLength(0); + schema.Write(s2); + if ((s1.Length == s2.Length)) { + s1.Position = 0; + s2.Position = 0; + for (; ((s1.Position != s1.Length) + && (s1.ReadByte() == s2.ReadByte())); ) { + ; + } + if ((s1.Position == s1.Length)) { + return type; + } + } + } + } + finally { + if ((s1 != null)) { + s1.Close(); + } + if ((s2 != null)) { + s2.Close(); + } + } + } + xs.Add(dsSchema); + return type; + } + } + + /// + ///Represents the strongly named DataTable class. + /// + [global::System.Serializable()] + [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")] + public partial class ModelDataTable : global::System.Data.TypedTableBase { + + private global::System.Data.DataColumn columnidx; + + private global::System.Data.DataColumn columnAsset; + + private global::System.Data.DataColumn columnMemo; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public ModelDataTable() { + this.TableName = "Model"; + this.BeginInit(); + this.InitClass(); + this.EndInit(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal ModelDataTable(global::System.Data.DataTable table) { + this.TableName = table.TableName; + if ((table.CaseSensitive != table.DataSet.CaseSensitive)) { + this.CaseSensitive = table.CaseSensitive; + } + if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) { + this.Locale = table.Locale; + } + if ((table.Namespace != table.DataSet.Namespace)) { + this.Namespace = table.Namespace; + } + this.Prefix = table.Prefix; + this.MinimumCapacity = table.MinimumCapacity; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected ModelDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : + base(info, context) { + this.InitVars(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn idxColumn { + get { + return this.columnidx; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn AssetColumn { + get { + return this.columnAsset; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn MemoColumn { + get { + return this.columnMemo; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Browsable(false)] + public int Count { + get { + return this.Rows.Count; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public ModelRow this[int index] { + get { + return ((ModelRow)(this.Rows[index])); + } + } + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event ModelRowChangeEventHandler ModelRowChanging; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event ModelRowChangeEventHandler ModelRowChanged; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event ModelRowChangeEventHandler ModelRowDeleting; + + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public event ModelRowChangeEventHandler ModelRowDeleted; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void AddModelRow(ModelRow row) { + this.Rows.Add(row); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public ModelRow AddModelRow(string Asset, string Memo) { + ModelRow rowModelRow = ((ModelRow)(this.NewRow())); + object[] columnValuesArray = new object[] { + null, + Asset, + Memo}; + rowModelRow.ItemArray = columnValuesArray; + this.Rows.Add(rowModelRow); + return rowModelRow; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public ModelRow FindByidx(int idx) { + return ((ModelRow)(this.Rows.Find(new object[] { + idx}))); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public override global::System.Data.DataTable Clone() { + ModelDataTable cln = ((ModelDataTable)(base.Clone())); + cln.InitVars(); + return cln; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Data.DataTable CreateInstance() { + return new ModelDataTable(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal void InitVars() { + this.columnidx = base.Columns["idx"]; + this.columnAsset = base.Columns["Asset"]; + this.columnMemo = base.Columns["Memo"]; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + private void InitClass() { + this.columnidx = new global::System.Data.DataColumn("idx", typeof(int), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnidx); + this.columnAsset = new global::System.Data.DataColumn("Asset", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnAsset); + this.columnMemo = new global::System.Data.DataColumn("Memo", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnMemo); + this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] { + this.columnidx}, true)); + this.columnidx.AutoIncrement = true; + this.columnidx.AutoIncrementSeed = 1; + this.columnidx.AllowDBNull = false; + this.columnidx.Unique = true; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public ModelRow NewModelRow() { + return ((ModelRow)(this.NewRow())); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) { + return new ModelRow(builder); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override global::System.Type GetRowType() { + return typeof(ModelRow); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowChanged(e); + if ((this.ModelRowChanged != null)) { + this.ModelRowChanged(this, new ModelRowChangeEvent(((ModelRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowChanging(e); + if ((this.ModelRowChanging != null)) { + this.ModelRowChanging(this, new ModelRowChangeEvent(((ModelRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowDeleted(e); + if ((this.ModelRowDeleted != null)) { + this.ModelRowDeleted(this, new ModelRowChangeEvent(((ModelRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowDeleting(e); + if ((this.ModelRowDeleting != null)) { + this.ModelRowDeleting(this, new ModelRowChangeEvent(((ModelRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void RemoveModelRow(ModelRow row) { + this.Rows.Remove(row); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) { + global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType(); + global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence(); + DataSet1 ds = new DataSet1(); + global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny(); + any1.Namespace = "http://www.w3.org/2001/XMLSchema"; + any1.MinOccurs = new decimal(0); + any1.MaxOccurs = decimal.MaxValue; + any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; + sequence.Items.Add(any1); + global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny(); + any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1"; + any2.MinOccurs = new decimal(1); + any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; + sequence.Items.Add(any2); + global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute(); + attribute1.Name = "namespace"; + attribute1.FixedValue = ds.Namespace; + type.Attributes.Add(attribute1); + global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute(); + attribute2.Name = "tableTypeName"; + attribute2.FixedValue = "ModelDataTable"; + type.Attributes.Add(attribute2); + type.Particle = sequence; + global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable(); + if (xs.Contains(dsSchema.TargetNamespace)) { + global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream(); + global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream(); + try { + global::System.Xml.Schema.XmlSchema schema = null; + dsSchema.Write(s1); + for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) { + schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current)); + s2.SetLength(0); + schema.Write(s2); + if ((s1.Length == s2.Length)) { + s1.Position = 0; + s2.Position = 0; + for (; ((s1.Position != s1.Length) + && (s1.ReadByte() == s2.ReadByte())); ) { + ; + } + if ((s1.Position == s1.Length)) { + return type; + } + } + } + } + finally { + if ((s1 != null)) { + s1.Close(); + } + if ((s2 != null)) { + s2.Close(); + } + } + } + xs.Add(dsSchema); + return type; + } + } + + /// + ///Represents strongly named DataRow class. + /// + public partial class ResultDataRow : global::System.Data.DataRow { + + private ResultDataDataTable tableResultData; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal ResultDataRow(global::System.Data.DataRowBuilder rb) : + base(rb) { + this.tableResultData = ((ResultDataDataTable)(this.Table)); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public int idx { + get { + return ((int)(this[this.tableResultData.idxColumn])); + } + set { + this[this.tableResultData.idxColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string Asset { + get { + if (this.IsAssetNull()) { + return string.Empty; + } + else { + return ((string)(this[this.tableResultData.AssetColumn])); + } + } + set { + this[this.tableResultData.AssetColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string result { + get { + if (this.IsresultNull()) { + return string.Empty; + } + else { + return ((string)(this[this.tableResultData.resultColumn])); + } + } + set { + this[this.tableResultData.resultColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public System.DateTime JobStart { + get { + try { + return ((global::System.DateTime)(this[this.tableResultData.JobStartColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("\'ResultData\' 테이블의 \'JobStart\' 열의 값이 DBNull입니다.", e); + } + } + set { + this[this.tableResultData.JobStartColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public System.DateTime JobEnd { + get { + try { + return ((global::System.DateTime)(this[this.tableResultData.JobEndColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("\'ResultData\' 테이블의 \'JobEnd\' 열의 값이 DBNull입니다.", e); + } + } + set { + this[this.tableResultData.JobEndColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public System.TimeSpan JobTime { + get { + try { + return ((global::System.TimeSpan)(this[this.tableResultData.JobTimeColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("\'ResultData\' 테이블의 \'JobTime\' 열의 값이 DBNull입니다.", e); + } + } + set { + this[this.tableResultData.JobTimeColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string Message { + get { + if (this.IsMessageNull()) { + return string.Empty; + } + else { + return ((string)(this[this.tableResultData.MessageColumn])); + } + } + set { + this[this.tableResultData.MessageColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string test { + get { + try { + return ((string)(this[this.tableResultData.testColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("\'ResultData\' 테이블의 \'test\' 열의 값이 DBNull입니다.", e); + } + } + set { + this[this.tableResultData.testColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsAssetNull() { + return this.IsNull(this.tableResultData.AssetColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetAssetNull() { + this[this.tableResultData.AssetColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsresultNull() { + return this.IsNull(this.tableResultData.resultColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetresultNull() { + this[this.tableResultData.resultColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsJobStartNull() { + return this.IsNull(this.tableResultData.JobStartColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetJobStartNull() { + this[this.tableResultData.JobStartColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsJobEndNull() { + return this.IsNull(this.tableResultData.JobEndColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetJobEndNull() { + this[this.tableResultData.JobEndColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsJobTimeNull() { + return this.IsNull(this.tableResultData.JobTimeColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetJobTimeNull() { + this[this.tableResultData.JobTimeColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsMessageNull() { + return this.IsNull(this.tableResultData.MessageColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetMessageNull() { + this[this.tableResultData.MessageColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IstestNull() { + return this.IsNull(this.tableResultData.testColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SettestNull() { + this[this.tableResultData.testColumn] = global::System.Convert.DBNull; + } + } + + /// + ///Represents strongly named DataRow class. + /// + public partial class UsersRow : global::System.Data.DataRow { + + private UsersDataTable tableUsers; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal UsersRow(global::System.Data.DataRowBuilder rb) : + base(rb) { + this.tableUsers = ((UsersDataTable)(this.Table)); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public int idx { + get { + return ((int)(this[this.tableUsers.idxColumn])); + } + set { + this[this.tableUsers.idxColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string No { + get { + if (this.IsNoNull()) { + return string.Empty; + } + else { + return ((string)(this[this.tableUsers.NoColumn])); + } + } + set { + this[this.tableUsers.NoColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string Name { + get { + if (this.IsNameNull()) { + return string.Empty; + } + else { + return ((string)(this[this.tableUsers.NameColumn])); + } + } + set { + this[this.tableUsers.NameColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string Memo { + get { + if (this.IsMemoNull()) { + return ""; + } + else { + return ((string)(this[this.tableUsers.MemoColumn])); + } + } + set { + this[this.tableUsers.MemoColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsNoNull() { + return this.IsNull(this.tableUsers.NoColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetNoNull() { + this[this.tableUsers.NoColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsNameNull() { + return this.IsNull(this.tableUsers.NameColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetNameNull() { + this[this.tableUsers.NameColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsMemoNull() { + return this.IsNull(this.tableUsers.MemoColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetMemoNull() { + this[this.tableUsers.MemoColumn] = global::System.Convert.DBNull; + } + } + + /// + ///Represents strongly named DataRow class. + /// + public partial class ModelRow : global::System.Data.DataRow { + + private ModelDataTable tableModel; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + internal ModelRow(global::System.Data.DataRowBuilder rb) : + base(rb) { + this.tableModel = ((ModelDataTable)(this.Table)); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public int idx { + get { + return ((int)(this[this.tableModel.idxColumn])); + } + set { + this[this.tableModel.idxColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string Asset { + get { + if (this.IsAssetNull()) { + return string.Empty; + } + else { + return ((string)(this[this.tableModel.AssetColumn])); + } + } + set { + this[this.tableModel.AssetColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string Memo { + get { + if (this.IsMemoNull()) { + return string.Empty; + } + else { + return ((string)(this[this.tableModel.MemoColumn])); + } + } + set { + this[this.tableModel.MemoColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsAssetNull() { + return this.IsNull(this.tableModel.AssetColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetAssetNull() { + this[this.tableModel.AssetColumn] = global::System.Convert.DBNull; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsMemoNull() { + return this.IsNull(this.tableModel.MemoColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetMemoNull() { + this[this.tableModel.MemoColumn] = global::System.Convert.DBNull; + } + } + + /// + ///Row event argument class + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public class ResultDataRowChangeEvent : global::System.EventArgs { + + private ResultDataRow eventRow; + + private global::System.Data.DataRowAction eventAction; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public ResultDataRowChangeEvent(ResultDataRow row, global::System.Data.DataRowAction action) { + this.eventRow = row; + this.eventAction = action; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public ResultDataRow Row { + get { + return this.eventRow; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataRowAction Action { + get { + return this.eventAction; + } + } + } + + /// + ///Row event argument class + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public class UsersRowChangeEvent : global::System.EventArgs { + + private UsersRow eventRow; + + private global::System.Data.DataRowAction eventAction; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public UsersRowChangeEvent(UsersRow row, global::System.Data.DataRowAction action) { + this.eventRow = row; + this.eventAction = action; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public UsersRow Row { + get { + return this.eventRow; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataRowAction Action { + get { + return this.eventAction; + } + } + } + + /// + ///Row event argument class + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public class ModelRowChangeEvent : global::System.EventArgs { + + private ModelRow eventRow; + + private global::System.Data.DataRowAction eventAction; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public ModelRowChangeEvent(ModelRow row, global::System.Data.DataRowAction action) { + this.eventRow = row; + this.eventAction = action; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public ModelRow Row { + get { + return this.eventRow; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataRowAction Action { + get { + return this.eventAction; + } + } + } + } +} + +#pragma warning restore 1591 \ No newline at end of file diff --git a/Project/DataSet1.xsc b/Project/DataSet1.xsc new file mode 100644 index 0000000..05b0199 --- /dev/null +++ b/Project/DataSet1.xsc @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/Project/DataSet1.xsd b/Project/DataSet1.xsd new file mode 100644 index 0000000..8d60a04 --- /dev/null +++ b/Project/DataSet1.xsd @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Project/DataSet1.xss b/Project/DataSet1.xss new file mode 100644 index 0000000..20b9f67 --- /dev/null +++ b/Project/DataSet1.xss @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/Project/Device/Barcode.cs b/Project/Device/Barcode.cs new file mode 100644 index 0000000..4dd4eeb --- /dev/null +++ b/Project/Device/Barcode.cs @@ -0,0 +1,1096 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.ComponentModel; +using System.Threading; + +namespace Project.Device +{ + public class Barcode : IDisposable + { + protected Boolean _isinit = false; + + #region "Event Args" + + /// + /// 데이터를 수신할떄 사용함(RAW 포함) + /// + public class ReceiveDataEventArgs : EventArgs + { + private byte[] _buffer = null; + + /// + /// 바이트배열의 버퍼값 + /// + public byte[] Value { get { return _buffer; } } + + /// + /// 버퍼(바이트배열)의 데이터를 문자로 반환합니다. + /// + public string StrValue + { + get + { + //return string.Empty; + + if (_buffer == null || _buffer.Length < 1) return string.Empty; + else return System.Text.Encoding.Default.GetString(_buffer); + } + } + public ReceiveDataEventArgs(byte[] buffer) + { + _buffer = buffer; + } + } + + public class MessageEventArgs : EventArgs + { + private Boolean _isError = false; + public Boolean IsError { get { return _isError; } } + private string _message = string.Empty; + public string Message { get { return _message; } } + public MessageEventArgs(Boolean isError, string Message) + { + _isError = isError; + _message = Message; + } + } + + #endregion + + #region "Enum & Structure" + + /// + /// 데이터수신시 해당 데이터의 끝을 결정하는 방식을 설정합니다. + /// + public enum eTerminal : byte + { + /// + /// line feed + /// + LF = 0, + + /// + /// carrige return + /// + CR, + + /// + /// cr+lf + /// + CrLf, + + /// + /// stx + ETx 구성된 프로토콜을 감지합니다. stx,etx는 임의 지정이 가능하며 기본값으로는 stx = 0x02, etx = 0x03 을 가지고 있습니다. + /// + ETX, + + /// + /// 데이터의 길이를 가지고 판단합니다. + /// + Length, + + /// + /// 설정없음 .. 일정시간동안 대기한 후 버퍼의 내용을 모두 데이터로 인정합니다. + /// + None, + + /// + /// 내부 Receive 이벤트를 사용하지 않고 Raw 이벤트를 사용합니다. + /// 이 값을 설정할 경우 내부 Receivce 이벤트 내에서 메세지 수신 이벤트가 발생하지 않습니다. + /// DataParSER을 상속하여 해당 파서에서 데이터를 분리하세요. True 이면 분리성공, false 이면 완료될때까지 대기합니다. + /// + CustomParser + } + + #endregion + + #region "Public variable" + + /// + /// 오류가 발생했다면 이 변수에 그 내용이 기록됩니다. + /// + public string errorMessage = string.Empty; + + ///// + ///// WriteDataSync 명령 사용시 최대로 기다리는 시간 + ///// + //public int syncTimeout = 5000; + + /// + /// 이 값은 종단기호 형식이 Length 일때 사용됩니다. 버퍼의 갯수이 이 값과 일치하면 수신 이벤트를 발생합니다. + /// + public int MaxDataLength = 0x0d; + + /// + /// 마지막으로 데이터는 전송한 시간 + /// + public DateTime lastSendTime; + + /// + /// 최종 전송 메세지 + /// + public byte[] lastSendBuffer; + + /// + /// 마지막으로 데이터를 받은 시간 + /// + public DateTime lastRecvTime = DateTime.Parse("1982-11-23"); + + /// + /// 데이터 전송시 전송메세지를 발생할것인가? 171113 + /// + public Boolean EnableTxMessage { get; set; } + + /// + /// terminal 이 stx 일때에만 사용하며 기본값은 0x03 + /// + [Description("종단기호형식이 ETX일때 사용하는 데이터의 종료문자값입니다. 바이트값이므로 0~255 사이로 입력하세요.")] + [Category("설정"), DisplayName("Data End Byte")] + public byte ETX { get; set; } + + #endregion + + #region "Protect & private Variable" + + /// + /// 메세지 수신시 사용하는 내부버퍼 + /// + protected List _buffer = new List(); + + + /// + /// 데이터의 끝을 분석하는 종단기호의 설정 + /// + private eTerminal _term = eTerminal.LF; + + /// + /// WriteDataSync 명령사용시 활성화됨 + /// + protected Boolean _isSync = false; + + /// + /// sync timeOUt체크시 사용합니다. + /// + private System.Diagnostics.Stopwatch _wat = new System.Diagnostics.Stopwatch(); + + /// + /// Serialport Device + /// + protected System.IO.Ports.SerialPort _device; + + /// + /// for autoreset events + /// + protected ManualResetEvent _mre; + + protected Boolean isDisposed = false; + + #endregion + + #region "Internal Events" + + void barcode_ErrorReceived(object sender, System.IO.Ports.SerialErrorReceivedEventArgs e) + { + if (Message != null) Message(this, new MessageEventArgs(true, e.ToString())); + } + + + + void barcode_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) + { + if (_isSync) return; //싱크모드일경우에는 해당 루틴에서 직접 읽는다 + _isSync = false; + //none일경우에는 100ms 정도 기다려준다. + if (_term == eTerminal.None) + { + //none 일경우에는 무조건 데이터로 취급한다. + System.Threading.Thread.Sleep(200); + _buffer.Clear(); + } + + try + { + int ReadCount = _device.BytesToRead; + + byte[] buffer = new byte[ReadCount]; + _device.Read(buffer, 0, buffer.Length); + + if (ReceiveData_Raw != null) ReceiveData_Raw(this, new ReceiveDataEventArgs(buffer)); + System.Text.StringBuilder LogMsg = new StringBuilder(); + + if (Terminal == eTerminal.CustomParser) + { + byte[] remainBuffer; + Repeat: + if (CustomParser(buffer, out remainBuffer)) + { + //parser ok + RaiseRecvData(_buffer.ToArray()); + _buffer.Clear(); + if (remainBuffer != null && remainBuffer.Length > 0) + { + //버퍼를 변경해서 다시 전송을 해준다. + buffer = new byte[remainBuffer.Length]; + Array.Copy(remainBuffer, buffer, buffer.Length); + goto Repeat; //남은 버퍼가 있다면 진행을 해준다. + } + } + } + else + { + foreach (byte bb in buffer) + { + switch (_term) + { + + case eTerminal.CR: + if (bb == 0x0D) + { + RaiseRecvData(_buffer.ToArray()); ; + _buffer.Clear(); + } + else _buffer.Add(bb); + break; + case eTerminal.LF: + if (bb == 0x0A) + { + RaiseRecvData(_buffer.ToArray()); ; + _buffer.Clear(); + } + else _buffer.Add(bb); + break; + case eTerminal.CrLf: + if (bb == 0x0A) + { + RaiseRecvData(_buffer.ToArray()); ; + _buffer.Clear(); + } + else if (bb == 0x0D) + { + //0d는 그냥 넘어간다. + } + else _buffer.Add(bb); + break; + case eTerminal.Length: + _buffer.Add(bb); + if (_buffer.Count == MaxDataLength) + { + RaiseRecvData(_buffer.ToArray()); ; + _buffer.Clear(); + } + else if (_buffer.Count > MaxDataLength) + { + RaiseMessage("Buffer Length Error " + _buffer.Count.ToString() + "/" + MaxDataLength.ToString(), true); + _buffer.Clear(); + } + break; + case eTerminal.ETX: //asc타입의 프로토콜에서는 STX,ETX가 고유값이다. + if (bb == STX) + { + _buffer.Clear(); + } + else if (bb == ETX) + { + RaiseRecvData(_buffer.ToArray()); ; + _buffer.Clear(); + } + else _buffer.Add(bb); + break; + case eTerminal.None: + _buffer.Add(bb); + break; + } + } + + //170802 + if (_term == eTerminal.None) + { + RaiseRecvData(_buffer.ToArray()); ; + _buffer.Clear(); + } + } + } + catch (Exception ex) + { + if (IsOpen) + { + //_device.DiscardInBuffer(); + //_device.DiscardOutBuffer(); + } + errorMessage = ex.Message; + RaiseMessage(ex.Message, true); + } + + } + + + #endregion + + #region "External Events" + + /// + /// 바코드에서 들어오는 데이터의 원본 메세지 + /// + public event EventHandler ReceiveData_Raw; + + /// + /// 데이터가 들어올 경우 발생합니다 (종단기호=Termianl) 문자열이 발견된 후에 발생함 + /// + public event EventHandler ReceiveData; + + + /// + /// 데이터를 전송할 때 해당 이벤트가 발생합니다. + /// + public event EventHandler SendData; + + /// + /// 오류 및 기타 일반 메세지 + /// + public event EventHandler Message; + + /// + /// 시리얼포트의 핀 상태값이 변경될 때 발생합니다. + /// + public event EventHandler serialPinchanged; + + + #endregion + + #region "Properties" + + /// + /// 식별번호(임의지정가능) - 장치 생성시 입력 + /// + [Description("이 장치의 식별 ID(임의 지정가능)")] + [Category("설정"), DisplayName("Device No")] + public int ID { get; set; } + + /// + /// terminal 이 etx 일때에만 사용하며 기본값은 0x02 + /// + [Description("종단기호형식이 ETX일때 사용하는 데이터의 시작문자값입니다. 바이트값이므로 0~255 사이로 입력하세요.")] + [Category("설정"), DisplayName("Data Start Byte")] + public byte STX { get; set; } + + /// + /// 내장 분석기(Parser)를 사용할 경우 최종 데이터에서 CR,LF를 제거할지 선택합니다. + /// + [Description("내장분석기(Parser)를 사용할 경우 최종 데이터에서 CR.LF를 제거할지 선택합니다.")] + [Category("기타"), DisplayName("CRLF 제거")] + public Boolean RemoveCRLFNULL { get; set; } + + /// + /// 종단기호 형식 + /// + [Description("데이터의 종단기호를 설정합니다. 지정한 데이터가 올경우")] + [Category("설정"), DisplayName("종단기호")] + public eTerminal Terminal { get { return _term; } set { _term = value; } } + + [Category("설정")] + public System.IO.Ports.Parity Parity + { + get + { + + return _device.Parity; + } + set + { + _device.Parity = value; + } + } + + [Category("설정")] + public int DataBits + { + get + { + return _device.DataBits; + } + set + { + _device.DataBits = value; + } + } + + [Category("설정")] + public System.IO.Ports.StopBits StopBits + { + get + { + return _device.StopBits; + } + set + { + _device.StopBits = value; + } + + } + + [Category("설정")] + public System.IO.Ports.Handshake Handshake + { + get + { + return _device.Handshake; + } + set + { + _device.Handshake = value; + } + + } + + #region "pin state & pin setting" + + /// + /// Data Terminal Ready + /// + [Description("Data Terminal Ready 신호의 사용여부")] + [Category("PIN")] + public Boolean DtrEnable + { + get + { + return _device.DtrEnable; + + } + set + { + _device.DtrEnable = value; + } + } + + /// + /// Request To Send + /// + [Description("Request to Send 신호의 사용여부")] + [Category("PIN")] + public Boolean RtsEnable + { + get + { + return _device.RtsEnable; + + } + set + { + _device.RtsEnable = value; + } + } + + /// + /// Data set Ready 신호 상태 + /// + [Description("Data Set Ready 신호 상태")] + [Category("PIN")] + public Boolean PIN_DSR + { + get + { + if (!IsOpen) return false; + return _device.DsrHolding; + } + } + + /// + /// Carrier Detect + /// + [Description("Carrier Detect 신호 상태")] + [Category("PIN")] + public Boolean PIN_CD + { + get + { + if (!IsOpen) return false; + return _device.CDHolding; + } + } + + /// + /// Clear to Send + /// + [Description("Clear to Send 신호 상태")] + [Category("PIN")] + public Boolean PIN_CTS + { + get + { + if (!IsOpen) return false; + return _device.CtsHolding; + } + } + + /// + /// Break State + /// + [Description("중단신호 상태")] + [Category("PIN")] + public Boolean PIN_BreakState + { + get + { + if (!IsOpen) return false; + return _device.BreakState; + } + } + + + #endregion + + + + + /// + /// 포트가 열려있는지 확인 + /// + [Description("현재 시리얼포트가 열려있는지 확인합니다")] + [Category("정보"), DisplayName("Port Open")] + public virtual Boolean IsOpen + { + get + { + if (_device == null) return false; + return _device.IsOpen; + } + } + + /// + /// 초기화등이 성공했는지 확인합니다.close 되었다면 실패입니다. isinit 변수값을 적절히 수정하시기 바랍니다. + /// + [Description("초기화성공여부 별도의 초기화 코드가없다면 isOpen 과 동일합니다.")] + [Category("정보"), DisplayName("Init OK?")] + public virtual Boolean IsInit + { + get + { + if (!IsOpen || !_isinit) return false; + return true; + } + } + + /// + /// 쓰기타임아웃 + /// + [Description("쓰기명령어의 최대대기시간(단위:ms)\r\n지정 시간을 초과할 경우 오류가 발생합니다.")] + [Category("설정"), DisplayName("쓰기 제한시간")] + public int WriteTimeout + { + get { return _device.WriteTimeout; } + set { _device.WriteTimeout = value; } + } + + /// + /// 읽기타임아웃 + /// + [Description("읽기명령어의 최대대기시간(단위:ms)\r\n지정 시간을 초과할 경우 오류가 발생합니다.")] + [Category("설정"), DisplayName("읽기 제한시간")] + public int ReadTimeout + { + get { return _device.ReadTimeout; } + set { _device.ReadTimeout = value; } + } + + /// + /// 포트이름 + /// + [Description("시리얼 포트 이름")] + [Category("설정"), DisplayName("Port Name")] + public string PortName { get { return _device.PortName; } set { _device.PortName = value; } } + /// + /// RS232 Baud Rate + /// + [Description("시리얼 포트 전송 속도")] + [Category("설정"), DisplayName("Baud Rate")] + public int BaudRate { get { return _device.BaudRate; } set { _device.BaudRate = value; } } + + #endregion + + #region "Method" + + /// + /// 쓰기버퍼비우기 + /// + public void ClearWriteBuffer() + { + if (_device.IsOpen) _device.DiscardOutBuffer(); + } + + /// + /// 읽기버퍼비우기 + /// + public void ClearReadBuffer() + { + if (_device.IsOpen) _device.DiscardInBuffer(); + } + + /// + /// 장치의 초기화작업을 수행합니다.(이 값은 기본값으로 true가 무조건 설정됩니다) 오버라이드하여 각 상황에 맞게 처리하세요. + /// + protected virtual void Init() + { + if (!IsOpen) _isinit = false; + else _isinit = true; + } + + + + protected virtual Boolean CustomParser(byte[] buf, out byte[] remainBuffer) + { + remainBuffer = new byte[] { }; + return true; + } + + #region "Raise Message Events (임의로 메세지를 발생시킵니다)" + + + /// + /// 보낸메세지 이벤트를 발생 + /// + /// String Data + public void RaiseSendData(string data) + { + RaiseSendData(System.Text.Encoding.Default.GetBytes(data)); + } + + /// + /// 보낸메세지 이벤트를 발생 합니다. + /// + /// Byte Array + public void RaiseSendData(byte[] data) + { + try + { + if (SendData != null) SendData(this, new ReceiveDataEventArgs(data)); + } + catch (Exception ex) + { + RaiseMessage("RaiseSendData:" + ex.Message, true); + } + + } + + /// + /// 지정한 데이터로 바코드가 수신된것처럼 발생시킵니다. + /// + /// + public void RaiseRecvData(byte[] b) + { + byte[] Data; + + if (RemoveCRLFNULL) //제거해야하는경우에만 처리 170822 + Data = RemoveCRLF(b); + else + Data = b; + + try + { + if (ReceiveData != null) ReceiveData(this, new ReceiveDataEventArgs(Data)); + } + catch (Exception ex) + { + RaiseMessage("RaiseDataMessage:" + ex.Message, true); + } + } + + /// + /// 지정한 데이터로 바코드가 수신된것처럼 발생시킵니다. + /// + /// + public void RaiseRecvData(string data) + { + RaiseRecvData(System.Text.Encoding.Default.GetBytes(data)); + } + + /// + /// 메세지이벤트를 발생합니다. 오류메세지일 경우 2번째 파라미터를 true 로 입력하세요. + /// + /// 메세지 + /// 오류라면 True로 설정하세요. 기본값=False + public void RaiseMessage(string message, Boolean isError = false) + { + if (isError) errorMessage = message; //170920 + if (Message != null) Message(this, new MessageEventArgs(isError, message)); + } + + + #endregion + + /// + /// 포트열기(실패시 False)를 반환 + /// + public virtual Boolean Open(Boolean runInit = true) + { + try + { + _device.Open(); + if (_device.IsOpen) + { + Init(); + } + else + { + _isinit = false; + } + + return _isinit; + } + catch (Exception ex) + { + errorMessage = ex.Message; + RaiseMessage(ex.Message, true); + return false; + } + } + + /// + /// 포트닫기 + /// + public virtual void Close(Boolean PortClose = true) + { + if (_device != null && _device.IsOpen) + { + _isinit = false; + _device.DiscardInBuffer(); + _device.DiscardOutBuffer(); + if (PortClose) _device.Close(); //dispose에서는 포트를 직접 클리어하지 않게 해뒀다. + } + } + + /// + /// 메세지내용중 Cr,LF 를 제거합니다. + /// + protected byte[] RemoveCRLF(byte[] src) + { + List bcdbuf = new List(); + foreach (byte by in src) + { + if (by == 0x00 || by == 0x0d || by == 0x0a || by == 0x02 || by == 0x03) continue; + bcdbuf.Add(by); + } + return bcdbuf.ToArray(); + } + + #endregion + + #region "Method Write Data" + + /// + /// 포트에 쓰기(barcode_DataReceived 이벤트로 메세지수신) + /// + public virtual Boolean WriteData(string data) + { + byte[] buf = System.Text.Encoding.Default.GetBytes(data); + return WriteData(buf); + } + + /// + /// 포트에 쓰기 반환될 때까지 기다림(SyncTimeOut 값까지 기다림) + /// + public virtual byte[] WriteDataSync(string data) + { + byte[] buf = System.Text.Encoding.Default.GetBytes(data); + return WriteDataSync(buf); + } + + /// + /// _buffer를 클리어하고 입력된 데이터를 버퍼에 추가합니다. + /// + /// + public void setRecvBuffer(byte[] buf) + { + this._buffer.Clear(); + this._buffer.AddRange(buf); + } + + public int WriteError = 0; + public string WriteErrorMessage = string.Empty; + + /// + /// 포트에 쓰기 반환될 때까지 기다림(SyncTimeOut 값까지 기다림) + /// + public virtual byte[] WriteDataSync(byte[] data, Boolean useReset = true) + { + errorMessage = string.Empty; + _isSync = true; + byte[] recvbuf = null; + Boolean bRet = false; + + //171214 + if (!IsOpen) + { + errorMessage = "Port Closed"; + return null; + } + + //171205 : 타임아웃시간추가 + if (useReset) + { + if (!_mre.WaitOne(3000)) + { + errorMessage = string.Format("WriteDataSync:MRE:WaitOne:TimeOut 3000ms"); + RaiseMessage(errorMessage, true); + return null; + } + + _mre.Reset(); + } + + + //save last command + lastSendTime = DateTime.Now; + if (lastSendBuffer == null) lastSendBuffer = new byte[data.Length]; //171113 + else Array.Resize(ref lastSendBuffer, data.Length); + Array.Copy(data, lastSendBuffer, data.Length); + Boolean sendOK = false; + + try + { + _device.DiscardInBuffer(); + _device.DiscardOutBuffer(); + _buffer.Clear(); //171205 + _device.Write(data, 0, data.Length); + WriteError = 0; + WriteErrorMessage = string.Empty; + sendOK = true; + } + catch (Exception ex) + { + WriteError += 1; + WriteErrorMessage = ex.Message; + } + + if (sendOK) + { + try + { + //171113 + if (EnableTxMessage && SendData != null) SendData(this, new ReceiveDataEventArgs(data)); + + _wat.Restart(); + Boolean bTimeOut = false; + _buffer.Clear(); + Boolean bDone = false; + while (!bDone) + { + if (_wat.ElapsedMilliseconds > WriteTimeout) + { + errorMessage = "(Sync)WriteTimeOut"; + bTimeOut = true; + break; + } + else + { + int RecvCnt = _device.BytesToRead; + if (RecvCnt > 0) + { + byte[] rbuf = new byte[RecvCnt]; + _device.Read(rbuf, 0, rbuf.Length); + if (_term == eTerminal.CustomParser) + { + byte[] remainBuffer; + Repeat: + if (CustomParser(rbuf, out remainBuffer)) + { + RaiseRecvData(_buffer.ToArray()); + bDone = true; + if (remainBuffer != null && remainBuffer.Length > 0) + { + rbuf = new byte[remainBuffer.Length]; + Array.Copy(remainBuffer, rbuf, rbuf.Length); + goto Repeat; + } + } + } + else + { + foreach (byte b in rbuf) + { + switch (_term) + { + case eTerminal.CR: + if (b == 0x0D) + { + bDone = true; + break; + } + else _buffer.Add(b); + break; + case eTerminal.LF: + if (b == 0x0A) + { + bDone = true; + break; + } + else _buffer.Add(b); + break; + case eTerminal.CrLf: + if (b == 0x0A) + { + bDone = true; + break; + } + else if (b == 0x0d) + { + //pass + } + else + { + _buffer.Add(b); + } + break; + case eTerminal.Length: + _buffer.Add(b); + if (_buffer.Count == MaxDataLength) + { + bDone = true; + break; + } + else if (_buffer.Count > MaxDataLength) + { + RaiseMessage("Buffer Length Error " + _buffer.Count.ToString() + "/" + MaxDataLength.ToString(), true); + _buffer.Clear(); + } + + break; + case eTerminal.ETX: + + if (b == STX) + { + _buffer.Clear(); + } + else if (b == ETX) + { + bDone = true; + break; + } + else _buffer.Add(b); + break; + } + } + } + } + + } + } + _wat.Stop(); + if (!bTimeOut) + { + recvbuf = _buffer.ToArray(); + bRet = true; + } + } + catch (Exception ex) + { + errorMessage = ex.Message; + bRet = false; + } + } + + if (useReset) + _mre.Set();//release + + //syncmode off + _isSync = false; + return recvbuf; + } + + /// + /// 포트에 쓰기(barcode_DataReceived 이벤트로 메세지수신) + /// + public virtual Boolean WriteData(byte[] data) + { + Boolean bRet = false; + + //171205 : 타임아웃시간추가 + if (!_mre.WaitOne(3000)) + { + errorMessage = string.Format("WriteData:MRE:WaitOne:TimeOut 3000ms"); + RaiseMessage(errorMessage, true); + return false; + } + + _mre.Reset(); + + //Array.Resize(ref data, data.Length + 2); + + try + { + lastSendTime = DateTime.Now; + if (lastSendBuffer == null) lastSendBuffer = new byte[data.Length]; //171113 + else Array.Resize(ref lastSendBuffer, data.Length); + Array.Copy(data, lastSendBuffer, data.Length); + _device.Write(data, 0, data.Length); + + //171113 + if (EnableTxMessage && SendData != null) SendData(this, new ReceiveDataEventArgs(data)); + + bRet = true; + WriteError = 0; + WriteErrorMessage = string.Empty; + } + catch (Exception ex) + { + // this.isinit = false; + RaiseMessage(ex.Message, true);// if (ReceivceData != null) ReceivceData(this, true, ex.Message); + bRet = false; + WriteError += 1; //연속쓰기오류횟수 + WriteErrorMessage = ex.Message; + } + finally + { + _mre.Set(); + } + return bRet; + } + + #endregion + + /// + /// 장치를 생성합니다. + /// + public Barcode() : this(0) { } + /// + /// 지정한ID를 가진 장치를 생성합니다. + /// + /// + public Barcode(int id) + { + _mre = new ManualResetEvent(true); + this.ID = id; + this._device = new System.IO.Ports.SerialPort(); + _device.DataReceived += barcode_DataReceived; + _device.ErrorReceived += barcode_ErrorReceived; + _device.ReadTimeout = 2000; + _device.WriteTimeout = 2000; + _term = eTerminal.CrLf; + STX = 0x02; + ETX = 0x03; + RemoveCRLFNULL = false; + EnableTxMessage = false; + } + + ~Barcode() + { + Dispose(); + } + + /// + /// close를 호출합니다. + /// + public virtual void Dispose() + { + if (!isDisposed) //180219 + { + _isinit = false; + _device.DataReceived -= barcode_DataReceived; + _device.ErrorReceived -= barcode_ErrorReceived; + //Close(false); + isDisposed = true; + } + } + } +} diff --git a/Project/Dialog/fDebug.Designer.cs b/Project/Dialog/fDebug.Designer.cs new file mode 100644 index 0000000..ffa9290 --- /dev/null +++ b/Project/Dialog/fDebug.Designer.cs @@ -0,0 +1,107 @@ +namespace Project.Dialog +{ + partial class fDebug + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.tabControl1 = new System.Windows.Forms.TabControl(); + this.tabPage1 = new System.Windows.Forms.TabPage(); + this.button1 = new System.Windows.Forms.Button(); + this.textBox1 = new System.Windows.Forms.TextBox(); + this.tabControl1.SuspendLayout(); + this.tabPage1.SuspendLayout(); + this.SuspendLayout(); + // + // tabControl1 + // + this.tabControl1.Controls.Add(this.tabPage1); + this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.tabControl1.Location = new System.Drawing.Point(0, 0); + this.tabControl1.Name = "tabControl1"; + this.tabControl1.SelectedIndex = 0; + this.tabControl1.Size = new System.Drawing.Size(538, 163); + this.tabControl1.TabIndex = 8; + // + // tabPage1 + // + this.tabPage1.Controls.Add(this.button1); + this.tabPage1.Controls.Add(this.textBox1); + this.tabPage1.Location = new System.Drawing.Point(4, 22); + this.tabPage1.Name = "tabPage1"; + this.tabPage1.Padding = new System.Windows.Forms.Padding(3); + this.tabPage1.Size = new System.Drawing.Size(530, 137); + this.tabPage1.TabIndex = 0; + this.tabPage1.Text = "tabPage1"; + this.tabPage1.UseVisualStyleBackColor = true; + // + // button1 + // + this.button1.Location = new System.Drawing.Point(201, 19); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(122, 21); + this.button1.TabIndex = 1; + this.button1.Text = "barcode"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // textBox1 + // + this.textBox1.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper; + this.textBox1.ImeMode = System.Windows.Forms.ImeMode.Alpha; + this.textBox1.Location = new System.Drawing.Point(17, 19); + this.textBox1.Name = "textBox1"; + this.textBox1.Size = new System.Drawing.Size(179, 21); + this.textBox1.TabIndex = 0; + // + // fDebug + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(538, 163); + this.Controls.Add(this.tabControl1); + this.KeyPreview = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "fDebug"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "fDebug"; + this.TopMost = true; + this.tabControl1.ResumeLayout(false); + this.tabPage1.ResumeLayout(false); + this.tabPage1.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.TabControl tabControl1; + private System.Windows.Forms.TabPage tabPage1; + private System.Windows.Forms.TextBox textBox1; + private System.Windows.Forms.Button button1; + } +} \ No newline at end of file diff --git a/Project/Dialog/fDebug.cs b/Project/Dialog/fDebug.cs new file mode 100644 index 0000000..bd7cab6 --- /dev/null +++ b/Project/Dialog/fDebug.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace Project.Dialog +{ + public partial class fDebug : Form + { + public fDebug() + { + InitializeComponent(); + this.KeyDown += (s1, e1) => { if (e1.KeyCode == Keys.Escape) this.Close(); }; + } + + + private void button1_Click(object sender, EventArgs e) + { + Pub.barcode.RaiseRecvData("RECV BCD"); + } + } +} diff --git a/Project/Dialog/fDebug.resx b/Project/Dialog/fDebug.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Project/Dialog/fDebug.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Project/Dialog/fErrorException.Designer.cs b/Project/Dialog/fErrorException.Designer.cs new file mode 100644 index 0000000..b29cbe4 --- /dev/null +++ b/Project/Dialog/fErrorException.Designer.cs @@ -0,0 +1,127 @@ +namespace Project +{ + partial class fErrorException + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fErrorException)); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.button2 = new System.Windows.Forms.Button(); + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.textBox1 = new System.Windows.Forms.TextBox(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.SuspendLayout(); + // + // pictureBox1 + // + this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image"))); + this.pictureBox1.Location = new System.Drawing.Point(160, 23); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(80, 80); + this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.pictureBox1.TabIndex = 0; + this.pictureBox1.TabStop = false; + // + // button2 + // + this.button2.Image = ((System.Drawing.Image)(resources.GetObject("button2.Image"))); + this.button2.Location = new System.Drawing.Point(30, 491); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(355, 54); + this.button2.TabIndex = 2; + this.button2.Text = "종료"; + this.button2.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.button2.UseVisualStyleBackColor = true; + this.button2.Click += new System.EventHandler(this.button2_Click); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.BackColor = System.Drawing.Color.Brown; + this.label1.Font = new System.Drawing.Font("맑은 고딕", 15.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label1.ForeColor = System.Drawing.Color.White; + this.label1.Location = new System.Drawing.Point(30, 117); + this.label1.Name = "label1"; + this.label1.Padding = new System.Windows.Forms.Padding(10); + this.label1.Size = new System.Drawing.Size(355, 50); + this.label1.TabIndex = 3; + this.label1.Text = "미처리 오류로 인한 프로그램 중단"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Font = new System.Drawing.Font("맑은 고딕", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.label2.ForeColor = System.Drawing.Color.Blue; + this.label2.Location = new System.Drawing.Point(30, 182); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(311, 45); + this.label2.TabIndex = 4; + this.label2.Text = "오류보고를 위한 정보가 수집되었습니다.\r\n수집된 정보는 아래와 같고 오류가 발생하기 전의 상황을\r\n적어서 메일을 전송하면 버그 수정에 도움이 됩니" + + "다."; + // + // textBox1 + // + this.textBox1.Location = new System.Drawing.Point(30, 240); + this.textBox1.Multiline = true; + this.textBox1.Name = "textBox1"; + this.textBox1.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; + this.textBox1.Size = new System.Drawing.Size(355, 241); + this.textBox1.TabIndex = 5; + // + // fErrorException + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.ClientSize = new System.Drawing.Size(418, 560); + this.Controls.Add(this.textBox1); + this.Controls.Add(this.label2); + this.Controls.Add(this.label1); + this.Controls.Add(this.button2); + this.Controls.Add(this.pictureBox1); + this.Font = new System.Drawing.Font("맑은 고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.KeyPreview = true; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "fErrorException"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Error Report"; + this.Load += new System.EventHandler(this.fErrorException_Load); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.PictureBox pictureBox1; + private System.Windows.Forms.Button button2; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.TextBox textBox1; + } +} \ No newline at end of file diff --git a/Project/Dialog/fErrorException.cs b/Project/Dialog/fErrorException.cs new file mode 100644 index 0000000..19764f9 --- /dev/null +++ b/Project/Dialog/fErrorException.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace Project +{ + public partial class fErrorException : Form + { + public fErrorException(string err) + { + InitializeComponent(); + System.Text.StringBuilder sb = new StringBuilder(); + sb.AppendLine("To : ChiKyun.kim@amkor.co.kr"); + sb.AppendLine("Description : ?"); + sb.AppendLine(); + sb.AppendLine("========================="); + sb.AppendLine(" ERROR MESSAGE"); + sb.AppendLine("========================="); + sb.AppendLine(); + sb.AppendLine(err); + this.textBox1.Text = sb.ToString(); + } + + private void fErrorException_Load(object sender, EventArgs e) + { + + } + + private void button2_Click(object sender, EventArgs e) + { + this.Close(); + } + } +} diff --git a/Project/Dialog/fErrorException.resx b/Project/Dialog/fErrorException.resx new file mode 100644 index 0000000..a1823b3 --- /dev/null +++ b/Project/Dialog/fErrorException.resx @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAb + rwAAG68BXhqRHAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAPnSURBVHhe7dzJ + TttQFAbgdNFKnZ6GFWKDfCNGsWRRddO+ATwBo5g2iNdopU7LqlXVFgUa2LDoE7TbQoEIFpVw72/5EOdw + INO919fx/aVfiuwTD58chcFyJSQkJJu4Urm3H0Uv95Wq7VWrx2jyOopeYF06FiLlcGbmkQZ7v6dULFav + w0w6HpINYGpKfQbUj/Hx+Pf8fHy2thafra8nr7EsQYyiT7Xh4Yfp20KQLF59cjI+XlqKL7e3W4plWBcQ + WXZHRp5qkF3AHE5NxScrKzfwqFiHmRRxF+9NN1POdINHDYhpesGjlh6xHzxqaRE53t/VVRGok5YO0SQe + tTSINvCoLYhKfR84RJt41IFFdIFHxbYHCtElHpUjfhkdfZIeTrGS4OkTcIlHLTxinnjUwiLiQPPGoxYO + 0Sc8amEQTePxSDOd1ntEG1cejzTTTb1FbMGbnjaCh/JIM93WO0RbeCiPNNNLs4g1pb7lhmgTD+WRZnpt + 7oi28VAeaaaf5oaIHWGHNvFQHmmm3yaI+hycIbrCQ3mkGRN1hugSD+WRZkzVOqJrPJRHmjFZa4h54KE8 + 0ozpGkfMCw/lkWZs1BhinngojzRjq30j5o2H8kgzNptF3Ffqa8eIPuChPNKM7XaN6AseyiPNuChHPBob + e5xytQZ3f2q81xg80L/inCwvixt0VR5pxlVhAZMEsVp9Jd4pq1c+xwBuZMwbD+WRZlwWJnSTZy2KnqVs + zegVyR8Hfs3NiRtwXR5pxnVhAyN8lFO2ZvSKc6w839gQ3+y6PNKM68IGRrpnKVszemEjAN5d3K99F2D4 + CLdpu49w+BK5o22/RMKPMbcXFm1/jEEOh4bu68vzLQbrExPx8eKiuEEX5ZFmXBQGsICJ7hsYpVxyfEHk + kWZst2s8ik9XYl7tGY9SZsQsHgy6xqOUEdEYHqVMiMbxKGVAtIZHcYq4sxP/q9fjq9PTpHiNZeKsgVrH + o/ycnX3gAhFgPAmiMNtv/ywsuMGjuEC8ajRStmawTJrtp87xKEDUv/a9s4XoAjA3PIpNRNsfYY6Hc0lP + y22sIdKXyMVF0gTP0JeIN3gUjogDlA7ch3qHRykCYhYPx+oNHsVnRO/xKD4iFgaPggOkpw/ljVg4PIoP + iIXFo+SJWHg8Ch7PpE/iI07kAI90cvCPKuwD+8I+se/CPyLK5ZWYvfKwz8JeeTwuEAcWj2ITceDxKDYQ + S4NHMYlYOjyKCcTS4lESRKU+9IKI2etHgpYRj9ILYsBj6QYx4N2S8BBaA5Eeg9zY3IwbW1vhMcidBoj0 + 7SxWr8NMOh4iBXd/Xj8KXqlLNHkdHgUfEnIjlcp/1rPAKpMPkMkAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL + iQAAC4kBN8nLrQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAALmSURBVFhH7ZjL + ahRREIbLW7yLGxcq4k7cCaJLFwoiKAqKt5dQI4JLFZ8h4gMY0RF30YgbgwsRRYiZ3IzBG9lF3RgXXsDx + q1AtlTPTPefMtDLCfFBk5tRff1e65vR0j3TpUsALkVXjIvsmRHqJvjGRWxr6mjjH670zIitN/m+oiSym + qZPEPeI7UWsS32h2gL8ntNZs/g6ckcMcaMIdPDXGafaQ2ZXHtMg6zO8GB/MxR0wSjy30ta410mpUXoms + Nfv24D/eimGjs/aauDQqsovRLTL5H3ScnPHdaK4Q01bjY4zaLSZvDWtuJjD+RJxhgywzWVPQ9+DVy9/P + 5pHFh5abtLGGZ+4po9lkkmSmRLbjEY5+lFhjkngoqjgTjQpNL7d0MnZJehR4ZtFvsjgYxylvwPuhlJGG + 6DTweOI9iS/+PaM+ZvJihkSWUvDGFc9ivtHSyeQ099zGrZ/nbG2KjbXEyvLB7LQr0jhrqWTymhsWWa95 + dvn5IHd8vrAIDB+6grdEj6WSaNacop9p1t67/H1LNUZNEf10BZctlURMcxnorjrNDyJ/RyM+6MQ1RrDD + UtGkNKeg3em1HPOApepBfNGJP9pyNKnNKfothMZfwC9Yqh6S153wpS1H0UpzGeiqWQ0efbZcD4L+TEgM + 2nJT2mlOQfvA1d2w5XpI3nTCqAbbbU5BH92gHzHHKKaM5hQ8RrJ6Nsk1W64HYfQmKau5pE3CAaMuM2U1 + p+ATf5nRAyMqvFCX2ZyCV/yFWkEw6AoWfNWV3Rx+C77q8B6wVD6IjmYFFvM3C2U3pzDO8GbhiKXy0WcJ + hP5OenZSZFvZzemdOR7+dquqG8bSxdDMfleo8TV431ZzIyKr8Rh2fr+IPZaOg4LbzsBHlXFvMFky70RW + 4HEn8My/OOehnzkKw4emOb0TNkky1G7G41ng2dpDk8KoO/exM8Oa7MwH9wwbd2f+9OHhjHTmj0ceu052 + 5s9vIR35A2aX/wuR3/n+YvqZGUimAAAAAElFTkSuQmCC + + + \ No newline at end of file diff --git a/Project/Dialog/fLogin.Designer.cs b/Project/Dialog/fLogin.Designer.cs new file mode 100644 index 0000000..32de4e4 --- /dev/null +++ b/Project/Dialog/fLogin.Designer.cs @@ -0,0 +1,136 @@ +namespace Project.Dialog +{ + partial class fLogin + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fLogin)); + this.tbID = new System.Windows.Forms.TextBox(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.panel1 = new System.Windows.Forms.Panel(); + this.tbPW = new System.Windows.Forms.TextBox(); + this.panel2 = new System.Windows.Forms.Panel(); + this.btLogin = new System.Windows.Forms.Button(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.panel1.SuspendLayout(); + this.panel2.SuspendLayout(); + this.SuspendLayout(); + // + // tbID + // + this.tbID.Font = new System.Drawing.Font("Calibri", 20.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.tbID.Location = new System.Drawing.Point(34, 127); + this.tbID.Name = "tbID"; + this.tbID.Size = new System.Drawing.Size(235, 40); + this.tbID.TabIndex = 0; + this.tbID.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + // + // pictureBox1 + // + this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image"))); + this.pictureBox1.Location = new System.Drawing.Point(108, 34); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(80, 80); + this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.pictureBox1.TabIndex = 3; + this.pictureBox1.TabStop = false; + // + // panel1 + // + this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(245)))), ((int)(((byte)(245)))), ((int)(((byte)(244))))); + this.panel1.Controls.Add(this.tbPW); + this.panel1.Controls.Add(this.pictureBox1); + this.panel1.Controls.Add(this.tbID); + this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel1.Location = new System.Drawing.Point(0, 0); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(295, 255); + this.panel1.TabIndex = 1; + // + // tbPW + // + this.tbPW.Font = new System.Drawing.Font("Calibri", 20.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.tbPW.Location = new System.Drawing.Point(34, 176); + this.tbPW.Name = "tbPW"; + this.tbPW.PasswordChar = '●'; + this.tbPW.Size = new System.Drawing.Size(235, 40); + this.tbPW.TabIndex = 4; + this.tbPW.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + // + // panel2 + // + this.panel2.BackColor = System.Drawing.SystemColors.Control; + this.panel2.Controls.Add(this.btLogin); + this.panel2.Dock = System.Windows.Forms.DockStyle.Bottom; + this.panel2.Location = new System.Drawing.Point(0, 255); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(295, 34); + this.panel2.TabIndex = 6; + // + // btLogin + // + this.btLogin.Dock = System.Windows.Forms.DockStyle.Fill; + this.btLogin.Location = new System.Drawing.Point(0, 0); + this.btLogin.Name = "btLogin"; + this.btLogin.Size = new System.Drawing.Size(295, 34); + this.btLogin.TabIndex = 0; + this.btLogin.Text = "OK"; + this.btLogin.UseVisualStyleBackColor = true; + this.btLogin.Click += new System.EventHandler(this.button1_Click); + // + // fLogin + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.BackColor = System.Drawing.Color.OrangeRed; + this.ClientSize = new System.Drawing.Size(295, 289); + this.Controls.Add(this.panel1); + this.Controls.Add(this.panel2); + this.Font = new System.Drawing.Font("Calibri", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "fLogin"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Login"; + this.Load += new System.EventHandler(this.fLogin_Load); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.panel2.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.PictureBox pictureBox1; + public System.Windows.Forms.TextBox tbID; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Panel panel2; + private System.Windows.Forms.Button btLogin; + public System.Windows.Forms.TextBox tbPW; + } +} \ No newline at end of file diff --git a/Project/Dialog/fLogin.cs b/Project/Dialog/fLogin.cs new file mode 100644 index 0000000..7d75aa0 --- /dev/null +++ b/Project/Dialog/fLogin.cs @@ -0,0 +1,72 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace Project.Dialog +{ + public partial class fLogin : Form + { + public fLogin() + { + InitializeComponent(); + this.tbID.KeyDown += (s1, e1) => { if (e1.KeyCode == Keys.Enter) tbPW.Focus(); }; + this.tbPW.KeyDown += (s1, e1) => { if (e1.KeyCode == Keys.Enter) btLogin.PerformClick(); }; + this.KeyPreview = true; + this.KeyDown += (s1, e1) => { + if (e1.KeyCode == Keys.Escape) this.Close(); + }; + } + private void fLogin_Load(object sender, EventArgs e) + { + this.tbID.Text = Pub.setting.lastid; + } + private void button1_Click(object sender, EventArgs e) + { + + if (this.tbID.Text.isEmpty()) + { + tbID.Focus(); + return; + } + if(this.tbPW.Text.isEmpty()) + { + tbPW.Focus(); + return; + } + + //180605 + Pub.setting.lastid = tbID.Text.Trim(); + Pub.setting.Save(); + + var sha1 = new System.Security.Cryptography.SHA1CryptoServiceProvider(); + var buffer = System.Text.Encoding.Default.GetBytes(tbPW.Text); + var hashbuf = sha1.ComputeHash(buffer); + var encpass = hashbuf.GetHexString(); + var ta = new dsMSSQLTableAdapters.UsersTableAdapter(); + encpass = encpass.Replace(" ", ""); + var users = ta.GetIDPW(tbID.Text, encpass); + if(users.Rows.Count < 1) + { + Util.MsgE("No user"); + return; + } + else + { + var userdr = users.Rows[0] as dsMSSQL.UsersRow ; + Pub.Login.no = userdr.id; + Pub.Login.name = userdr.name; + Pub.Login.dept = userdr.dept; + Pub.Login.level = userdr.level; + Pub.Login.email = userdr.email; + } + DialogResult = DialogResult.OK; + } + + + } +} diff --git a/Project/Dialog/fLogin.resx b/Project/Dialog/fLogin.resx new file mode 100644 index 0000000..cb43b63 --- /dev/null +++ b/Project/Dialog/fLogin.resx @@ -0,0 +1,160 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAb + rwAAG68BXhqRHAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAeaSURBVHhe7Vrr + bxRVFK9+8ItRY/Qf8BE1auIravykRpjdlvcbFCMkxsREfACKxmCqobszW55CUikgL5ECkoLQIkTjB9md + 2W6rQmm7te1SmijvtpQ3FMZzZs+F6fYMULZ3d7adX/ILZM+555z768w9985MngcPHoao1fcpochwRTNC + PlWvBDYD21PYpGh6BfyroW9+oXEvDR+cKCw071S0yGifGtkGolwEmn0kjDHKgaMwFoUdBDDNO/zByBQQ + oD5FkHRYB5xIGQYu8kPhR2Civ9om3q/0q5HdQ4KxhyndwAJddV2pk7bxkF+LLIdb+k1fSH9+xPzqB4cF + /7gfif9XgsYLlk3VS32a3pYy1s5OyDWB0g4AwC0Lkw8wE0V2gxhl+aHIq31Zx9DXH9Rf82nGZisGG9v4 + GnPTkBwFTAAEKmEnGNR3FASij5HnbcOv7X2cunPvHJA7p0X0BSPfMBM7C1fO2+TSb4Arcpqi6ueYfBq5 + 5BaUoD6JmcwxXMvIpd/hD4ZfhBwnUnKacIW+RS65AbjyHoXCUxvG8fyA8SS5SINSFH4acp1MyX0qp7oz + bCd+S5nAeZ8WeYnM0uEPhF+BnBd61mD8QmZ3g7t1YW16n8wZA+SckVoHbG/GkNmdwO0FFNrQs/DITjJn + HJAfz9W2WvQ6Vx/74K+en1JwtxKIPEHmjMOnVj2FNdhrguXFR2b3AYrbYi8WBF1PpqwBtkw/2mvCjTuZ + 3IWR2t57oMAeC7cS0F8mc9ZADeV6TbBXVIr33U1m98AfMArshQKbyJRd4GlI1RP22oYGDYWs7gHcGqq9 + SGgey8iUdSiq8V3P2vQiMrkHeLa1F4lPX8iUdfhVY6q9NnyISyb3AAprtBc5NBR+lkxZR/JRmF1AvZ5M + 7gEU1eP49EYg+gCZsg58nmivDXiMTO4BFHXJXuSEwrq7yJR1YC322oAXyOQepBRo0s+ugdvr8wRMF24v + 0O31eQKmC7cX6Pb6PAH7gvxg5DnYzX8FheyBI1wt/HvUXlyO8CjVDnMw5srf+OP7XdWYDAl7nDgGFo04 + PlHv91eh+P4WEtSIRBOXVpuBHQmzorbDjBw8ax44csk82Hk1p4g1Y+0Vte3WXCZ8W31NSL8aieGLMZp+ + elBUfQQEPY2Bp5b8ZW6tOW4mOviicpk4J5wbzpGE7MLP6EiG2wOsDa9DIOuI9vmmRjN+optNPpAYP37Z + nFPWKES8iJ+dkBx9g/UllZZ8QFBc2WommGQDlXg1ahUHLRHhDjyhFEcfIlluEcmnuFEM8FlZfEDesjcj + znn2xri4EsN9aiyKZozHgZOW1liXNJdgMLD+2GWrYaIWt/5OOXn1We92N0SPsoEHE9frR8RVWEcK3Rj4 + cSMOmLLsT7Ol4wobdDARNZi8rIZEjD5DMjkDHIvQOVTRygaUzXDijJV7+vK/zbGLYxanl+6zGlkY9m3c + GNlUqaHg53okkzPA8Xd03rm/nQ0mi80nr5jBnQkzXzPELdOLaMPJNLdn9s7Ysa/dyo8fTZFMzgDHf9A5 + eugcG0wGUbyPf6hPihQyzNmbE+bq2GmzvP6SxdVVXfBbi1lA4n6yod4aw8WSQaP1LP0RjTjJ5AxwtE4d + mey+835usQocu6TGXFt92qxsvspyDYg6bnFyPcLjFxdLBlGLpIB6F8nkDHJkA8kgrnl+TTeHFUfNdTVn + WOHsRIELQlHrdo4kMrcmCl1IJmdkWkCxQH+xtZUVjOOcn5JjsLFwMWVQ6EIyOUM4ckFkcBp0W8yHax4n + FsfvYU3EMdiduZgyKHQhmZwhHLkgMjhyQZWVb3tjNysWx+3x5JqEY7mYMih0IZmcIRy5IDI4emFSwPKG + y6xYHLEz45gxi2JsTBkUupBMzhCOXBAZfHflfivfqugpViyOK4xT1pj3Vu1nY8qg0IVkcoZw5ILIIDYC + zDdrUwsrFseZ4Itj5u/ymohZBRt23MbgtmQlXFmcYHauMDotXxxT1XaejSmDrhUQuWj3ISvnqIUxSyBO + OGSp3glrZszyXbKnjY0li0IXkskZwpELIot4tp21scHKi8e1udvazMqm68JVNF0xvyxvu3aU+3RjPONP + ioQuJJMzhCMXRCZRELEe4vbEfuVVAIfPT3Zr9MnGYzahC8nkDOHIBZHNPQ2dVu5pKw70EBD5TmmtZUMf + bqxsCl1IJmcIRy6IbK7e+5+VG7tsqoAzy5Kdd034MDtWNoUuJJMzhCMXRDbxCQvmLtr1by8B58FvaMNn + htxY2RS6kEzOEI5cENn8YG2dlbsk3NFLwJJw8qHmjHV17FjZFLqQTM4QjlwQ2Ry3JPkGbEvthV4Cbobf + 0DYefLixsil0IZmcIRy5IDJZe/iilXfkglgv8QTRhj7oy8WQSaELyeQM4cgFkcnd9c4dWBBt6JONTix0 + IZmcIRy5IDJ5ow4smM1OLHQhmZwhHLkgMik6MHZbTjxkNjux0IVkcoZw5ILI5IfQXUXum/Gj9ZnvxCI3 + yeQM4cgFkUnRgW+F6MvFkEmRm2RyhnDkggxmegKmSU/ANOkJmCY9AdOkJ2Ca9ARMk56AabLPAnrkSTI5 + gxvk8TpJJg8ePHjwkJeX9z9IbqKdvJUGzgAAAABJRU5ErkJggg== + + + \ No newline at end of file diff --git a/Project/Dialog/fMsgWindow.Designer.cs b/Project/Dialog/fMsgWindow.Designer.cs new file mode 100644 index 0000000..048c32e --- /dev/null +++ b/Project/Dialog/fMsgWindow.Designer.cs @@ -0,0 +1,84 @@ +namespace Project.Dialog +{ + partial class fMsgWindow + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.arLabel1 = new System.Windows.Forms.Label(); + this.button1 = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // arLabel1 + // + this.arLabel1.BackColor = System.Drawing.Color.WhiteSmoke; + this.arLabel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.arLabel1.Location = new System.Drawing.Point(5, 5); + this.arLabel1.Name = "arLabel1"; + this.arLabel1.Size = new System.Drawing.Size(827, 399); + this.arLabel1.TabIndex = 4; + this.arLabel1.Text = "label1"; + this.arLabel1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // button1 + // + this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.button1.Font = new System.Drawing.Font("Consolas", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.button1.Location = new System.Drawing.Point(720, 18); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(97, 53); + this.button1.TabIndex = 5; + this.button1.Text = "Close"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // fMsgWindow + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.BackColor = System.Drawing.Color.Blue; + this.ClientSize = new System.Drawing.Size(837, 409); + this.Controls.Add(this.button1); + this.Controls.Add(this.arLabel1); + this.Font = new System.Drawing.Font("Consolas", 21.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.KeyPreview = true; + this.MaximizeBox = false; + this.Name = "fMsgWindow"; + this.Padding = new System.Windows.Forms.Padding(5); + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Message Window"; + this.TopMost = true; + this.Load += new System.EventHandler(this.fMsg_Load); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Button button1; + public System.Windows.Forms.Label arLabel1; + } +} \ No newline at end of file diff --git a/Project/Dialog/fMsgWindow.cs b/Project/Dialog/fMsgWindow.cs new file mode 100644 index 0000000..3352f37 --- /dev/null +++ b/Project/Dialog/fMsgWindow.cs @@ -0,0 +1,105 @@ +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 Project.Dialog +{ + public partial class fMsgWindow : Form + { + private Boolean fMove = false; + private Point MDownPos; + private string _msg = string.Empty; + public Project.MessageWindow.eMsgNo ID { get; set; } + + /// + /// 사용자가 이 창을 닫을수 있는가? + /// + public Boolean EnableUserClose + { + get { return _enableuserclose; } + set + { + _enableuserclose = value; + if (!EnableUserClose) arLabel1.Visible = false; + } + } + private Boolean _enableuserclose = true; + + public fMsgWindow(string msg) + { + EnableUserClose = true; + InitializeComponent(); + this.KeyDown += (s1, e1) => { if (EnableUserClose && e1.KeyCode == Keys.Escape) this.Close(); }; + this._msg = msg; + arLabel1.Text = msg; + ID = 0; + arLabel1.MouseMove += label1_MouseMove; + arLabel1.MouseUp += label1_MouseUp; + arLabel1.MouseDown += label1_MouseDown; + arLabel1.MouseDoubleClick += label1_MouseDoubleClick; + arLabel1.Click += arLabel1_Click; + } + + private void fMsg_Load(object sender, EventArgs e) + { + + } + + public void SetText(string m) + { + this.arLabel1.Text = m; + this.arLabel1.Refresh(); + } + + private void label1_MouseMove(object sender, MouseEventArgs e) + { + if (fMove) + { + Point offset = new Point(e.X - MDownPos.X, e.Y - MDownPos.Y); + this.Left += offset.X; + this.Top += offset.Y; + offset = new Point(0, 0); + } + } + + private void label1_MouseUp(object sender, MouseEventArgs e) + { + fMove = false; + } + + private void label1_MouseDown(object sender, MouseEventArgs e) + { + MDownPos = new Point(e.X, e.Y); + fMove = true; + } + + private void label1_MouseDoubleClick(object sender, MouseEventArgs e) + { + if (EnableUserClose) + this.Close(); + } + + private void arLabel1_Click(object sender, EventArgs e) + { + if (EnableUserClose) + this.Close(); + } + + private void arLabel1_Click_1(object sender, EventArgs e) + { + + } + + private void button1_Click(object sender, EventArgs e) + { + if (EnableUserClose) + this.Close(); + } + } +} diff --git a/Project/Dialog/fMsgWindow.resx b/Project/Dialog/fMsgWindow.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Project/Dialog/fMsgWindow.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Project/Dialog/fPassword.Designer.cs b/Project/Dialog/fPassword.Designer.cs new file mode 100644 index 0000000..2346ec3 --- /dev/null +++ b/Project/Dialog/fPassword.Designer.cs @@ -0,0 +1,123 @@ +namespace Project.Dialog +{ + partial class fPassword + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fPassword)); + this.tbInput = new System.Windows.Forms.TextBox(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.panel1 = new System.Windows.Forms.Panel(); + this.panel2 = new System.Windows.Forms.Panel(); + this.btLogin = new System.Windows.Forms.Button(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.panel1.SuspendLayout(); + this.panel2.SuspendLayout(); + this.SuspendLayout(); + // + // tbInput + // + this.tbInput.Font = new System.Drawing.Font("Calibri", 20.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.tbInput.Location = new System.Drawing.Point(29, 144); + this.tbInput.Name = "tbInput"; + this.tbInput.PasswordChar = '●'; + this.tbInput.Size = new System.Drawing.Size(235, 40); + this.tbInput.TabIndex = 0; + this.tbInput.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + // + // pictureBox1 + // + this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image"))); + this.pictureBox1.Location = new System.Drawing.Point(94, 27); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(96, 96); + this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.pictureBox1.TabIndex = 3; + this.pictureBox1.TabStop = false; + // + // panel1 + // + this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(245)))), ((int)(((byte)(245)))), ((int)(((byte)(244))))); + this.panel1.Controls.Add(this.pictureBox1); + this.panel1.Controls.Add(this.tbInput); + this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel1.Location = new System.Drawing.Point(0, 0); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(295, 211); + this.panel1.TabIndex = 1; + // + // panel2 + // + this.panel2.BackColor = System.Drawing.SystemColors.Control; + this.panel2.Controls.Add(this.btLogin); + this.panel2.Dock = System.Windows.Forms.DockStyle.Bottom; + this.panel2.Location = new System.Drawing.Point(0, 211); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(295, 34); + this.panel2.TabIndex = 6; + // + // btLogin + // + this.btLogin.Dock = System.Windows.Forms.DockStyle.Fill; + this.btLogin.Location = new System.Drawing.Point(0, 0); + this.btLogin.Name = "btLogin"; + this.btLogin.Size = new System.Drawing.Size(295, 34); + this.btLogin.TabIndex = 0; + this.btLogin.Text = "OK"; + this.btLogin.UseVisualStyleBackColor = true; + this.btLogin.Click += new System.EventHandler(this.button1_Click); + // + // fPassword + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.BackColor = System.Drawing.Color.OrangeRed; + this.ClientSize = new System.Drawing.Size(295, 245); + this.Controls.Add(this.panel1); + this.Controls.Add(this.panel2); + this.Font = new System.Drawing.Font("Calibri", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "fPassword"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Enter Password"; + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.panel2.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.PictureBox pictureBox1; + public System.Windows.Forms.TextBox tbInput; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Panel panel2; + private System.Windows.Forms.Button btLogin; + } +} \ No newline at end of file diff --git a/Project/Dialog/fPassword.cs b/Project/Dialog/fPassword.cs new file mode 100644 index 0000000..6871fc6 --- /dev/null +++ b/Project/Dialog/fPassword.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace Project.Dialog +{ + public partial class fPassword : Form + { + public fPassword() + { + InitializeComponent(); + this.tbInput.KeyDown += (s1, e1) => { if (e1.KeyCode == Keys.Enter) btLogin.PerformClick(); }; + this.KeyPreview = true; + this.KeyDown += (s1, e1) => { + if (e1.KeyCode == Keys.Escape) this.Close(); + }; + } + + private void button1_Click(object sender, EventArgs e) + { + string id = tbInput.Text.Trim(); + if (id.isEmpty()) + { + tbInput.Focus(); + return; + } + DialogResult = DialogResult.OK; + } + } +} diff --git a/Project/Dialog/fPassword.resx b/Project/Dialog/fPassword.resx new file mode 100644 index 0000000..76d5ac7 --- /dev/null +++ b/Project/Dialog/fPassword.resx @@ -0,0 +1,160 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAb + rwAAG68BXhqRHAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAeoSURBVHhe7Z1r + bBRVFMfr+xHf8RUTHx/UoHwpLDMLLdHtzBSosWoijSZCq9GCRAN+I+oXwgfBqIgYXzF+gMT4KIoRgloM + RhOQLbRSQSyoLZYIhEcpnZ3u0u7u9Zzd0wDT41Z2753O7s4/+aWb3TvnnvPf2bkzd6YzFYECBQoUKFCg + QIECBQrkJ/VPn36tbYZrHFOfHzP1N4ANMUvfAX+7gAPwui8Dvsb3sp9tiJnh1x0rPM+2pkYwBoULNJaO + VldfCYbPdgx9FRjZCaQAUSAYYyd8KW/ZVvjRI5HIFdRdIJSIRC60Db0BTFoPJMg0lSQcS//cMbR67JvS + KD+JhokXw5r+DBiy12WQl3TB5u1pzIXSKn2JadMuixnhF6B43G5zpowHvbapLcTcKM3SFAySjVDsQVfx + PkL7B3OkdEtHcaPqdijw69EF+xPb1NcNztBupfSLW7D3sQiKGnQXWQQMwC9iDpVRfMLdPfg5r2EKKy6g + hqLbdbVnVN1IB0V8UUVHODoQCV1P5flbA6Z+NyTdM7qIoqf7ZG34LirTn4Kj2HszexJ8AaXAAduaeg+V + 6y/h2hEz9CNM0qXGwXhk6h1Utj8E28ib4IjyTybZksSx9D+wZip/fCXq7rwE9pu3cImWOD/5YgoDzH+f + Sa4scMzwO2TD+AgPVLjEygvtCbLDW+FABAn0j06ozLD0vrgVuo1s8U7wzbeyCZUn35It3sg2tceYJMoa + PNtG9qhVZo7H1HvdCXiB83i9OPXBKpFs2yrSfcdFemAgC7zG9/AzbMMt6wH7RX3ocrJJnRxDf5npXC0z + q8RQy8dCDA+LMQVtsC0uw8ZSiaEvJpvUiNb+Y6M6VojzkCGSne3k7v9Xcmd7ZlkupkIOKz2rRnP7XMdq + sMIi2bGdLD13JTvaMjHY2IqwzfBzZJdciSUV50MH3e4OVZJ4cxlZeVrpQwdFYuVyMdg0WziPmBnwNb6H + n7mVWPEKG1sVOE0hKirOI9vkKWZpFtehMmZNF+n+E2RjVqk9uzKGs+0B/Cy1Zze1zird3wfjQTXbXhV4 + QRjZJk8QeLW7I5Uklr5EFmaVjtmwh/Mg2/ZMsE3aidFSWSWWvsi2VchHZJsc0eAbc3WilOFNG8m+rIY+ + Wc224xj6dA0tldVw60a2nUJOSt0ldazww0wnSkn19pB9WcUXNrPtOOKLmmmprFJ/97DtVOLUhB8g+woX + XavJdqSK9OAg2ZeVU1/DtuPA3c8zlXYctp1SDH0F2Ve4INguthOFuMW1yYVbXBvF7CT7ChNeDQDB0q7g + ynGLa5MLt7g2ikmdnDntOrIxf8VMbRYTXCrx+Y0i2dIi0lujQrT/qpT0lmimr3jzXDYXuYRrycb8pfro + N77gKSF2dLJmKQX6jM9vYnOShW3oz5ON+QsG4He54LJIrfuKN8gDkl98yeYkCzgqfptszF8wAH/PBZeF + 2NbOmuMJ23awOUnD0r8jG/MXBNo9KrBEWGM8hMtJIp1kY/6CIPtdQaXCmeIlXE4S6SYb8xcEOe4KKhXO + FC/hcpLIUbIxf0GQU66gUuFM8RIuJ4kkyMb8BUGGXEGlwpkyFonWzaJrbpNo07QMXXMaRXxjK9t2LLic + JCLlC/DVJgjNbwuFxNYJE84C3zu16Qd2mVxwOUlEyibIV4Mwrvlu80fY2/Qku0wuuJwkImEQVjwRx5mS + i2jlJNZ8JDp5MrtMLricJFL4hJzyAzHGlFxEKytZ85HoJJ99ATIOxPBwmg0uCc6UXHTNmcuaj/hvE6St + JBvzF04o8cHlwJmSi8H13/zHIDzFd4OwbWkLyMb8hVOqXHBZcKaMxchuKI4HuNnZ29iUl/kIl5MsYOU1 + yMb8pfqEDGeKl3A5SULOCRkUBPvFFVwanClewuUkie1kX+HCE8xMB1LgTPESLidJvEr2FS6Vl6VwpngJ + l5MMpF6WIiKRSyHoCXcnMsCTIpwxnvDzdjYnCRyT/h+Utql/yHRUMHhakDXHA5Ita9mcCsW29PfINnmy + De0+rrNCic9rHL+T8oqujBgwtCqyTZ7w8nT4FfzFdVgomctS8JfQ1sGbJRPoA/tSZb6yy9NRjqE/y3Ua + cBrH0prJLvkSodBF0InS6ekipxs9IrvUSPXcUDGDWwiySZ3wn9BUjQVFzj68cQnZpFaqJ+iKklrNJHu8 + kWNqa9lEyhFD/4xs8U7BzTqI8bpZBwrnOyAJz/93wEekHGNKHdkxPopZ2mtMYuWBpS8nG8ZPwS3LfKDj + deGrICFlJ218SAc+bILK94ec2upbILFSvGGrm3123aQbqGx/KXvjVl89F0A2vb69ceuIYhHt5piptTPJ + FzeZe2H75F6hYwmfXARJ/ziqiOJlc58VuprKKw6JhoYLbEtfAsnLeBLSeJGEo9zFyub3vRBenASFHHYV + VgwcwmeYURnFreARJj4R3sgICvzNXbCP2G3XavdTuqWp4DFWPpEvHuRmhH8vuwe5cbJrtIk4sQWmePGM + sR7cO8M+qftAI8I1MXO2LftltAHJM4zLF4gRjsLavgxvPFj2a/u56ESk8hrcFTzrcbbZo+xuPBFCBmdO + imTey3521uNsMQaFCxQoUKBAgQIFChQoUCAfqKLiXwYEOVtR8EleAAAAAElFTkSuQmCC + + + \ No newline at end of file diff --git a/Project/Dialog/fTouchKeyFull.Designer.cs b/Project/Dialog/fTouchKeyFull.Designer.cs new file mode 100644 index 0000000..182fde2 --- /dev/null +++ b/Project/Dialog/fTouchKeyFull.Designer.cs @@ -0,0 +1,146 @@ +namespace Project.Dialog +{ + partial class fTouchKeyFull + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.touchKeyFull1 = new arCtl.TouchKeyFull(); + this.tbInput = new System.Windows.Forms.TextBox(); + this.lbTitle = new arCtl.arLabel(); + this.button1 = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // touchKeyFull1 + // + this.touchKeyFull1.Dock = System.Windows.Forms.DockStyle.Fill; + this.touchKeyFull1.Location = new System.Drawing.Point(6, 84); + this.touchKeyFull1.Name = "touchKeyFull1"; + this.touchKeyFull1.Size = new System.Drawing.Size(792, 172); + this.touchKeyFull1.TabIndex = 0; + this.touchKeyFull1.keyClick += new arCtl.TouchKeyFull.KeyClickHandler(this.touchKeyFull1_keyClick); + // + // tbInput + // + this.tbInput.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.tbInput.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.tbInput.Dock = System.Windows.Forms.DockStyle.Top; + this.tbInput.Font = new System.Drawing.Font("맑은 고딕", 21.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.tbInput.ForeColor = System.Drawing.Color.White; + this.tbInput.Location = new System.Drawing.Point(6, 38); + this.tbInput.Name = "tbInput"; + this.tbInput.Size = new System.Drawing.Size(792, 46); + this.tbInput.TabIndex = 0; + this.tbInput.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + // + // lbTitle + // + this.lbTitle.BackColor = System.Drawing.Color.Gray; + this.lbTitle.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100))))); + this.lbTitle.BackgroundImagePadding = new System.Windows.Forms.Padding(0); + this.lbTitle.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90))))); + this.lbTitle.BorderColorOver = System.Drawing.Color.DarkBlue; + this.lbTitle.BorderSize = new System.Windows.Forms.Padding(1); + this.lbTitle.ColorTheme = arCtl.arLabel.eColorTheme.Custom; + this.lbTitle.Cursor = System.Windows.Forms.Cursors.Arrow; + this.lbTitle.Dock = System.Windows.Forms.DockStyle.Top; + this.lbTitle.Enabled = false; + this.lbTitle.Enabled2 = true; + this.lbTitle.Font = new System.Drawing.Font("Consolas", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lbTitle.ForeColor = System.Drawing.Color.White; + this.lbTitle.GradientEnable = true; + this.lbTitle.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal; + this.lbTitle.GradientRepeatBG = false; + this.lbTitle.isButton = false; + this.lbTitle.Location = new System.Drawing.Point(6, 5); + this.lbTitle.MouseDownColor = System.Drawing.Color.Yellow; + this.lbTitle.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); + this.lbTitle.msg = null; + this.lbTitle.Name = "lbTitle"; + this.lbTitle.ProgressColor1 = System.Drawing.Color.LightSkyBlue; + this.lbTitle.ProgressColor2 = System.Drawing.Color.DeepSkyBlue; + this.lbTitle.ProgressEnable = false; + this.lbTitle.ProgressFont = new System.Drawing.Font("Consolas", 10F); + this.lbTitle.ProgressForeColor = System.Drawing.Color.Black; + this.lbTitle.ProgressMax = 100F; + this.lbTitle.ProgressMin = 0F; + this.lbTitle.ProgressPadding = new System.Windows.Forms.Padding(0); + this.lbTitle.ProgressText = null; + this.lbTitle.ProgressValue = 0F; + this.lbTitle.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20))))); + this.lbTitle.Sign = ""; + this.lbTitle.SignAlign = System.Drawing.ContentAlignment.BottomRight; + this.lbTitle.SignColor = System.Drawing.Color.Yellow; + this.lbTitle.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic); + this.lbTitle.Size = new System.Drawing.Size(792, 33); + this.lbTitle.TabIndex = 2; + this.lbTitle.Text = "Input"; + this.lbTitle.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.lbTitle.TextShadow = true; + this.lbTitle.TextVisible = true; + // + // button1 + // + this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.button1.Location = new System.Drawing.Point(711, 8); + this.button1.Margin = new System.Windows.Forms.Padding(0); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(84, 27); + this.button1.TabIndex = 3; + this.button1.Text = "EXIT"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // fTouchKeyFull + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60))))); + this.ClientSize = new System.Drawing.Size(804, 261); + this.Controls.Add(this.button1); + this.Controls.Add(this.touchKeyFull1); + this.Controls.Add(this.tbInput); + this.Controls.Add(this.lbTitle); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.KeyPreview = true; + this.Name = "fTouchKeyFull"; + this.Padding = new System.Windows.Forms.Padding(6, 5, 6, 5); + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "fTouchKeyFull"; + this.Load += new System.EventHandler(this.fTouchKeyFull_Load); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private arCtl.TouchKeyFull touchKeyFull1; + private arCtl.arLabel lbTitle; + public System.Windows.Forms.TextBox tbInput; + private System.Windows.Forms.Button button1; + } +} \ No newline at end of file diff --git a/Project/Dialog/fTouchKeyFull.cs b/Project/Dialog/fTouchKeyFull.cs new file mode 100644 index 0000000..3c42973 --- /dev/null +++ b/Project/Dialog/fTouchKeyFull.cs @@ -0,0 +1,93 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace Project.Dialog +{ + public partial class fTouchKeyFull : Form + { + public fTouchKeyFull(string title,string value) + { + InitializeComponent(); + this.lbTitle.Text = title; + this.tbInput.Text = value; + this.KeyDown += (s1, e1) => + { + if (e1.KeyCode == Keys.Escape) + this.Close(); + }; + this.lbTitle.MouseMove += LbTitle_MouseMove; + this.lbTitle.MouseUp += LbTitle_MouseUp; + this.lbTitle.MouseDown += LbTitle_MouseDown; + } + + private void fTouchKeyFull_Load(object sender, EventArgs e) + { + this.Show(); + Application.DoEvents(); + this.tbInput.SelectAll(); + this.tbInput.Focus(); + } + #region "Mouse Form Move" + + private Boolean fMove = false; + private Point MDownPos; + private void LbTitle_MouseMove(object sender, MouseEventArgs e) + { + if (fMove) + { + Point offset = new Point(e.X - MDownPos.X, e.Y - MDownPos.Y); + this.Left += offset.X; + this.Top += offset.Y; + offset = new Point(0, 0); + } + } + private void LbTitle_MouseUp(object sender, MouseEventArgs e) + { + fMove = false; + } + private void LbTitle_MouseDown(object sender, MouseEventArgs e) + { + MDownPos = new Point(e.X, e.Y); + fMove = true; + } + + #endregion + + private void touchKeyFull1_keyClick(string key) + { + + switch(key) + { + case "CLR": + this.tbInput.Text = string.Empty; + break; + case "BACK": + if (this.tbInput.TextLength < 2) this.tbInput.Text = string.Empty; + else this.tbInput.Text = this.tbInput.Text.Substring(0,tbInput.TextLength-1); + this.tbInput.SelectionStart = this.tbInput.TextLength; + break; + case "ENTER": + this.DialogResult = DialogResult.OK; + break; + default: + var seltext = tbInput.SelectedText; + if (seltext.Length == tbInput.TextLength) tbInput.Text = ""; + this.tbInput.Text += key; + this.tbInput.SelectionStart = this.tbInput.TextLength; + break; + } + } + + private void button1_Click(object sender, EventArgs e) + { + this.Close(); + } + + } +} diff --git a/Project/Dialog/fTouchKeyFull.resx b/Project/Dialog/fTouchKeyFull.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Project/Dialog/fTouchKeyFull.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Project/EETGW.csproj b/Project/EETGW.csproj new file mode 100644 index 0000000..cb7c2d3 --- /dev/null +++ b/Project/EETGW.csproj @@ -0,0 +1,428 @@ + + + + + Debug + AnyCPU + {65F3E762-800C-499E-862F-A535642EC59F} + WinExe + Project + GWEE + v4.0 + 512 + true + False + False + OnBuildSuccess + False + False + False + obj\$(Configuration)\ + ftp://10.131.36.205:2121/Install/GroupWare/ + true + Web + true + Foreground + 7 + Days + false + false + true + http://10.131.36.205:8080/Install/GroupWare/ + EET GruopWare + EET + EET Software + true + default.html + true + 11 + 1.0.0.%2a + false + true + true + true + + + x86 + true + Full + False + ..\..\..\Amkor\GroupWare\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + ..\..\..\ManualMapEditor\ + TRACE + prompt + 4 + + + icons8-realtime-64.ico + + + LocalIntranet + + + true + + + + true + ..\..\..\..\..\Amkor\BarcodeValidation\ + DEBUG;TRACE + full + x86 + prompt + MinimumRecommendedRules.ruleset + + + bin\ + TRACE + true + pdbonly + x86 + prompt + MinimumRecommendedRules.ruleset + + + False + obj\ + + + 4194304 + False + Auto + + + 026AD0E7B5AB617B10939CFF191623529DAF7B4C + + + EETGW_TemporaryKey.pfx + + + true + + + Properties\app.manifest + + + + ..\DLL\arINIHelper.Net4.dll + + + ..\DLL\ArLog.Net4.dll + + + ..\DLL\ArSetting.Net4.dll + + + ..\DLL\libxl.net.dll + + + + + + + + + + + + + + + + + + ..\DLL\Winsock Orcas.dll + + + + + + True + True + DataSet1.xsd + + + + Form + + + fDebug.cs + + + Form + + + fMsgWindow.cs + + + Form + + + fLogin.cs + + + Form + + + fPassword.cs + + + Form + + + fErrorException.cs + + + Form + + + fTouchKeyFull.cs + + + True + True + dsMSSQL.xsd + + + Form + + + fLog.cs + + + Form + + + fMain.cs + + + Form + + + fSetting.cs + + + + + + + + + Form + + + fInventory.cs + + + Form + + + fItems.cs + + + Form + + + fInfo_Staff.cs + + + Form + + + fEquipment.cs + + + Form + + + fImpEquipment.cs + + + Form + + + fLineCode.cs + + + Form + + + rpt_equipment.cs + + + Form + + + fProjectList.cs + + + + + + Form + + + Form + + + + fDebug.cs + + + fMsgWindow.cs + + + fLogin.cs + + + fPassword.cs + + + fErrorException.cs + + + fTouchKeyFull.cs + + + fLog.cs + + + fMain.cs + + + fSetting.cs + + + fInventory.cs + + + fItems.cs + + + fInfo_Staff.cs + + + fEquipment.cs + + + fImpEquipment.cs + + + fLineCode.cs + + + + rpt_equipment.cs + + + fProjectList.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + + DataSet1.xsd + + + Designer + MSDataSetGenerator + DataSet1.Designer.cs + + + DataSet1.xsd + + + dsMSSQL.xsd + + + Designer + MSDataSetGenerator + dsMSSQL.Designer.cs + + + dsMSSQL.xsd + + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + Always + + + + + False + Microsoft .NET Framework 4%28x86 및 x64%29 + true + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + false + + + False + Microsoft Report Viewer 2012 Runtime + true + + + False + SQL Server® 2012용 Microsoft® System CLR 유형%28x86%29 + true + + + False + Windows Installer 4.5 + true + + + + + {58cfc90c-5068-46a2-a8de-0e92ee9e0990} + AmkorRestfulService + + + {f31c242c-1b15-4518-9733-48558499fe4b} + arControl + + + {b832738c-74dd-4ce2-8a29-98d0bcbb9ea4} + StaffLayoutCtl + + + + + \ No newline at end of file diff --git a/Project/EETGW.csproj.user b/Project/EETGW.csproj.user new file mode 100644 index 0000000..0f1e3d2 --- /dev/null +++ b/Project/EETGW.csproj.user @@ -0,0 +1,13 @@ + + + + ftp://10.131.36.205:2121/Install/GroupWare/|ftp://10.131.36.205:2121/Install/|ftp://10.131.36.205/Install/|게시\ + http://10.131.36.205:8080/Install/GroupWare/|http://10.131.36.205:8080/Install/ + + + + + ko-KR + false + + \ No newline at end of file diff --git a/Project/EETGW_TemporaryKey.pfx b/Project/EETGW_TemporaryKey.pfx new file mode 100644 index 0000000..57e62ee Binary files /dev/null and b/Project/EETGW_TemporaryKey.pfx differ diff --git a/Project/History.txt b/Project/History.txt new file mode 100644 index 0000000..5205625 --- /dev/null +++ b/Project/History.txt @@ -0,0 +1 @@ +180624 chi setting 의 경로를 applicationdata 적용 되도록 수정 \ No newline at end of file diff --git a/Project/Language/Lang.cs b/Project/Language/Lang.cs new file mode 100644 index 0000000..1ad0705 --- /dev/null +++ b/Project/Language/Lang.cs @@ -0,0 +1,172 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace Project +{ + public static class Lang + { + ////main + public static string Question_Exit { get; set; } + + public static string Ok { get; set; } + public static string Error { get; set; } + public static string No { get; set; } + public static string Yes { get; set; } + public static string Exit { get; set; } + + + public static string Result { get; set; } + public static string Log { get; set; } + public static string History { get; set; } + public static string Setting { get; set; } + public static string ModelEdit { get; set; } + + public static string NotRegistUser { get; set; } + public static string NoData { get; set; } + + public static void CreateFile() + { + iniHelper.CreateFile(); //System.IO.File.WriteAllText(FileName, "//INI FILE", System.Text.Encoding.Unicode); + + int i = 1; + SetINIValue(string.Format("MSG{0:0000}", i++), Lang.Question_Exit); + SetINIValue(string.Format("MSG{0:0000}", i++), Lang.Ok); + SetINIValue(string.Format("MSG{0:0000}", i++), Lang.Error); + SetINIValue(string.Format("MSG{0:0000}", i++), Lang.No); + SetINIValue(string.Format("MSG{0:0000}", i++), Lang.Yes); + SetINIValue(string.Format("MSG{0:0000}", i++), Lang.Exit); + + SetINIValue(string.Format("MSG{0:0000}", i++), Lang.Result); + SetINIValue(string.Format("MSG{0:0000}", i++), Lang.Log); + SetINIValue(string.Format("MSG{0:0000}", i++), Lang.History); + SetINIValue(string.Format("MSG{0:0000}", i++), Lang.Setting); + SetINIValue(string.Format("MSG{0:0000}", i++), Lang.ModelEdit); + + SetINIValue(string.Format("MSG{0:0000}", i++), Lang.NotRegistUser); + SetINIValue(string.Format("MSG{0:0000}", i++), Lang.NoData); + iniHelper.Flush(); + } + + public static bool Loading(string langName) + { + Lang.SelectedLang = langName; + if (iniHelper == null) iniHelper = new arUtil.INIHelper(FileName); + else iniHelper.SetFileName(FileName); + + + int i = 1; + + Lang.Question_Exit = GetINIValue(string.Format("MSG{0:0000}", i++), "종료하시겠습니까?"); + + Lang.Ok = GetINIValue(string.Format("MSG{0:0000}", i++), "Ok"); + Lang.Error = GetINIValue(string.Format("MSG{0:0000}", i++), "Error"); + Lang.No = GetINIValue(string.Format("MSG{0:0000}", i++), "No"); + Lang.Yes = GetINIValue(string.Format("MSG{0:0000}", i++), "Yes"); + Lang.Exit = GetINIValue(string.Format("MSG{0:0000}", i++), "Exit"); + + Lang.Result = GetINIValue(string.Format("MSG{0:0000}", i++), "Result"); + Lang.Log = GetINIValue(string.Format("MSG{0:0000}", i++), "Log"); + Lang.History = GetINIValue(string.Format("MSG{0:0000}", i++), "History"); + Lang.Setting = GetINIValue(string.Format("MSG{0:0000}", i++), "Setting"); + Lang.ModelEdit = GetINIValue(string.Format("MSG{0:0000}", i++), "Model"); + + Lang.NotRegistUser = GetINIValue(string.Format("MSG{0:0000}", i++), "Not a registered user."); + Lang.NoData = GetINIValue(string.Format("MSG{0:0000}", i++), "No Data"); + + if (!isExist()) CreateFile(); + return true; + } + + #region "Common " + + public static Boolean ReLoad() + { + return Loading(SelectedLang); + } + private static arUtil.INIHelper iniHelper; + private static string GetINIValue(string key, string def = "") + { + if (!System.IO.File.Exists(Lang.FileName)) + return def; + + string retval = iniHelper.GetData("lang", key, def); + return retval; + } + private static void SetINIValue(string key, string value) + { + iniHelper.SetData("lang", key, value); + } + public static Boolean isExist() + { + return System.IO.File.Exists(FileName); + } + + ////local data + private static string _path = ""; + private static string _selectedLang = ""; + public static string SelectedLang + { + get + { + if ((string.IsNullOrWhiteSpace(_selectedLang))) + { + return "kor"; + } + else + { + string fullname = Path + "\\" + _selectedLang + ".ini"; + //if ((!System.IO.File.Exists(fullname))) + //{ + // CreateFile(); + //} + return _selectedLang; + } + } + set { _selectedLang = value; } + } + public static string Path + { + get + { + if (string.IsNullOrWhiteSpace(_path)) + { + _path = AppDomain.CurrentDomain.BaseDirectory + "\\Language"; + if (!System.IO.Directory.Exists(_path)) System.IO.Directory.CreateDirectory(_path); + } + return _path; + } + set { _path = value; } + } + public static List LangList + { + get + { + List retval = new List(); + if ((System.IO.Directory.Exists(Path))) + { + string[] files = System.IO.Directory.GetFiles(Path, "*.ini"); + foreach (string file in files) + { + retval.Add(file.Substring(file.LastIndexOf("\\") + 1)); + } + } + return retval; + } + } + public static string FileName + { + get + { + string fn = Path + "\\" + SelectedLang; + if(fn.ToLower().LastIndexOf(".ini") == -1) fn += ".ini"; + return fn.Replace("\\\\", "\\"); + } + } + #endregion + + + } +} + diff --git a/Project/Manager/DataBaseManager.cs b/Project/Manager/DataBaseManager.cs new file mode 100644 index 0000000..189e937 --- /dev/null +++ b/Project/Manager/DataBaseManager.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace Project.Manager +{ + public static class DatabaseManager + { + private static System.Data.SqlClient.SqlConnection getCn() + { + string cs = Properties.Settings.Default.gwcs; + System.Data.SqlClient.SqlConnection cn = new System.Data.SqlClient.SqlConnection(); + cn.ConnectionString = cs; + return cn; + } + public static List getEQGroupLiist(string GroupColumn) + { + List retval = new List(); + var cn = getCn(); + cn.Open(); + var sql = "select {0} from Equipment where isnull({0},'') != '' group by {0} order by {0}"; + sql = string.Format(sql, "[" + GroupColumn +"]"); + var cmd = new System.Data.SqlClient.SqlCommand(sql,cn); + var rdr = cmd.ExecuteReader(); + while(rdr.Read()) + { + retval.Add(rdr[0].ToString()); + } + cmd.Dispose(); + cn.Close(); + cn.Dispose(); + return retval; + } + } +} diff --git a/Project/Manager/ModelManager.cs b/Project/Manager/ModelManager.cs new file mode 100644 index 0000000..94a6a04 --- /dev/null +++ b/Project/Manager/ModelManager.cs @@ -0,0 +1,273 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.IO; + +namespace Project.Manager +{ + public struct sModelInfo + { + public string Group; + public string QRCode; + public int QRx; + public int QRy; + public string Asset; + public string Memo; + public void Clear() + { + Group = string.Empty; + QRCode = string.Empty; + QRx = 0; + QRy = 0; + Asset = string.Empty; + Memo = string.Empty; + } + + } + public class ModelManager + { + public enum eModelType : int + { + Users = 0, + Model, + } + + + public DataSet1 dataSet; + private string[] fn; + + public ModelManager() + { + string path = AppDomain.CurrentDomain.BaseDirectory + "Model"; + if (!System.IO.Directory.Exists(path)) System.IO.Directory.CreateDirectory(path); + this.fn = new string[] { path + "\\Users.csv", path + "\\Model.csv" }; + dataSet = new DataSet1(); + } + + public void LoadData(eModelType model) + { + //set filename + string filename = fn[(int)model]; + int lineCount = 0; + string buffer = string.Empty; + + Pub.log.Add("ModelData Load : " + model.ToString() + "fn=" + filename); + + //read file + var fi = new FileInfo(filename); + if (fi.Exists == false) + { + Pub.log.AddE(string.Format("▣ No Data",model)); + return; + } + + lineCount = 0; + try + { + buffer = System.IO.File.ReadAllText(fi.FullName, System.Text.Encoding.Default); + } + catch (Exception ex) + { + buffer = string.Empty; + Pub.log.AddE(string.Format("ItemData Error File={0},Message={1}", filename, ex.Message)); + return; + } + + //존재하는 컬럼확인을 위해 미리 저장함 + List dbCols = new List(); + foreach (System.Data.DataColumn col in dataSet.Tables[model.ToString()].Columns) + dbCols.Add(col.ColumnName); + + List Cols = new List(); + foreach (string items in buffer.Split('\r')) + { + lineCount += 1; + var line = items.Replace("\r", "").Replace("\n", ""); + if (line.Trim() == "" || line.StartsWith("ver")) continue; //빈줄과 버젼표기는 제거한다. + string[] buf = line.Split(','); + + //첫줄에는 컬럼명이 들어있다. + if (Cols.Count < 1) + { + foreach (string colname in buf) + { + if (colname.isEmpty()) continue; //비어있는값은 처리하지 않는다. + Cols.Add(colname); + } + continue; + } + + //데이터를 각 컬럼에 넣는다. + System.Data.DataRow dr = dataSet.Tables[model.ToString()].NewRow(); + + //비젼속성은 컬럼명이 v_로 시작한다. + for (int i = 0; i < Cols.Count; i++) //0번은 Mccode이므로 제외한다. + { + try + { + if (dbCols.IndexOf(Cols[i]) == -1) continue; //존재하지 않는 컬럼은 제외한다. + if (Cols[i].ToUpper() == "IDX") continue; + dr[Cols[i]] = buf[i+1]; + } + catch (Exception ex) + { + Pub.log.AddE("Item Load Error:" + ex.Message); + } + } + + + try + { + if (dr.RowState == System.Data.DataRowState.Detached) + { + dataSet.Tables[model.ToString()].Rows.Add(dr); + } + else if (dr.RowState != System.Data.DataRowState.Deleted) dr.EndEdit(); + } + catch (Exception ex) + { + Pub.log.AddE("Load Item file" + ex.Message); + } + } + + dataSet.AcceptChanges(); + } + + /// + /// project , model read from file + /// + public void Load() + { + //데이터셋 초기화 + if (dataSet == null) dataSet = new DataSet1(); + else dataSet.Clear(); + + //파일로부터 데이터를 읽어들인다. + this.LoadData(eModelType.Users); + this.LoadData(eModelType.Model); + this.dataSet.AcceptChanges(); + + System.Text.StringBuilder sb = new StringBuilder(); + sb.Append("model data list"); + for(int i = 0; i< dataSet.Tables.Count;i++) + { + var dt = dataSet.Tables[i]; + if (dt.TableName.ToLower() == "resultdata") continue; + sb.AppendLine(dt.TableName + " : " + dt.Rows.Count.ToString() + "건"); + } + + Pub.log.AddI(sb.ToString()); + } + + public void Save() + { + this.dataSet.AcceptChanges(); + System.IO.DirectoryInfo di = new DirectoryInfo (Util.CurrentPath + "\\Model"); + if (!di.Exists) di.Create(); + SaveData(eModelType.Users); + SaveData(eModelType.Model); + } + + public void SaveData(eModelType model) + { + var data = new StringBuilder(); + data.AppendLine("ver,:" + model.ToString()); //version + + List baseCols = new List(); + if (model == eModelType.Users) baseCols.AddRange(new string[] { "No", "Name", "Memo" }); + else if (model == eModelType.Model) baseCols.AddRange(new string[] { "Group", "Asset" }); + + List cols = new List(); + foreach (System.Data.DataColumn col in this.dataSet.Tables[model.ToString()].Columns) + { + string colname = col.ColumnName.ToLower(); + if (colname == "idx" || colname.StartsWith("_")) continue; //기본열은 제외한다. + if (baseCols.IndexOf(col.ColumnName) >= 0) continue; + cols.Add(col.ColumnName); + } + + //열을 정렬해서 추가한다. + var bb = cols.OrderBy(t => t); + baseCols.AddRange(bb); //정렬된 열을 추가해준다. + + foreach (string colname in baseCols) + data.Append("," + colname); + data.AppendLine(); + + //output data(글로벌 셋팅하고 MC코드값만 취한다)v + var dt = dataSet.Tables[model.ToString()]; + var drows = dt.Select("", "idx"); + foreach (var dr in drows) + { + foreach (string colname in baseCols) //지정된 열제목의 데이터를 가져온다. + { + data.Append(","); + if (dr[colname] != DBNull.Value) data.Append(dr[colname].ToString()); + else if (dt.Columns[colname].DataType == typeof(double) || + dt.Columns[colname].DataType == typeof(Int32) || + dt.Columns[colname].DataType == typeof(UInt32) || + dt.Columns[colname].DataType == typeof(Single) || + dt.Columns[colname].DataType == typeof(byte) || + dt.Columns[colname].DataType == typeof(Boolean) || + dt.Columns[colname].DataType == typeof(Int16) || + dt.Columns[colname].DataType == typeof(UInt16)) + { + if (dt.Columns[colname].DataType == typeof(Boolean)) data.Append("False"); + else data.Append("0"); + } + else data.Append(""); + } + data.AppendLine(); + } + try + { + System.IO.File.WriteAllText(fn[(int)model], data.ToString(), System.Text.Encoding.Default); + Pub.log.AddAT("Save "+ model.ToString()+" Parameter - OK"); + } + catch (Exception ex) + { + Util.MsgE("Save Error\r\n" + ex.Message); + Pub.log.AddE("Save Error :: " + ex.Message); + } + } + + + + public DataSet1.UsersRow GetUser(string no) + { + var datas = this.dataSet.Users.Where(t => t.No == no); + if (datas.Count() < 1) return null; + return datas.First(); + } + public DataSet1.UsersRow[] GetUsers() + { + var datas = dataSet.Users.Select("", "No"); + if (datas.Length < 1) return null; + return datas as DataSet1.UsersRow[]; + } + + public DataSet1.ModelRow GetModel(string Asset) + { + if (Asset.isEmpty()) return null; + if (dataSet.Model == null || dataSet.Model.Rows.Count < 1) return null; + var datas = dataSet.Model.Where(t => t.Asset == Asset).ToArray(); + if (datas.Length != 1) return null; + return datas[0]; + } + public sModelInfo GetModelInfo(string qrData) + { + sModelInfo retval = new sModelInfo(); + retval.Clear(); + var model = GetModel(qrData); + if(model != null) + { + retval.Asset = model.Asset; + retval.Memo = model.Memo; + } + return retval; + } + + } + +} diff --git a/Project/MessageWindow.cs b/Project/MessageWindow.cs new file mode 100644 index 0000000..5b5882c --- /dev/null +++ b/Project/MessageWindow.cs @@ -0,0 +1,145 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Drawing; +using System.Windows.Forms; + +namespace Project +{ + public static class MessageWindow + { + public enum eWindowPosition + { + center = 0, + top = 1, + bottom = 2 + } + public enum eWindowType + { + information, + error, + attention, + } + public enum eMsgNo : byte + { + Normal = 0, + RunMsg, + DemoMsg, + ErrorMsg, + EmgButton, //171214 + RobotStop,//171214 + RetryMsg, + RemoteMsg, + } + private static Dictionary msgBuffer = new Dictionary(); + public static void ShowMsg(string m, eMsgNo id, int width = 1200, int height = 300, eWindowType msgtype = eWindowType.information, Boolean useClose = true, eWindowPosition position = eWindowPosition.center) + { + var pform = findForm(id); + if (pform == null) + { + var f = new Dialog.fMsgWindow(m); + f.TopMost = true; + f.ID = id; + f.Disposed += (s1, e1) => { CloseMsg(id); }; + f.Width = width; + f.Height = height; + + if (msgtype == eWindowType.attention) + { + f.BackColor = Color.Orange; + f.arLabel1.ForeColor = Color.Orange; + } + else if (msgtype == eWindowType.error) + { + f.BackColor = Color.Red; + f.arLabel1.ForeColor = Color.Red; + } + else + { + f.BackColor = Color.Blue; + f.arLabel1.ForeColor = Color.DeepSkyBlue; + } + + if (!useClose) f.EnableUserClose = false; + if (position == eWindowPosition.center) + f.StartPosition = FormStartPosition.CenterScreen; + else if (position == eWindowPosition.top) + { + f.StartPosition = FormStartPosition.Manual; + f.Left = (Screen.PrimaryScreen.Bounds.Width - f.Width) / 2; + f.Top = 0; + } + else if (position == eWindowPosition.bottom) + { + f.StartPosition = FormStartPosition.Manual; + f.Left = (Screen.PrimaryScreen.Bounds.Width - f.Width) / 2; + f.Top = Screen.PrimaryScreen.Bounds.Height - f.Height; + } + + msgBuffer.Add(id, f); + f.Show(); + } + else + { + pform.SetText(m); + if (pform.WindowState == FormWindowState.Minimized) pform.WindowState = FormWindowState.Normal; + if (!pform.Visible) pform.Visible = true; + } + } + + private static Dialog.fMsgWindow findForm(eMsgNo id) + { + var items = msgBuffer.Where(t => t.Key == id); + if (items.Count() < 1) return null; + return items.First().Value; + } + + public static Boolean ExistForm(eMsgNo id) + { + var items = msgBuffer.Where(t => t.Key == id); + if (items.Count() < 1) return false; + else return true; + } + + public delegate void VisibleHandler(Boolean value); + public static void VisibleAll(Boolean value) + { + if (msgBuffer.Count < 1) return; + + #region "invoke" + if (msgBuffer.ElementAt(0).Value.InvokeRequired) + { + msgBuffer.ElementAt(0).Value.BeginInvoke(new VisibleHandler(VisibleAll), new object[] { value }); + return; + } + #endregion + + foreach (var form in msgBuffer) + { + form.Value.Visible = value; + } + } + + public static void CloseAll() + { + + for (int i = msgBuffer.Count; i > 0; i--) + { + var form = msgBuffer.ElementAt(i - 1); + form.Value.Close(); + } + msgBuffer.Clear(); + } + public static void CloseMsg(eMsgNo id) + { + var pform = findForm(id); + if (pform != null) + { + pform.Close(); + msgBuffer.Remove(id); + } + } + } + +} diff --git a/Project/MethodExtentions.cs b/Project/MethodExtentions.cs new file mode 100644 index 0000000..60893e3 --- /dev/null +++ b/Project/MethodExtentions.cs @@ -0,0 +1,124 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.InteropServices; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; + +namespace Project +{ + /// + /// generic method Extension + /// + public static class MethodExtensions + { + + public static string Base64Encode(this string src) + { + string base64enc = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(src)); + return base64enc; + } + public static string Base64Decode(this string src) + { + var base64dec = Convert.FromBase64String(src); + return System.Text.Encoding.UTF8.GetString(base64dec); + } + public static string UrlEncode(this string src) + { + string data = System.Web.HttpUtility.UrlEncode(src, System.Text.Encoding.UTF8); + return data; + } + public static string UrlDecode(this string src) + { + string data = System.Web.HttpUtility.UrlDecode(src, System.Text.Encoding.UTF8); + return data; + } + + public static string ToString(this System.Drawing.Rectangle rect) + { + return string.Format("X={0},Y={1},W={2},H={3}", rect.X, rect.Y, rect.Width, rect.Height); + } + public static string ToString(this System.Drawing.RectangleF rect) + { + return string.Format("X={0},Y={1},W={2},H={3}", rect.X, rect.Y, rect.Width, rect.Height); + } + + //public static void SetBGColor(this System.Windows.Forms.Label ctl,System.Drawing.Color color1) + //{ + // ctl.BackColor = System.Drawing.Color.Red; + //} + + /// + /// 0101이 반복되는 문자열 형태로 전환합니다. + /// + /// + /// + public static string BitString(this System.Collections.BitArray arr) + { + System.Text.StringBuilder sb = new System.Text.StringBuilder(); + for (int i = arr.Length; i > 0; i--) + sb.Append(arr[i - 1] ? "1" : "0"); + return sb.ToString(); + } + + /// + /// int 값으로 변환합니다. + /// + /// + /// + public static int ValueI(this System.Collections.BitArray arr) + { + byte[] buf = new byte[4]; + arr.CopyTo(buf, 0); + return BitConverter.ToInt32(buf, 0); + } + + /// + /// 숫자인지 검사합니다. + /// + /// + /// + public static bool IsNumeric(this string input) + { + double data; + return double.TryParse(input, out data); + //return Regex.IsMatch(input, @"^\d+$"); + } + + /// + /// isnullorempty 를 수행합니다. + /// + /// + /// + public static Boolean isEmpty(this string input) + { + return string.IsNullOrEmpty(input); + } + + /// + /// default 인코딩을 사용하여 문자열로 반환합니다. + /// + /// + /// + public static string GetString(this Byte[] input) + { + return System.Text.Encoding.Default.GetString(input); + } + + /// + /// 16진수 문자열 형태로 반환합니다. + /// + /// + /// + public static string GetHexString(this Byte[] input) + { + System.Text.StringBuilder sb = new System.Text.StringBuilder(); + foreach (byte b in input) + sb.Append(" " + b.ToString("X2")); + return sb.ToString(); + } + } + + +} diff --git a/Project/Program.cs b/Project/Program.cs new file mode 100644 index 0000000..4a7cab3 --- /dev/null +++ b/Project/Program.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Windows.Forms; + +namespace Project +{ + static class Program + { + /// + /// 해당 응용 프로그램의 주 진입점입니다. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException); + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); + Application.Run(new fMain()); + } + + static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) + { + string emsg = "Fatal Error(UHE)\n\n" + e.ExceptionObject.ToString(); + Pub.log.AddE(emsg); + Pub.log.Flush(); + Util.SaveBugReport(emsg); + var f = new fErrorException(emsg); + f.ShowDialog(); + Application.ExitThread(); + } + + static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e) + { + string emsg = "Fatal Error(ATE)\n\n" + e.Exception.ToString(); + Pub.log.AddE(emsg); + Pub.log.Flush(); + Util.SaveBugReport(emsg); + var f = new fErrorException(emsg); + f.ShowDialog(); + Application.ExitThread(); + } + } +} diff --git a/Project/Properties/AssemblyInfo.cs b/Project/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..ca25af6 --- /dev/null +++ b/Project/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해 +// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면 +// 이러한 특성 값을 변경하세요. +[assembly: AssemblyTitle("Frame Project")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Frame Project")] +[assembly: AssemblyProduct("Frame Project")] +[assembly: AssemblyCopyright("Copyright ©SIMP 2018")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에 +// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면 +// 해당 형식에 대해 ComVisible 특성을 true로 설정하세요. +[assembly: ComVisible(false)] + +// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다. +[assembly: Guid("65f3e722-800c-400e-862f-b535642ec59f")] + +// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다. +// +// 주 버전 +// 부 버전 +// 빌드 번호 +// 수정 버전 +// +// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호가 자동으로 +// 지정되도록 할 수 있습니다. +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("18.06.24.1600")] +[assembly: AssemblyFileVersion("18.06.24.1600")] diff --git a/Project/Properties/Resources.Designer.cs b/Project/Properties/Resources.Designer.cs new file mode 100644 index 0000000..b6c2d9f --- /dev/null +++ b/Project/Properties/Resources.Designer.cs @@ -0,0 +1,63 @@ +//------------------------------------------------------------------------------ +// +// 이 코드는 도구를 사용하여 생성되었습니다. +// 런타임 버전:4.0.30319.42000 +// +// 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면 +// 이러한 변경 내용이 손실됩니다. +// +//------------------------------------------------------------------------------ + +namespace Project.Properties { + using System; + + + /// + /// 지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다. + /// + // 이 클래스는 ResGen 또는 Visual Studio와 같은 도구를 통해 StronglyTypedResourceBuilder + // 클래스에서 자동으로 생성되었습니다. + // 멤버를 추가하거나 제거하려면 .ResX 파일을 편집한 다음 /str 옵션을 사용하여 ResGen을 + // 다시 실행하거나 VS 프로젝트를 다시 빌드하십시오. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// 이 클래스에서 사용하는 캐시된 ResourceManager 인스턴스를 반환합니다. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Project.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// 이 강력한 형식의 리소스 클래스를 사용하여 모든 리소스 조회에 대한 현재 스레드의 CurrentUICulture + /// 속성을 재정의합니다. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + } +} diff --git a/Project/Properties/Resources.resx b/Project/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/Project/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Project/Properties/Settings.Designer.cs b/Project/Properties/Settings.Designer.cs new file mode 100644 index 0000000..5f46844 --- /dev/null +++ b/Project/Properties/Settings.Designer.cs @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +// +// 이 코드는 도구를 사용하여 생성되었습니다. +// 런타임 버전:4.0.30319.42000 +// +// 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면 +// 이러한 변경 내용이 손실됩니다. +// +//------------------------------------------------------------------------------ + +namespace Project.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + + [global::System.Configuration.ApplicationScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.ConnectionString)] + [global::System.Configuration.DefaultSettingValueAttribute("Data Source=10.131.36.205;Initial Catalog=GroupWare;Persist Security Info=True;Us" + + "er ID=gw;Password=Amkor123!")] + public string gwcs { + get { + return ((string)(this["gwcs"])); + } + } + } +} diff --git a/Project/Properties/Settings.settings b/Project/Properties/Settings.settings new file mode 100644 index 0000000..20a537a --- /dev/null +++ b/Project/Properties/Settings.settings @@ -0,0 +1,14 @@ + + + + + + <?xml version="1.0" encoding="utf-16"?> +<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <ConnectionString>Data Source=10.131.36.205;Initial Catalog=GroupWare;Persist Security Info=True;User ID=gw;Password=Amkor123!</ConnectionString> + <ProviderName>System.Data.SqlClient</ProviderName> +</SerializableConnectionString> + Data Source=10.131.36.205;Initial Catalog=GroupWare;Persist Security Info=True;User ID=gw;Password=Amkor123! + + + \ No newline at end of file diff --git a/Project/Properties/app.manifest b/Project/Properties/app.manifest new file mode 100644 index 0000000..03f6fee --- /dev/null +++ b/Project/Properties/app.manifest @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Project/Pub.cs b/Project/Pub.cs new file mode 100644 index 0000000..e1a0a12 --- /dev/null +++ b/Project/Pub.cs @@ -0,0 +1,57 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Winsock_Orcas; + +namespace Project +{ + public static class Pub + { + public struct sUserInfo + { + public string no; + public string name; + public string dept; + public string email; + public int level; + } + + //Variable + public static Device.Barcode barcode; + + public static UserSetting uSetting; //user setting + public static Setting setting; //global setting + + public static arUtil.Log log; //global logging system + public static sUserInfo Login; + + public static DateTime LastInputTime = DateTime.Now; + public static CResult Result = new CResult(); + + public static void init() + { + string Path = Util.CurrentPath; + if (Util.isLocalApplication()) + { + Path = @"c:\Amkor\GroupWare\"; + if (!System.IO.Directory.Exists(Path)) + System.IO.Directory.CreateDirectory(Path); + } + + //setting + setting = new Setting(); + setting.Load(); + + uSetting = new UserSetting(); + uSetting.Load(); + + //log + log = new arUtil.Log(); + Login = new sUserInfo(); + + //language + Lang.Loading(Pub.setting.Language + ".ini"); + } + } +} diff --git a/Project/Setting.cs b/Project/Setting.cs new file mode 100644 index 0000000..a8704b2 --- /dev/null +++ b/Project/Setting.cs @@ -0,0 +1,95 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.ComponentModel; + +namespace Project +{ + + public class Setting : arUtil.Setting + { + #region "log" + + [Browsable(false)] + public Boolean Log_IO { get; set; } + + #endregion + + [Description("Password for Setting")] + [Browsable(false)] + public string Password_Setup { get; set; } + + [Description("Password for UserSetting")] + [Browsable(false)] + public string Password_User { get; set; } + + [Description("Display Language"), DisplayName("Language")] + public string Language { get; set; } + + [Description("Full Screen Window")] + public Boolean FullScreen { get; set; } + + + [Category("Barcode"), DisplayName("Port Name")] + public string Barcode { get; set; } + + public string lastid { get; set; } + + public Setting() + { + string Path = Util.CurrentPath; + if (Util.isLocalApplication()) Path = @"c:\Amkor\GroupWare\"; + this.filename = Path + "Setting.xml"; + + System.IO.FileInfo fi = new System.IO.FileInfo(filename); + if (!System.IO.File.Exists(filename)) + { + if (!fi.Directory.Exists) fi.Directory.Create(); + this.Load(); + this.Save(); + } + } + + public override void AfterLoad() + { + if (Language.isEmpty()) Language = "Kor"; + if (Password_Setup.isEmpty()) Password_Setup = "0000"; + if (Password_User.isEmpty()) Password_User = "9999"; + } + public override void AfterSave() + { + //throw new NotImplementedException(); + //Xml.set_Data("Font", "Font_Content", GetfontString(Font_Content)); + //Xml.Save(); + } + } + + public class UserSetting : arUtil.Setting + { + public UserSetting() + { + string Path = Util.CurrentPath; + if (Util.isLocalApplication()) Path = @"c:\Amkor\GroupWare\"; + this.filename = Path + "UserSet.xml"; + + System.IO.FileInfo fi = new System.IO.FileInfo(filename); + if (!System.IO.File.Exists(filename)) + { + if (!fi.Directory.Exists) fi.Directory.Create(); + this.Load(); + this.Save(); + } + } + + public override void AfterLoad() + { + //throw new NotImplementedException(); + } + public override void AfterSave() + { + //throw new NotImplementedException(); + } + } + +} diff --git a/Project/StateMachine/_BW.cs b/Project/StateMachine/_BW.cs new file mode 100644 index 0000000..1f7be1c --- /dev/null +++ b/Project/StateMachine/_BW.cs @@ -0,0 +1,23 @@ +/* + * Backgroudn worker + */ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; + +namespace Project +{ + public partial class fMain + { + Boolean bBW = true; + private void bw_DoWork(object sender, DoWorkEventArgs e) + { + while(bBW) + { + System.Threading.Thread.Sleep(1000); + } + } + } +} diff --git a/Project/StateMachine/_TMDisplay.cs b/Project/StateMachine/_TMDisplay.cs new file mode 100644 index 0000000..df920b1 --- /dev/null +++ b/Project/StateMachine/_TMDisplay.cs @@ -0,0 +1,29 @@ +using System; +/* + * Display timer + */ +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Linq; +using System.Text; + +namespace Project +{ + public partial class fMain + { + private void tmDisplay_Tick(object sender, EventArgs e) + { + if (bw.IsBusy) + { + if (sbBWRun.BackColor == Color.Lime) + sbBWRun.BackColor = Color.LimeGreen; + else + sbBWRun.BackColor = Color.Lime; + } + else sbBWRun.BackColor = Color.Red; + sbBCD.BackColor = Pub.barcode.IsInit ? Color.Lime : Color.Red; + + } + } +} diff --git a/Project/Util.cs b/Project/Util.cs new file mode 100644 index 0000000..cc956e5 --- /dev/null +++ b/Project/Util.cs @@ -0,0 +1,447 @@ +//180624 chi isLocalApplication 추가 +//180618 chi GetCSVBuffer 추가 +//180614 chi map 명령어 추가 +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Net; +using System.Text; +using System.Windows.Forms; + +namespace Project +{ + public static class Util + { + /// + /// 현재 프로그램이 개인용위치에서 실행중인가(클릭원스의경우) + /// + /// + public static Boolean isLocalApplication() + { + var localpath = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData); + return Util.CurrentPath.StartsWith(localpath); + } + + /// + /// CSV데이터포맷으로 버퍼를 반환합니다. 문자열내에 , 가 있는 데이터는 쌍따옴표로 구분합니다. + /// + /// + /// + public static string[] GetCSVBuffer(string line) + { + List buffer = new List(); + if (line.Trim() == "") return buffer.ToArray(); + + System.Text.StringBuilder sb = new StringBuilder(); + bool findsig = false; + var charbuf = line.ToCharArray(); + char pchar = '\0'; + foreach (var c in charbuf) + { + if (c == ',') + { + if (findsig) sb.Append(c); //대상에 콤마가 잇으므로 게소 누적한다. + else + { + //데이터를 분리해줘야함 + buffer.Add(sb.ToString()); + sb.Clear(); + findsig = false; + } + } + else if (c == '\"') + { + if (pchar == ',') + { + if (!findsig) findsig = true; + else findsig = false; //완료된 경우이다. + } + else if (!findsig) sb.Append(c); + //if (!findsig) findsig = true; + //else sb.Append(c); + } + else + { + sb.Append(c); + } + pchar = c; + } + //if(sb.Length > 0) + //{ + buffer.Add(sb.ToString()); + //} + return buffer.ToArray(); + } + + public static double map(double source, int in_min, int in_max, int out_min, int out_max) + { + return (source - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; + } + + + #region "MessageBox" + public static void MsgI(string m) + { + MessageBox.Show(m, "확인", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + public static void MsgE(string m) + { + MessageBox.Show(m, "오류", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + public static DialogResult MsgQ(string m) + { + DialogResult dlg = MessageBox.Show(m, "확인", MessageBoxButtons.YesNo, MessageBoxIcon.Question); + return dlg; + } + + #endregion + + public static object getTagFromContextMenu(object sender) + { + ToolStripMenuItem menuItem = sender as ToolStripMenuItem; + if (menuItem != null) + { + ContextMenuStrip calendarMenu = menuItem.Owner as ContextMenuStrip; + + if (calendarMenu != null) + { + var controlSelected = calendarMenu.SourceControl as Control; + return controlSelected.Tag; + } + } + return string.Empty; + } + + public static void SaveBugReport(string content, string subdirName = "BugReport") + { + try + { + var path = CurrentPath + subdirName; + if (!System.IO.Directory.Exists(path)) System.IO.Directory.CreateDirectory(path); + var file = path + "\\" + DateTime.Now.ToString("yyyyMMdd_HHmmss_fff") + ".txt"; + System.IO.File.WriteAllText(file, content, System.Text.Encoding.UTF8); + } + catch + { + //nothing + } + } + + /// + /// 현재실행중인폴더를 반환합니다. + /// + public static string CurrentPath + { + get + { + return AppDomain.CurrentDomain.BaseDirectory; + } + } + /// + /// 콤마와 줄바꿈등을 제거합니다. + /// + /// + public static string ToCSVString(string src) + { + string strdata = src.Replace("\r", "").Replace("\n", ""); + if (strdata.IndexOf(',') != -1) + { + strdata = "\"" + strdata + "\""; //180618 콤마가들어가는 csv 처리 + } + + + return strdata; + } + + public static Boolean RunProcess(string file, string arg = "") + { + var fi = new System.IO.FileInfo(file); + if (!fi.Exists) + { + Pub.log.AddE("Run Error : " + file); + return false; + } + System.Diagnostics.Process prc = new System.Diagnostics.Process(); + System.Diagnostics.ProcessStartInfo si = new System.Diagnostics.ProcessStartInfo(file); + si.Arguments = arg; + prc.StartInfo = si; + prc.Start(); + return true; + } + + #region "convert" + public static string RectToStr(Rectangle rect) + { + return string.Format("{0};{1};{2};{3}", rect.X, rect.Y, rect.Width, rect.Height); + } + public static string RectToStr(RectangleF rect) + { + return string.Format("{0};{1};{2};{3}", rect.X, rect.Y, rect.Width, rect.Height); + } + public static string PointToStr(Point pt) + { + return string.Format("{0};{1}", pt.X, pt.Y); + } + public static string PointToStr(PointF pt) + { + return string.Format("{0};{1}", pt.X, pt.Y); + } + public static Rectangle StrToRect(string str) + { + if (str.isEmpty() || str.Split(';').Length != 4) str = "0;0;0;0"; + var roibuf1 = str.Split(';'); + return new System.Drawing.Rectangle( + int.Parse(roibuf1[0]), + int.Parse(roibuf1[1]), + int.Parse(roibuf1[2]), + int.Parse(roibuf1[3])); + } + public static RectangleF StrToRectF(string str) + { + if (str.isEmpty() || str.Split(';').Length != 4) str = "0;0;0;0"; + var roibuf1 = str.Split(';'); + return new System.Drawing.RectangleF( + float.Parse(roibuf1[0]), + float.Parse(roibuf1[1]), + float.Parse(roibuf1[2]), + float.Parse(roibuf1[3])); + } + public static Point StrToPoint(string str) + { + if (str.isEmpty() || str.Split(';').Length != 2) str = "0;0"; + var roibuf1 = str.Split(';'); + return new System.Drawing.Point( + int.Parse(roibuf1[0]), + int.Parse(roibuf1[1])); + } + public static PointF StrToPointF(string str) + { + if (str.isEmpty() || str.Split(';').Length != 2) str = "0;0"; + var roibuf1 = str.Split(';'); + return new System.Drawing.PointF( + float.Parse(roibuf1[0]), + float.Parse(roibuf1[1])); + } + #endregion + + #region "NIC" + + /// + /// 지정된 nic카드가 현재 목록에 존재하는지 확인한다. + /// + /// + public static Boolean ExistNIC(string NICName) + { + if (string.IsNullOrEmpty(NICName)) return false; + foreach (string NetName in NICCardList()) + { + if (NetName.ToLower() == NICName.ToLower()) + { + return true; + } + } + return false; + } + + /// + /// Ehternet Card 를 사용안함으로 설정합니다.(관리자권한필요) + /// + /// + public static Boolean NICDisable(string NICName) + { + //해당 nic 가 현재 목록에 존재하는지 확인한다. + + string cmd = "interface set interface " + NICName + " disable"; + Process prc = new Process(); + ProcessStartInfo si = new ProcessStartInfo("netsh", cmd); + si.WindowStyle = ProcessWindowStyle.Hidden; + prc.StartInfo = si; + prc.Start(); + + ////목록에서 사라질때까지 기다린다. + DateTime SD = DateTime.Now; + Boolean timeout = false; + while ((true)) + { + + bool FindNetwork = false; + foreach (string NetName in NICCardList()) + { + if (NetName == NICName.ToLower()) + { + FindNetwork = true; + break; // TODO: might not be correct. Was : Exit For + } + } + + if (!FindNetwork) + break; // TODO: might not be correct. Was : Exit While + + System.Threading.Thread.Sleep(1000); + TimeSpan ts = DateTime.Now - SD; + if (ts.TotalSeconds > 10) + { + timeout = true; + break; // TODO: might not be correct. Was : Exit While + } + } + return !timeout; + } + + public static List NICCardList() + { + List Retval = new List(); + foreach (System.Net.NetworkInformation.NetworkInterface Net in System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces()) + { + if (Net.NetworkInterfaceType == System.Net.NetworkInformation.NetworkInterfaceType.Ethernet) + { + Retval.Add(Net.Name.ToUpper()); + } + } + return Retval; + } + + /// + /// 이더넷카드를 사용함으로 설정합니다. + /// + /// + public static Boolean NICEnable(string NICName) + { + string cmd = "interface set interface " + NICName + " enable"; + System.Diagnostics.Process prc = new System.Diagnostics.Process(); + System.Diagnostics.ProcessStartInfo si = new System.Diagnostics.ProcessStartInfo("netsh", cmd); + si.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; + prc.StartInfo = si; + prc.Start(); + + + ////목록에생길떄까지 대기 + DateTime SD = DateTime.Now; + while ((true)) + { + + bool FindNetwork = false; + foreach (string NetName in NICCardList()) + { + if (NetName.ToLower() == NICName.ToLower()) + { + FindNetwork = true; + break; // TODO: might not be correct. Was : Exit For + } + } + + if (FindNetwork) + break; // TODO: might not be correct. Was : Exit While + + System.Threading.Thread.Sleep(1000); + TimeSpan ts = DateTime.Now - SD; + if (ts.TotalSeconds > 10) + { + return false; + } + } + + ////결이 완료될떄까지 기다린다. + SD = DateTime.Now; + while ((true)) + { + + bool FindNetwork = false; + foreach (System.Net.NetworkInformation.NetworkInterface Net in System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces()) + { + if (Net.NetworkInterfaceType != System.Net.NetworkInformation.NetworkInterfaceType.GigabitEthernet && + Net.NetworkInterfaceType != System.Net.NetworkInformation.NetworkInterfaceType.Ethernet) continue; + if (Net.Name.ToLower() == NICName.ToLower()) + { + //string data = Net.GetIPProperties().GatewayAddresses[0].ToString(); + + if (Net.OperationalStatus == System.Net.NetworkInformation.OperationalStatus.Up) + { + + FindNetwork = true; + break; // TODO: might not be correct. Was : Exit For + } + } + } + if (FindNetwork) + return true; + + System.Threading.Thread.Sleep(1000); + TimeSpan ts = DateTime.Now - SD; + if (ts.TotalSeconds > 10) + { + return false; + } + } + + } + + #endregion + + public static void RunExplorer(string arg) + { + System.Diagnostics.ProcessStartInfo si = new ProcessStartInfo("explorer"); + si.Arguments = arg; + System.Diagnostics.Process.Start(si); + } + + #region "watchdog" + public static void WatchDog_Run() + { + System.IO.FileInfo fi = new FileInfo(AppDomain.CurrentDomain.BaseDirectory + "WatchCat.exe"); + if (!fi.Exists) return; + var Exist = CheckExistProcess("watchcat"); + if (Exist) return; + RunProcess(fi.FullName); + } + + public static Boolean CheckExistProcess(string ProcessName) + { + foreach (var prc in System.Diagnostics.Process.GetProcesses()) + { + if (prc.ProcessName.StartsWith("svchost")) continue; + if (prc.ProcessName.ToUpper() == ProcessName.ToUpper()) return true; + } + return false; + } + #endregion + + #region "web function" + /// + /// URL로부터 문자열을 수신합니다. + /// + /// + /// + /// + public static string GetStrfromurl(string url, out Boolean isError) + { + isError = false; + string result = ""; + try + { + HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(url)); + request.Timeout = 60000; + request.ReadWriteTimeout = 60000; + + request.MaximumAutomaticRedirections = 4; + request.MaximumResponseHeadersLength = 4; + request.Credentials = CredentialCache.DefaultCredentials; + var response = request.GetResponse() as HttpWebResponse; + var txtReader = new StreamReader(response.GetResponseStream(), Encoding.UTF8); + result = txtReader.ReadToEnd(); + } + catch (Exception ex) + { + isError = true; + result = ex.Message.ToString(); + } + return result; + } + + #endregion + + } +} diff --git a/Project/_Common/fInventory.Designer.cs b/Project/_Common/fInventory.Designer.cs new file mode 100644 index 0000000..c6cf225 --- /dev/null +++ b/Project/_Common/fInventory.Designer.cs @@ -0,0 +1,432 @@ +namespace Project._Common +{ + partial class fInventory + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fInventory)); + 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(); + this.dsMSSQL = new Project.dsMSSQL(); + this.inventoryBindingSource = new System.Windows.Forms.BindingSource(this.components); + this.inventoryTableAdapter = new Project.dsMSSQLTableAdapters.InventoryTableAdapter(); + this.tableAdapterManager = new Project.dsMSSQLTableAdapters.TableAdapterManager(); + this.inventoryBindingNavigator = new System.Windows.Forms.BindingNavigator(this.components); + this.bindingNavigatorAddNewItem = new System.Windows.Forms.ToolStripButton(); + this.bindingNavigatorCountItem = new System.Windows.Forms.ToolStripLabel(); + this.bindingNavigatorDeleteItem = new System.Windows.Forms.ToolStripButton(); + 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(); + this.inventoryBindingNavigatorSaveItem = new System.Windows.Forms.ToolStripButton(); + this.inventoryDataGridView = new System.Windows.Forms.DataGridView(); + this.dataGridViewTextBoxColumn1 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn2 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn3 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.project = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this._projectname = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn4 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dvc_itemName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn5 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn6 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn7 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn8 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn9 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn10 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn11 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn12 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + ((System.ComponentModel.ISupportInitialize)(this.dsMSSQL)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.inventoryBindingSource)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.inventoryBindingNavigator)).BeginInit(); + this.inventoryBindingNavigator.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.inventoryDataGridView)).BeginInit(); + this.SuspendLayout(); + // + // dsMSSQL + // + this.dsMSSQL.DataSetName = "dsMSSQL"; + this.dsMSSQL.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema; + // + // inventoryBindingSource + // + this.inventoryBindingSource.DataMember = "Inventory"; + this.inventoryBindingSource.DataSource = this.dsMSSQL; + // + // inventoryTableAdapter + // + this.inventoryTableAdapter.ClearBeforeFill = true; + // + // tableAdapterManager + // + this.tableAdapterManager.BackupDataSetBeforeUpdate = false; + this.tableAdapterManager.InventoryTableAdapter = this.inventoryTableAdapter; + this.tableAdapterManager.ItemsTableAdapter = null; + this.tableAdapterManager.ProjectsTableAdapter = null; + this.tableAdapterManager.UpdateOrder = Project.dsMSSQLTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete; + this.tableAdapterManager.UsersTableAdapter = null; + // + // inventoryBindingNavigator + // + this.inventoryBindingNavigator.AddNewItem = this.bindingNavigatorAddNewItem; + this.inventoryBindingNavigator.BindingSource = this.inventoryBindingSource; + this.inventoryBindingNavigator.CountItem = this.bindingNavigatorCountItem; + this.inventoryBindingNavigator.DeleteItem = this.bindingNavigatorDeleteItem; + this.inventoryBindingNavigator.Dock = System.Windows.Forms.DockStyle.Bottom; + this.inventoryBindingNavigator.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.bindingNavigatorAddNewItem, + this.bindingNavigatorDeleteItem, + this.inventoryBindingNavigatorSaveItem}); + this.inventoryBindingNavigator.Location = new System.Drawing.Point(0, 550); + this.inventoryBindingNavigator.MoveFirstItem = this.bindingNavigatorMoveFirstItem; + this.inventoryBindingNavigator.MoveLastItem = this.bindingNavigatorMoveLastItem; + this.inventoryBindingNavigator.MoveNextItem = this.bindingNavigatorMoveNextItem; + this.inventoryBindingNavigator.MovePreviousItem = this.bindingNavigatorMovePreviousItem; + this.inventoryBindingNavigator.Name = "inventoryBindingNavigator"; + this.inventoryBindingNavigator.PositionItem = this.bindingNavigatorPositionItem; + this.inventoryBindingNavigator.Size = new System.Drawing.Size(671, 25); + this.inventoryBindingNavigator.TabIndex = 0; + this.inventoryBindingNavigator.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(23, 22); + this.bindingNavigatorAddNewItem.Text = "새로 추가"; + // + // bindingNavigatorCountItem + // + this.bindingNavigatorCountItem.Name = "bindingNavigatorCountItem"; + this.bindingNavigatorCountItem.Size = new System.Drawing.Size(27, 22); + this.bindingNavigatorCountItem.Text = "/{0}"; + 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(23, 22); + this.bindingNavigatorDeleteItem.Text = "삭제"; + // + // 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.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); + // + // inventoryBindingNavigatorSaveItem + // + this.inventoryBindingNavigatorSaveItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.inventoryBindingNavigatorSaveItem.Image = ((System.Drawing.Image)(resources.GetObject("inventoryBindingNavigatorSaveItem.Image"))); + this.inventoryBindingNavigatorSaveItem.Name = "inventoryBindingNavigatorSaveItem"; + this.inventoryBindingNavigatorSaveItem.Size = new System.Drawing.Size(23, 22); + this.inventoryBindingNavigatorSaveItem.Text = "데이터 저장"; + this.inventoryBindingNavigatorSaveItem.Click += new System.EventHandler(this.inventoryBindingNavigatorSaveItem_Click); + // + // inventoryDataGridView + // + this.inventoryDataGridView.AutoGenerateColumns = false; + this.inventoryDataGridView.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells; + this.inventoryDataGridView.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.AllCells; + this.inventoryDataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.inventoryDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.dataGridViewTextBoxColumn1, + this.dataGridViewTextBoxColumn2, + this.dataGridViewTextBoxColumn3, + this.project, + this._projectname, + this.dataGridViewTextBoxColumn4, + this.dvc_itemName, + this.dataGridViewTextBoxColumn5, + this.dataGridViewTextBoxColumn6, + this.dataGridViewTextBoxColumn7, + this.dataGridViewTextBoxColumn8, + this.dataGridViewTextBoxColumn9, + this.dataGridViewTextBoxColumn10, + this.dataGridViewTextBoxColumn11, + this.dataGridViewTextBoxColumn12}); + this.inventoryDataGridView.DataSource = this.inventoryBindingSource; + this.inventoryDataGridView.Dock = System.Windows.Forms.DockStyle.Fill; + this.inventoryDataGridView.Location = new System.Drawing.Point(0, 0); + this.inventoryDataGridView.Name = "inventoryDataGridView"; + this.inventoryDataGridView.RowTemplate.Height = 23; + this.inventoryDataGridView.Size = new System.Drawing.Size(671, 550); + this.inventoryDataGridView.TabIndex = 1; + // + // dataGridViewTextBoxColumn1 + // + this.dataGridViewTextBoxColumn1.DataPropertyName = "idx"; + dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; + dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224))))); + this.dataGridViewTextBoxColumn1.DefaultCellStyle = dataGridViewCellStyle1; + this.dataGridViewTextBoxColumn1.HeaderText = "idx"; + this.dataGridViewTextBoxColumn1.Name = "dataGridViewTextBoxColumn1"; + this.dataGridViewTextBoxColumn1.ReadOnly = true; + this.dataGridViewTextBoxColumn1.Width = 47; + // + // dataGridViewTextBoxColumn2 + // + this.dataGridViewTextBoxColumn2.DataPropertyName = "pdate"; + this.dataGridViewTextBoxColumn2.HeaderText = "pdate"; + this.dataGridViewTextBoxColumn2.Name = "dataGridViewTextBoxColumn2"; + this.dataGridViewTextBoxColumn2.Width = 61; + // + // dataGridViewTextBoxColumn3 + // + this.dataGridViewTextBoxColumn3.DataPropertyName = "uid"; + this.dataGridViewTextBoxColumn3.HeaderText = "uid"; + this.dataGridViewTextBoxColumn3.Name = "dataGridViewTextBoxColumn3"; + this.dataGridViewTextBoxColumn3.Width = 47; + // + // project + // + this.project.DataPropertyName = "project"; + dataGridViewCellStyle2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224))))); + this.project.DefaultCellStyle = dataGridViewCellStyle2; + this.project.HeaderText = "pIDX"; + this.project.Name = "project"; + this.project.ReadOnly = true; + this.project.Width = 56; + // + // _projectname + // + this._projectname.DataPropertyName = "_projectname"; + dataGridViewCellStyle3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(224)))), ((int)(((byte)(192))))); + this._projectname.DefaultCellStyle = dataGridViewCellStyle3; + this._projectname.HeaderText = "Project"; + this._projectname.Name = "_projectname"; + this._projectname.Width = 69; + // + // dataGridViewTextBoxColumn4 + // + this.dataGridViewTextBoxColumn4.DataPropertyName = "item"; + dataGridViewCellStyle4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224))))); + this.dataGridViewTextBoxColumn4.DefaultCellStyle = dataGridViewCellStyle4; + this.dataGridViewTextBoxColumn4.HeaderText = "iIDX"; + this.dataGridViewTextBoxColumn4.Name = "dataGridViewTextBoxColumn4"; + this.dataGridViewTextBoxColumn4.ReadOnly = true; + this.dataGridViewTextBoxColumn4.Width = 52; + // + // dvc_itemName + // + this.dvc_itemName.DataPropertyName = "_itemname"; + dataGridViewCellStyle5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(224)))), ((int)(((byte)(192))))); + this.dvc_itemName.DefaultCellStyle = dataGridViewCellStyle5; + this.dvc_itemName.HeaderText = "Item"; + this.dvc_itemName.Name = "dvc_itemName"; + this.dvc_itemName.Width = 54; + // + // dataGridViewTextBoxColumn5 + // + this.dataGridViewTextBoxColumn5.DataPropertyName = "serial"; + this.dataGridViewTextBoxColumn5.HeaderText = "serial"; + this.dataGridViewTextBoxColumn5.Name = "dataGridViewTextBoxColumn5"; + this.dataGridViewTextBoxColumn5.Width = 61; + // + // dataGridViewTextBoxColumn6 + // + this.dataGridViewTextBoxColumn6.DataPropertyName = "dr_qty"; + this.dataGridViewTextBoxColumn6.HeaderText = "dr_qty"; + this.dataGridViewTextBoxColumn6.Name = "dataGridViewTextBoxColumn6"; + this.dataGridViewTextBoxColumn6.Width = 64; + // + // dataGridViewTextBoxColumn7 + // + this.dataGridViewTextBoxColumn7.DataPropertyName = "dr_amt"; + this.dataGridViewTextBoxColumn7.HeaderText = "dr_amt"; + this.dataGridViewTextBoxColumn7.Name = "dataGridViewTextBoxColumn7"; + this.dataGridViewTextBoxColumn7.Width = 68; + // + // dataGridViewTextBoxColumn8 + // + this.dataGridViewTextBoxColumn8.DataPropertyName = "cr_qty"; + this.dataGridViewTextBoxColumn8.HeaderText = "cr_qty"; + this.dataGridViewTextBoxColumn8.Name = "dataGridViewTextBoxColumn8"; + this.dataGridViewTextBoxColumn8.Width = 64; + // + // dataGridViewTextBoxColumn9 + // + this.dataGridViewTextBoxColumn9.DataPropertyName = "cr_amt"; + this.dataGridViewTextBoxColumn9.HeaderText = "cr_amt"; + this.dataGridViewTextBoxColumn9.Name = "dataGridViewTextBoxColumn9"; + this.dataGridViewTextBoxColumn9.Width = 68; + // + // dataGridViewTextBoxColumn10 + // + this.dataGridViewTextBoxColumn10.DataPropertyName = "memo"; + this.dataGridViewTextBoxColumn10.HeaderText = "memo"; + this.dataGridViewTextBoxColumn10.Name = "dataGridViewTextBoxColumn10"; + this.dataGridViewTextBoxColumn10.Width = 66; + // + // dataGridViewTextBoxColumn11 + // + this.dataGridViewTextBoxColumn11.DataPropertyName = "wuid"; + this.dataGridViewTextBoxColumn11.HeaderText = "wuid"; + this.dataGridViewTextBoxColumn11.Name = "dataGridViewTextBoxColumn11"; + this.dataGridViewTextBoxColumn11.Width = 57; + // + // dataGridViewTextBoxColumn12 + // + this.dataGridViewTextBoxColumn12.DataPropertyName = "wdate"; + this.dataGridViewTextBoxColumn12.HeaderText = "wdate"; + this.dataGridViewTextBoxColumn12.Name = "dataGridViewTextBoxColumn12"; + this.dataGridViewTextBoxColumn12.Width = 64; + // + // fInventory + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(671, 575); + this.Controls.Add(this.inventoryDataGridView); + this.Controls.Add(this.inventoryBindingNavigator); + this.Name = "fInventory"; + this.Text = "fInventory"; + this.Load += new System.EventHandler(this.fInventory_Load); + ((System.ComponentModel.ISupportInitialize)(this.dsMSSQL)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.inventoryBindingSource)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.inventoryBindingNavigator)).EndInit(); + this.inventoryBindingNavigator.ResumeLayout(false); + this.inventoryBindingNavigator.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.inventoryDataGridView)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private dsMSSQL dsMSSQL; + private System.Windows.Forms.BindingSource inventoryBindingSource; + private dsMSSQLTableAdapters.InventoryTableAdapter inventoryTableAdapter; + private dsMSSQLTableAdapters.TableAdapterManager tableAdapterManager; + private System.Windows.Forms.BindingNavigator inventoryBindingNavigator; + private System.Windows.Forms.ToolStripButton bindingNavigatorAddNewItem; + private System.Windows.Forms.ToolStripLabel bindingNavigatorCountItem; + private System.Windows.Forms.ToolStripButton bindingNavigatorDeleteItem; + 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; + private System.Windows.Forms.ToolStripButton inventoryBindingNavigatorSaveItem; + private System.Windows.Forms.DataGridView inventoryDataGridView; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn1; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn2; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn3; + private System.Windows.Forms.DataGridViewTextBoxColumn project; + private System.Windows.Forms.DataGridViewTextBoxColumn _projectname; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn4; + private System.Windows.Forms.DataGridViewTextBoxColumn dvc_itemName; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn5; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn6; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn7; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn8; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn9; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn10; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn11; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn12; + } +} \ No newline at end of file diff --git a/Project/_Common/fInventory.cs b/Project/_Common/fInventory.cs new file mode 100644 index 0000000..cba1204 --- /dev/null +++ b/Project/_Common/fInventory.cs @@ -0,0 +1,52 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace Project._Common +{ + public partial class fInventory : Form + { + public fInventory() + { + InitializeComponent(); + } + + private void inventoryBindingNavigatorSaveItem_Click(object sender, EventArgs e) + { + this.Validate(); + this.inventoryBindingSource.EndEdit(); + this.tableAdapterManager.UpdateAll(this.dsMSSQL); + + } + + private void fInventory_Load(object sender, EventArgs e) + { + // TODO: 이 코드는 데이터를 'dsMSSQL.Inventory' 테이블에 로드합니다. 필요한 경우 이 코드를 이동하거나 제거할 수 있습니다. + this.inventoryTableAdapter.Fill(this.dsMSSQL.Inventory); + this.dsMSSQL.Inventory.TableNewRow += Inventory_TableNewRow; + + dsMSSQLTableAdapters.QueriesTableAdapter taQuery = new dsMSSQLTableAdapters.QueriesTableAdapter(); + + //모든자료를 조회해서 이름을 찾는다. + foreach(dsMSSQL.InventoryRow dr in this.dsMSSQL.Inventory.Rows) + { + dr._itemname = taQuery.GetItemName(dr.item); + dr._projectname = taQuery.GetProjectName(dr.project); + dr.EndEdit(); + } + this.dsMSSQL.Inventory.AcceptChanges(); + } + + void Inventory_TableNewRow(object sender, DataTableNewRowEventArgs e) + { + e.Row["wuid"] = Pub.Login.no; + e.Row["wdate"] = DateTime.Now; + e.Row["pdate"] = DateTime.Now.ToShortDateString(); + } + } +} diff --git a/Project/_Common/fInventory.resx b/Project/_Common/fInventory.resx new file mode 100644 index 0000000..02cd447 --- /dev/null +++ b/Project/_Common/fInventory.resx @@ -0,0 +1,216 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 122, 17 + + + 306, 17 + + + 484, 17 + + + 658, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAUpJREFUOE9jGLzg7gL2/7fmcf6/Oofr/8UZvP+hwsSD60CNfx41/v/zsOH/yckC + pBtwfjov3ICDPSKkG3B8kiBQc93/Pw+q/u9oFydswKWZPP/PTuX7fxKo8Ui/0P993SJAzeX//94r+r++ + Qeb/qhq5/0srFf/PL1X+P6tIFdPAU0B//nlYD9RUC8SV///cKwHivP9/72b+/3sn+f/f23H//92MAOKQ + /5NyNDENONQrDHbu3/ulQI0FQI3ZQI2pQI0J///digZqDPv/70bQ/3/X/f53peliGrCzXeL/lmap/+vA + zpX/v6RC8f/fWzFAjeH/p+Zp/J+QpfW/O0P3f3uq/v/mREPCYTIb6E+Qc//dCPjfk6FDWAM6APnz3w1/ + IPb735qsT7oB3em6YP+CcH2cEekGtCQZ/G+IN/xfE2v8vzLahHQD6AQYGAAkI9iedfyIaQAAAABJRU5E + rkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAW9JREFUOE+1kE0ow2Ecx3dV3krt4oJaOSCTvIRkMqSxyITIzCQHDouEdnFwIOVC + DrhIDiQl5UTiNG/z2ppafy1S2gX/uDwfY6i1v7Hie3nqeb7fz+/7/FR/Ilwn0G0Exw4fV5GJlXlEZxXC + rIet9bAQvB5Ymgn2sLYAvSZEux7RUQFzE4qQt4bCXAYjPaHvnDoCkLpsRGMB2JqCTGLIijDlwqQ9bEMV + i9OIytR3EMNWcJ/BWH8A6j8/bOGFxwXNxYEvGbMQ9XnQ1/K78KfY3/VXzkMY0qFGG2H4RoLGQshJQNbG + 86CNhdrsX9a/uQZTPhQl4rMY4OLofbl3aX7I8uwPC7y/g1YdjyVJuEvT8e1tfwUYteHUxCCfHChDeHmG + QQvokjlOU+PbWA0x3pZnILVVI3uvQyHsbiLnqnGmRCF1NYD8pDhpRxOH7HQoAKZGkFKjceszQbpSrumX + bO+G80MFwKUTxgfgcO/b8D9IpXoFiiMDHIQm0skAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAASpJREFUOE9jGDygcNbz/00Lnv/PnPj4P1QIA4S3P8Apx5A789n/VUfe/8elKL77 + wf/ghmu4DciY8vT/wn0fsCqK73n4f+n+///9qy/gNiCh58n/aVveYyiKaL8P1pw56/9/r9ITuA2I7Hr0 + v3f1BxRFoa33wJpb1wFt7/z73yX/AG4DApsf/q+b/w6uKLjl7v9Fe///7wBqzpjz879d3c//9hnbcRvg + UXX/f/60NyiK7Ipv/0+f8/u/f9e3/zqF7/5bJKzHbYB96d3/2ZNfYyjSTzn/36ToxX+VrE//jSOX4TbA + Iu/O/9T+11gVGSSd+C+b9vW/bvA83AYYZt3+H9byEqci/dTL/zV8p+E2QCftxn+/6od4Fal4TMBtgFPu + lf8gBXgVDULAwAAA8HbAq6XlmnAAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAALZJREFUOE9jGDogvP3BfyiTdBDf/eB/cMM18gyI73n4f+n+///9qy+QbkBE+32w + 5sxZ//97lZ4gzYDQ1ntgza3rgLZ3/v3vkn+AeAOCW+7+X7T3//8OoOaMOT//29X9/G+fsZ00F9gV3/6f + Puf3f/+ub/91Ct/9t0hYT3oY6Kec/29S9OK/Stan/8aRy0g3AAQMkk78l037+l83eB55BoCAfurl/xq+ + 08g3AARUPCZQZsBgBQwMANAUYJgEulBVAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAKNJREFUOE9jGHygcNbz/1AmeSB35rP/Cd33yDckY8rT//P2//6f0HWHPEMSep78 + n73v1//OrX//u5VeJt2QyK5H/6ds+/W/ZOnf/wnT//63yT1LmiGBzQ//t659D9ZsXPLlv3T0tf/GkcuI + N8Sj6v7/krnv4JoVXXpIc4F96d3/gS3PyNMMAhZ5d/7bFFwhTzMIGGbdJl8zCOik3SBf81AEDAwAoH5f + oAc0QjgAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAASxJREFUOE9jGFygcNbz/1AmBgDJNS14/j9z4mOcahhyZz77n9B9D6sCkNyqI+// + h7c/wG1AxpSn/+ft//0/oesOhiKQ3MJ9H/4HN1zDbUBCz5P/s/f9+t+59e9/t9LLKApBctO2vP/vX30B + twGRXY/+T9n263/J0r//E6b//W+TexauGCTXu/rDf6/SE7gNCGx++L917XuwZuOSL/+lo6/9N45cBtYA + kqub/+6/S/4B3AZ4VN3/XzL3HVyzoksPXDFILn/am//2GdtxG2Bfevd/YMszDM0gAJLLnvz6v0XCetwG + WOTd+W9TcAVDMwiA5FL7X8O9hBUYZt3GqhkEQHJhLS//6wbPw22ATtoNnJIgOb/qh/81fKfhNgAfcMq9 + 8l/FYwIYQ4UGBWBgAAC+0b+zuQxOnAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAExJREFUOE9joAr49u3bf1IxVCsEgAWC58Dxh/cf4RhZDETHTNiHaQgpBoAwzBCo + dtINAGGiDUDGyGpoawAxeNSAQWkAORiqnRLAwAAA9EMMU8Daa3MAAAAASUVORK5CYII= + + + + True + + + True + + + True + + \ No newline at end of file diff --git a/Project/_Common/fItems.Designer.cs b/Project/_Common/fItems.Designer.cs new file mode 100644 index 0000000..aba7bfb --- /dev/null +++ b/Project/_Common/fItems.Designer.cs @@ -0,0 +1,358 @@ +namespace Project._Common +{ + partial class fItems + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fItems)); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); + this.itemsBindingNavigator = 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.bindingNavigatorAddNewItem = new System.Windows.Forms.ToolStripButton(); + this.bindingNavigatorDeleteItem = new System.Windows.Forms.ToolStripButton(); + this.itemsBindingNavigatorSaveItem = new System.Windows.Forms.ToolStripButton(); + this.itemsDataGridView = new System.Windows.Forms.DataGridView(); + this.itemsBindingSource = new System.Windows.Forms.BindingSource(this.components); + this.dsMSSQL = new Project.dsMSSQL(); + this.itemsTableAdapter = new Project.dsMSSQLTableAdapters.ItemsTableAdapter(); + this.tableAdapterManager = new Project.dsMSSQLTableAdapters.TableAdapterManager(); + this.dataGridViewTextBoxColumn1 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn2 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn3 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn4 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn5 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn6 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn7 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn8 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn9 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + ((System.ComponentModel.ISupportInitialize)(this.itemsBindingNavigator)).BeginInit(); + this.itemsBindingNavigator.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.itemsDataGridView)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.itemsBindingSource)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.dsMSSQL)).BeginInit(); + this.SuspendLayout(); + // + // itemsBindingNavigator + // + this.itemsBindingNavigator.AddNewItem = this.bindingNavigatorAddNewItem; + this.itemsBindingNavigator.BindingSource = this.itemsBindingSource; + this.itemsBindingNavigator.CountItem = this.bindingNavigatorCountItem; + this.itemsBindingNavigator.DeleteItem = this.bindingNavigatorDeleteItem; + this.itemsBindingNavigator.Dock = System.Windows.Forms.DockStyle.Bottom; + this.itemsBindingNavigator.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.bindingNavigatorAddNewItem, + this.bindingNavigatorDeleteItem, + this.itemsBindingNavigatorSaveItem}); + this.itemsBindingNavigator.Location = new System.Drawing.Point(0, 521); + this.itemsBindingNavigator.MoveFirstItem = this.bindingNavigatorMoveFirstItem; + this.itemsBindingNavigator.MoveLastItem = this.bindingNavigatorMoveLastItem; + this.itemsBindingNavigator.MoveNextItem = this.bindingNavigatorMoveNextItem; + this.itemsBindingNavigator.MovePreviousItem = this.bindingNavigatorMovePreviousItem; + this.itemsBindingNavigator.Name = "itemsBindingNavigator"; + this.itemsBindingNavigator.PositionItem = this.bindingNavigatorPositionItem; + this.itemsBindingNavigator.Size = new System.Drawing.Size(687, 25); + this.itemsBindingNavigator.TabIndex = 0; + this.itemsBindingNavigator.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.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); + // + // 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(23, 22); + this.bindingNavigatorAddNewItem.Text = "새로 추가"; + // + // 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(23, 22); + this.bindingNavigatorDeleteItem.Text = "삭제"; + // + // itemsBindingNavigatorSaveItem + // + this.itemsBindingNavigatorSaveItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.itemsBindingNavigatorSaveItem.Image = ((System.Drawing.Image)(resources.GetObject("itemsBindingNavigatorSaveItem.Image"))); + this.itemsBindingNavigatorSaveItem.Name = "itemsBindingNavigatorSaveItem"; + this.itemsBindingNavigatorSaveItem.Size = new System.Drawing.Size(23, 22); + this.itemsBindingNavigatorSaveItem.Text = "데이터 저장"; + this.itemsBindingNavigatorSaveItem.Click += new System.EventHandler(this.itemsBindingNavigatorSaveItem_Click); + // + // itemsDataGridView + // + this.itemsDataGridView.AutoGenerateColumns = false; + this.itemsDataGridView.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells; + this.itemsDataGridView.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.AllCells; + this.itemsDataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.itemsDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.dataGridViewTextBoxColumn1, + this.dataGridViewTextBoxColumn2, + this.dataGridViewTextBoxColumn3, + this.dataGridViewTextBoxColumn4, + this.dataGridViewTextBoxColumn5, + this.dataGridViewTextBoxColumn6, + this.dataGridViewTextBoxColumn7, + this.dataGridViewTextBoxColumn8, + this.dataGridViewTextBoxColumn9}); + this.itemsDataGridView.DataSource = this.itemsBindingSource; + this.itemsDataGridView.Dock = System.Windows.Forms.DockStyle.Fill; + this.itemsDataGridView.Location = new System.Drawing.Point(0, 0); + this.itemsDataGridView.Name = "itemsDataGridView"; + this.itemsDataGridView.RowTemplate.Height = 23; + this.itemsDataGridView.Size = new System.Drawing.Size(687, 521); + this.itemsDataGridView.TabIndex = 1; + // + // itemsBindingSource + // + this.itemsBindingSource.DataMember = "Items"; + this.itemsBindingSource.DataSource = this.dsMSSQL; + // + // dsMSSQL + // + this.dsMSSQL.DataSetName = "dsMSSQL"; + this.dsMSSQL.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema; + // + // itemsTableAdapter + // + this.itemsTableAdapter.ClearBeforeFill = true; + // + // tableAdapterManager + // + this.tableAdapterManager.BackupDataSetBeforeUpdate = false; + this.tableAdapterManager.InventoryTableAdapter = null; + this.tableAdapterManager.ItemsTableAdapter = this.itemsTableAdapter; + this.tableAdapterManager.ProjectsTableAdapter = null; + this.tableAdapterManager.UpdateOrder = Project.dsMSSQLTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete; + this.tableAdapterManager.UsersTableAdapter = null; + // + // dataGridViewTextBoxColumn1 + // + this.dataGridViewTextBoxColumn1.DataPropertyName = "idx"; + dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; + dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224))))); + this.dataGridViewTextBoxColumn1.DefaultCellStyle = dataGridViewCellStyle1; + this.dataGridViewTextBoxColumn1.HeaderText = "idx"; + this.dataGridViewTextBoxColumn1.Name = "dataGridViewTextBoxColumn1"; + this.dataGridViewTextBoxColumn1.ReadOnly = true; + this.dataGridViewTextBoxColumn1.Width = 47; + // + // dataGridViewTextBoxColumn2 + // + this.dataGridViewTextBoxColumn2.DataPropertyName = "name"; + this.dataGridViewTextBoxColumn2.HeaderText = "name"; + this.dataGridViewTextBoxColumn2.Name = "dataGridViewTextBoxColumn2"; + this.dataGridViewTextBoxColumn2.Width = 62; + // + // dataGridViewTextBoxColumn3 + // + this.dataGridViewTextBoxColumn3.DataPropertyName = "sid"; + this.dataGridViewTextBoxColumn3.HeaderText = "sid"; + this.dataGridViewTextBoxColumn3.Name = "dataGridViewTextBoxColumn3"; + this.dataGridViewTextBoxColumn3.Width = 47; + // + // dataGridViewTextBoxColumn4 + // + this.dataGridViewTextBoxColumn4.DataPropertyName = "model"; + this.dataGridViewTextBoxColumn4.HeaderText = "model"; + this.dataGridViewTextBoxColumn4.Name = "dataGridViewTextBoxColumn4"; + this.dataGridViewTextBoxColumn4.Width = 65; + // + // dataGridViewTextBoxColumn5 + // + this.dataGridViewTextBoxColumn5.DataPropertyName = "manu"; + this.dataGridViewTextBoxColumn5.HeaderText = "manu"; + this.dataGridViewTextBoxColumn5.Name = "dataGridViewTextBoxColumn5"; + this.dataGridViewTextBoxColumn5.Width = 62; + // + // dataGridViewTextBoxColumn6 + // + this.dataGridViewTextBoxColumn6.DataPropertyName = "supply"; + this.dataGridViewTextBoxColumn6.HeaderText = "supply"; + this.dataGridViewTextBoxColumn6.Name = "dataGridViewTextBoxColumn6"; + this.dataGridViewTextBoxColumn6.Width = 68; + // + // dataGridViewTextBoxColumn7 + // + this.dataGridViewTextBoxColumn7.DataPropertyName = "memo"; + this.dataGridViewTextBoxColumn7.HeaderText = "memo"; + this.dataGridViewTextBoxColumn7.Name = "dataGridViewTextBoxColumn7"; + this.dataGridViewTextBoxColumn7.Width = 66; + // + // dataGridViewTextBoxColumn8 + // + this.dataGridViewTextBoxColumn8.DataPropertyName = "wuid"; + this.dataGridViewTextBoxColumn8.HeaderText = "wuid"; + this.dataGridViewTextBoxColumn8.Name = "dataGridViewTextBoxColumn8"; + this.dataGridViewTextBoxColumn8.Width = 57; + // + // dataGridViewTextBoxColumn9 + // + this.dataGridViewTextBoxColumn9.DataPropertyName = "wdate"; + this.dataGridViewTextBoxColumn9.HeaderText = "wdate"; + this.dataGridViewTextBoxColumn9.Name = "dataGridViewTextBoxColumn9"; + this.dataGridViewTextBoxColumn9.Width = 64; + // + // fItems + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(687, 546); + this.Controls.Add(this.itemsDataGridView); + this.Controls.Add(this.itemsBindingNavigator); + this.Name = "fItems"; + this.Text = "fItems"; + this.Load += new System.EventHandler(this.fItems_Load); + ((System.ComponentModel.ISupportInitialize)(this.itemsBindingNavigator)).EndInit(); + this.itemsBindingNavigator.ResumeLayout(false); + this.itemsBindingNavigator.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.itemsDataGridView)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.itemsBindingSource)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.dsMSSQL)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private dsMSSQL dsMSSQL; + private System.Windows.Forms.BindingSource itemsBindingSource; + private dsMSSQLTableAdapters.ItemsTableAdapter itemsTableAdapter; + private dsMSSQLTableAdapters.TableAdapterManager tableAdapterManager; + private System.Windows.Forms.BindingNavigator itemsBindingNavigator; + private System.Windows.Forms.ToolStripButton bindingNavigatorAddNewItem; + private System.Windows.Forms.ToolStripLabel bindingNavigatorCountItem; + private System.Windows.Forms.ToolStripButton bindingNavigatorDeleteItem; + 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; + private System.Windows.Forms.ToolStripButton itemsBindingNavigatorSaveItem; + private System.Windows.Forms.DataGridView itemsDataGridView; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn1; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn2; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn3; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn4; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn5; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn6; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn7; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn8; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn9; + } +} \ No newline at end of file diff --git a/Project/_Common/fItems.cs b/Project/_Common/fItems.cs new file mode 100644 index 0000000..fe87730 --- /dev/null +++ b/Project/_Common/fItems.cs @@ -0,0 +1,40 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace Project._Common +{ + public partial class fItems : Form + { + public fItems() + { + InitializeComponent(); + } + private void fItems_Load(object sender, EventArgs e) + { + // TODO: 이 코드는 데이터를 'dsMSSQL.Items' 테이블에 로드합니다. 필요한 경우 이 코드를 이동하거나 제거할 수 있습니다. + this.itemsTableAdapter.Fill(this.dsMSSQL.Items); + this.dsMSSQL.Items.TableNewRow += Items_TableNewRow; + } + + void Items_TableNewRow(object sender, DataTableNewRowEventArgs e) + { + e.Row["wuid"] = Pub.Login.no; + e.Row["wdate"] = DateTime.Now; + } + private void itemsBindingNavigatorSaveItem_Click(object sender, EventArgs e) + { + this.Validate(); + this.itemsBindingSource.EndEdit(); + this.tableAdapterManager.UpdateAll(this.dsMSSQL); + + } + + + } +} diff --git a/Project/_Common/fItems.resx b/Project/_Common/fItems.resx new file mode 100644 index 0000000..954abb4 --- /dev/null +++ b/Project/_Common/fItems.resx @@ -0,0 +1,207 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 614, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAUpJREFUOE9jGLzg7gL2/7fmcf6/Oofr/8UZvP+hwsSD60CNfx41/v/zsOH/yckC + pBtwfjov3ICDPSKkG3B8kiBQc93/Pw+q/u9oFydswKWZPP/PTuX7fxKo8Ui/0P993SJAzeX//94r+r++ + Qeb/qhq5/0srFf/PL1X+P6tIFdPAU0B//nlYD9RUC8SV///cKwHivP9/72b+/3sn+f/f23H//92MAOKQ + /5NyNDENONQrDHbu3/ulQI0FQI3ZQI2pQI0J///digZqDPv/70bQ/3/X/f53peliGrCzXeL/lmap/+vA + zpX/v6RC8f/fWzFAjeH/p+Zp/J+QpfW/O0P3f3uq/v/mREPCYTIb6E+Qc//dCPjfk6FDWAM6APnz3w1/ + IPb735qsT7oB3em6YP+CcH2cEekGtCQZ/G+IN/xfE2v8vzLahHQD6AQYGAAkI9iedfyIaQAAAABJRU5E + rkJggg== + + + + 122, 17 + + + 17, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAW9JREFUOE+1kE0ow2Ecx3dV3krt4oJaOSCTvIRkMqSxyITIzCQHDouEdnFwIOVC + DrhIDiQl5UTiNG/z2ppafy1S2gX/uDwfY6i1v7Hie3nqeb7fz+/7/FR/Ilwn0G0Exw4fV5GJlXlEZxXC + rIet9bAQvB5Ymgn2sLYAvSZEux7RUQFzE4qQt4bCXAYjPaHvnDoCkLpsRGMB2JqCTGLIijDlwqQ9bEMV + i9OIytR3EMNWcJ/BWH8A6j8/bOGFxwXNxYEvGbMQ9XnQ1/K78KfY3/VXzkMY0qFGG2H4RoLGQshJQNbG + 86CNhdrsX9a/uQZTPhQl4rMY4OLofbl3aX7I8uwPC7y/g1YdjyVJuEvT8e1tfwUYteHUxCCfHChDeHmG + QQvokjlOU+PbWA0x3pZnILVVI3uvQyHsbiLnqnGmRCF1NYD8pDhpRxOH7HQoAKZGkFKjceszQbpSrumX + bO+G80MFwKUTxgfgcO/b8D9IpXoFiiMDHIQm0skAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAASpJREFUOE9jGDygcNbz/00Lnv/PnPj4P1QIA4S3P8Apx5A789n/VUfe/8elKL77 + wf/ghmu4DciY8vT/wn0fsCqK73n4f+n+///9qy/gNiCh58n/aVveYyiKaL8P1pw56/9/r9ITuA2I7Hr0 + v3f1BxRFoa33wJpb1wFt7/z73yX/AG4DApsf/q+b/w6uKLjl7v9Fe///7wBqzpjz879d3c//9hnbcRvg + UXX/f/60NyiK7Ipv/0+f8/u/f9e3/zqF7/5bJKzHbYB96d3/2ZNfYyjSTzn/36ToxX+VrE//jSOX4TbA + Iu/O/9T+11gVGSSd+C+b9vW/bvA83AYYZt3+H9byEqci/dTL/zV8p+E2QCftxn+/6od4Fal4TMBtgFPu + lf8gBXgVDULAwAAA8HbAq6XlmnAAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAALZJREFUOE9jGDogvP3BfyiTdBDf/eB/cMM18gyI73n4f+n+///9qy+QbkBE+32w + 5sxZ//97lZ4gzYDQ1ntgza3rgLZ3/v3vkn+AeAOCW+7+X7T3//8OoOaMOT//29X9/G+fsZ00F9gV3/6f + Puf3f/+ub/91Ct/9t0hYT3oY6Kec/29S9OK/Stan/8aRy0g3AAQMkk78l037+l83eB55BoCAfurl/xq+ + 08g3AARUPCZQZsBgBQwMANAUYJgEulBVAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAKNJREFUOE9jGHygcNbz/1AmeSB35rP/Cd33yDckY8rT//P2//6f0HWHPEMSep78 + n73v1//OrX//u5VeJt2QyK5H/6ds+/W/ZOnf/wnT//63yT1LmiGBzQ//t659D9ZsXPLlv3T0tf/GkcuI + N8Sj6v7/krnv4JoVXXpIc4F96d3/gS3PyNMMAhZ5d/7bFFwhTzMIGGbdJl8zCOik3SBf81AEDAwAoH5f + oAc0QjgAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAASxJREFUOE9jGFygcNbz/1AmBgDJNS14/j9z4mOcahhyZz77n9B9D6sCkNyqI+// + h7c/wG1AxpSn/+ft//0/oesOhiKQ3MJ9H/4HN1zDbUBCz5P/s/f9+t+59e9/t9LLKApBctO2vP/vX30B + twGRXY/+T9n263/J0r//E6b//W+TexauGCTXu/rDf6/SE7gNCGx++L917XuwZuOSL/+lo6/9N45cBtYA + kqub/+6/S/4B3AZ4VN3/XzL3HVyzoksPXDFILn/am//2GdtxG2Bfevd/YMszDM0gAJLLnvz6v0XCetwG + WOTd+W9TcAVDMwiA5FL7X8O9hBUYZt3GqhkEQHJhLS//6wbPw22ATtoNnJIgOb/qh/81fKfhNgAfcMq9 + 8l/FYwIYQ4UGBWBgAAC+0b+zuQxOnAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAExJREFUOE9joAr49u3bf1IxVCsEgAWC58Dxh/cf4RhZDETHTNiHaQgpBoAwzBCo + dtINAGGiDUDGyGpoawAxeNSAQWkAORiqnRLAwAAA9EMMU8Daa3MAAAAASUVORK5CYII= + + + + 284, 17 + + + 440, 17 + + \ No newline at end of file diff --git a/Project/_Info/fInfo_Staff.Designer.cs b/Project/_Info/fInfo_Staff.Designer.cs new file mode 100644 index 0000000..f3d0aa3 --- /dev/null +++ b/Project/_Info/fInfo_Staff.Designer.cs @@ -0,0 +1,122 @@ +namespace Project._Info +{ + partial class fInfo_Staff + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.button1 = new System.Windows.Forms.Button(); + this.label1 = new System.Windows.Forms.Label(); + this.textBox2 = new System.Windows.Forms.TextBox(); + this.panel1 = new System.Windows.Forms.Panel(); + this.panel2 = new System.Windows.Forms.Panel(); + this.grid1 = new StaffLayoutCtl.grid(); + this.panel1.SuspendLayout(); + this.panel2.SuspendLayout(); + this.SuspendLayout(); + // + // button1 + // + this.button1.Location = new System.Drawing.Point(205, 19); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(75, 23); + this.button1.TabIndex = 0; + this.button1.Text = "button1"; + this.button1.UseVisualStyleBackColor = true; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(25, 10); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(38, 12); + this.label1.TabIndex = 1; + this.label1.Text = "label1"; + // + // textBox2 + // + this.textBox2.Location = new System.Drawing.Point(82, 21); + this.textBox2.Name = "textBox2"; + this.textBox2.Size = new System.Drawing.Size(100, 21); + this.textBox2.TabIndex = 3; + // + // panel1 + // + this.panel1.Controls.Add(this.textBox2); + this.panel1.Controls.Add(this.button1); + this.panel1.Controls.Add(this.label1); + 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(987, 56); + this.panel1.TabIndex = 4; + // + // panel2 + // + this.panel2.Controls.Add(this.grid1); + this.panel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel2.Location = new System.Drawing.Point(0, 56); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(987, 633); + this.panel2.TabIndex = 5; + // + // grid1 + // + this.grid1.Dock = System.Windows.Forms.DockStyle.Fill; + this.grid1.Location = new System.Drawing.Point(0, 0); + this.grid1.Name = "grid1"; + this.grid1.Size = new System.Drawing.Size(987, 633); + this.grid1.TabIndex = 0; + this.grid1.Text = "grid1"; + this.grid1.Click += new System.EventHandler(this.grid1_Click); + // + // fInfo_Staff + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(987, 689); + this.Controls.Add(this.panel2); + this.Controls.Add(this.panel1); + this.Name = "fInfo_Staff"; + this.Text = "자리배치도"; + this.Load += new System.EventHandler(this.fInfo_Staff_Load); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.panel2.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Button button1; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.TextBox textBox2; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Panel panel2; + private StaffLayoutCtl.grid grid1; + } +} \ No newline at end of file diff --git a/Project/_Info/fInfo_Staff.cs b/Project/_Info/fInfo_Staff.cs new file mode 100644 index 0000000..8680194 --- /dev/null +++ b/Project/_Info/fInfo_Staff.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace Project._Info +{ + public partial class fInfo_Staff : Form + { + public fInfo_Staff() + { + InitializeComponent(); + this.grid1.DeveloperMode = false; + } + + private void grid1_Click(object sender, EventArgs e) + { + + } + + private void fInfo_Staff_Load(object sender, EventArgs e) + { + var Item = this.grid1.Items; + Item.Clear(); + Item.Add(new StaffLayoutCtl.grid.CItem(r: 1, c: 1, rs: 2, cs: 2, text: "김치균", bg: Color.White.ToArgb())); + Item.Add(new StaffLayoutCtl.grid.CItem(4, 4, 1, 1, "박성민")); + Item.Add(new StaffLayoutCtl.grid.CItem(6, 6, 10, 3, "고진일")); + Item.Add(new StaffLayoutCtl.grid.CItem(7, 7, 2, 2, "테스트")); + Item[1].Select = true; + this.grid1.Invalidate(); + } + } +} diff --git a/Project/_Info/fInfo_Staff.resx b/Project/_Info/fInfo_Staff.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Project/_Info/fInfo_Staff.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Project/_Management/Report1.rdlc b/Project/_Management/Report1.rdlc new file mode 100644 index 0000000..77111eb --- /dev/null +++ b/Project/_Management/Report1.rdlc @@ -0,0 +1,1156 @@ + + + + + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + Textbox4 + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + Textbox30 + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + true + true + + + + + Process + + + + + + + Textbox8 + + + #4c68a2 + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + manu + + + + + + + Textbox5 + + + #4c68a2 + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + model + + + + + + + Textbox31 + + + #4c68a2 + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + 1.01833cm + + + 1.17708cm + + + + + 0.6cm + + + + + true + true + + + + + =Sum(Fields!cnt.Value) + + + + + + + cnt + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum(Fields!cnt.Value) + + + + + + + Textbox18 + + + #7292cc + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + =Sum(Fields!cnt.Value) + + + + + + + Textbox15 + + + #9eb6e4 + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum(Fields!cnt.Value) + + + + + + + Textbox19 + + + #9eb6e4 + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + =Sum(Fields!cnt.Value) + + + + + + + Textbox12 + + + #7292cc + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Sum(Fields!cnt.Value) + + + + + + + Textbox20 + + + #7292cc + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + =Fields!team.Value + + + + + =Fields!team.Value + + + + 0.6cm + + + true + true + + + + + =Fields!team.Value + + + + + + + team + + + #9eb6e4 + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + + =Fields!part.Value + + + + + =Fields!part.Value + + + + 0.6cm + + + true + true + + + + + =Fields!part.Value + + + + + + + part + + + #c6daf8 + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + + true + team + + + + + + + 0.6cm + + + true + true + + + + + Total + + + + + + + Textbox16 + + + #7292cc + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + true + true + + + + + cnt + + + + + + + Textbox17 + + + #7292cc + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + =Fields!grp.Value + + + + + =Fields!grp.Value + + + + 4.96062cm + + + true + true + + + + + =Fields!grp.Value + + + + + + + grp + + + #9eb6e4 + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + + =Fields!manu.Value + + + + + =Fields!manu.Value + + + + 2.5cm + + + true + true + + + + + =Fields!manu.Value + + + + + + + manu + + + #c6daf8 + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + + =Fields!model.Value + + + + + =Fields!model.Value + + + + 2.79104cm + + + true + true + + + + + =Fields!model.Value + + + + + + + model + + + #c6daf8 + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + true + grp + + + + + 2.5cm + + + true + true + + + + + = "Total (" & count(Fields!manu.Value) & ")" + + + + + + + Textbox14 + + + #9eb6e4 + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + 2.79104cm + + + true + true + + + + + + + + + + + + Textbox33 + + + #9eb6e4 + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + Before + + + + + + 4.96062cm + + + true + true + + + + + Total + + + + + + + Textbox10 + + + #7292cc + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + 2.5cm + + + true + true + + + + + + + + + + + + Textbox11 + + + #7292cc + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + 2.79104cm + + + true + true + + + + + + + + + + + + Textbox34 + + + #7292cc + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + Before + + + + DataSet1 + 3cm + 12.44708cm + + + 맑은 고딕 + 8pt + + + + 1.65354in +