diff --git a/DBRegister/DBRegister.csproj b/DBRegister/DBRegister.csproj
index fb431fc..f47c4f5 100644
--- a/DBRegister/DBRegister.csproj
+++ b/DBRegister/DBRegister.csproj
@@ -1,188 +1,192 @@
-
-
- Debug
- x86
- 8.0.30703
- 2.0
- {A10E6D7A-8166-4792-8178-6899564E7ECB}
- WinExe
- Properties
- DBRegister
- DBRegister
- v4.0
- 512
-
- publish\
- true
- Disk
- false
- Foreground
- 7
- Days
- false
- false
- true
- 0
- 1.0.0.%2a
- false
- false
- true
-
-
-
-
- x86
- true
- full
- false
- output\
- DEBUG;TRACE
- prompt
- 4
-
-
- x86
- pdbonly
- true
- output\
- TRACE
- prompt
- 4
-
-
-
- ..\packages\EntityFramework.6.0.0\lib\net40\EntityFramework.dll
-
-
- ..\packages\EntityFramework.6.0.0\lib\net40\EntityFramework.SqlServer.dll
-
-
-
-
-
-
-
-
- ..\packages\System.Data.SQLite.Core.1.0.105.2\lib\net40\System.Data.SQLite.dll
-
-
- ..\packages\System.Data.SQLite.EF6.1.0.105.2\lib\net40\System.Data.SQLite.EF6.dll
-
-
- ..\packages\System.Data.SQLite.Linq.1.0.105.2\lib\net40\System.Data.SQLite.Linq.dll
-
-
-
-
-
-
-
-
-
- ..\packages\ZXing.Net.0.15.0\lib\net40\zxing.dll
-
-
- ..\packages\ZXing.Net.0.15.0\lib\net40\zxing.presentation.dll
-
-
-
-
- Form
-
-
- MainForm.cs
-
-
-
-
- Form
-
-
- RegistedList.cs
-
-
- Form
-
-
- RegistedUser.cs
-
-
- MainForm.cs
-
-
- ResXFileCodeGenerator
- Resources.Designer.cs
- Designer
-
-
- True
- Resources.resx
- True
-
-
- RegistedList.cs
-
-
- RegistedUser.cs
-
-
-
-
- SettingsSingleFileGenerator
- Settings.Designer.cs
-
-
- True
- Settings.settings
- True
-
-
-
-
- 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
- Windows インストーラー 3.1
- true
-
-
-
-
- {dd100c66-ddb6-4a3f-a421-8a02a9e92484}
- KidsPosDLL
-
-
-
-
-
-
-
-
-
+
- このプロジェクトは、このコンピューター上にない NuGet パッケージを参照しています。それらのパッケージをダウンロードするには、[NuGet パッケージの復元] を使用します。詳細については、http://go.microsoft.com/fwlink/?LinkID=322105 を参照してください。見つからないファイルは {0} です。
+ Debug
+ x86
+ 8.0.30703
+ 2.0
+ {A10E6D7A-8166-4792-8178-6899564E7ECB}
+ WinExe
+ Properties
+ DBRegister
+ DBRegister
+ v4.8
+ 512
+
+ publish\
+ true
+ Disk
+ false
+ Foreground
+ 7
+ Days
+ false
+ false
+ true
+ 0
+ 1.0.0.%2a
+ false
+ false
+ true
+
+
+ latest
+ enable
-
-
-
+
+ x86
+ true
+ full
+ false
+ output\
+ DEBUG;TRACE
+ prompt
+ 4
+ false
+
+
+ x86
+ pdbonly
+ true
+ output\
+ TRACE
+ prompt
+ 4
+ false
+
+
+
+ ..\packages\EntityFramework.6.0.0\lib\net40\EntityFramework.dll
+
+
+ ..\packages\EntityFramework.6.0.0\lib\net40\EntityFramework.SqlServer.dll
+
+
+
+
+
+
+
+
+ ..\packages\System.Data.SQLite.Core.1.0.105.2\lib\net40\System.Data.SQLite.dll
+
+
+ ..\packages\System.Data.SQLite.EF6.1.0.105.2\lib\net40\System.Data.SQLite.EF6.dll
+
+
+ ..\packages\System.Data.SQLite.Linq.1.0.105.2\lib\net40\System.Data.SQLite.Linq.dll
+
+
+
+
+
+
+
+
+
+ ..\packages\ZXing.Net.0.15.0\lib\net40\zxing.dll
+
+
+ ..\packages\ZXing.Net.0.15.0\lib\net40\zxing.presentation.dll
+
+
+
+
+ Form
+
+
+ TopScreenForm.cs
+
+
+
+
+ Form
+
+
+ RegistedList.cs
+
+
+ Form
+
+
+ RegistedUser.cs
+
+
+ TopScreenForm.cs
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+ Designer
+
+
+ True
+ Resources.resx
+ True
+
+
+ RegistedList.cs
+
+
+ RegistedUser.cs
+
+
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+ True
+ Settings.settings
+ True
+
+
+
+
+ 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
+ Windows インストーラー 3.1
+ true
+
+
+
+
+ {dd100c66-ddb6-4a3f-a421-8a02a9e92484}
+ KidsPosDLL
+
+
+
+
+
+
+
+
+
+
+ このプロジェクトは、このコンピューター上にない NuGet パッケージを参照しています。それらのパッケージをダウンロードするには、[NuGet パッケージの復元] を使用します。詳細については、http://go.microsoft.com/fwlink/?LinkID=322105 を参照してください。見つからないファイルは {0} です。
+
+
+
+
\ No newline at end of file
diff --git a/DBRegister/Program.cs b/DBRegister/Program.cs
index f83cb50..a42a613 100644
--- a/DBRegister/Program.cs
+++ b/DBRegister/Program.cs
@@ -1,19 +1,20 @@
using System;
using System.Windows.Forms;
+using DBRegister.Sources;
namespace DBRegister
{
internal static class Program
{
///
- /// アプリケーションのメイン エントリ ポイントです。
+ /// アプリケーションのメイン エントリ ポイントです。
///
[STAThread]
private static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
- Application.Run(new MainForm());
+ Application.Run(new TopScreenForm());
}
}
-}
+}
\ No newline at end of file
diff --git a/DBRegister/Properties/AssemblyInfo.cs b/DBRegister/Properties/AssemblyInfo.cs
index 45e4f33..08280c9 100644
--- a/DBRegister/Properties/AssemblyInfo.cs
+++ b/DBRegister/Properties/AssemblyInfo.cs
@@ -32,4 +32,4 @@
// 既定値にすることができます:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
\ No newline at end of file
diff --git a/DBRegister/Properties/Resources.Designer.cs b/DBRegister/Properties/Resources.Designer.cs
index 06eac4f..a5bb8b9 100644
--- a/DBRegister/Properties/Resources.Designer.cs
+++ b/DBRegister/Properties/Resources.Designer.cs
@@ -1,50 +1,44 @@
//------------------------------------------------------------------------------
//
-// このコードはツールによって生成されました。
-// ランタイム バージョン:4.0.30319.18063
+// This code was generated by a tool.
//
-// このファイルへの変更は、以下の状況下で不正な動作の原因になったり、
-// コードが再生成されるときに損失したりします。
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
//
//------------------------------------------------------------------------------
-using System.CodeDom.Compiler;
-using System.ComponentModel;
-using System.Diagnostics;
-using System.Diagnostics.CodeAnalysis;
-using System.Globalization;
-using System.Resources;
-using System.Runtime.CompilerServices;
-
namespace DBRegister.Properties {
+ using System;
+
+
///
- /// ローカライズされた文字列などを検索するための、厳密に型指定されたリソース クラスです。
+ /// A strongly-typed resource class, for looking up localized strings, etc.
///
- // このクラスは StronglyTypedResourceBuilder クラスが ResGen
- // または Visual Studio のようなツールを使用して自動生成されました。
- // メンバーを追加または削除するには、.ResX ファイルを編集して、/str オプションと共に
- // ResGen を実行し直すか、または VS プロジェクトをビルドし直します。
- [GeneratedCode("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
- [DebuggerNonUserCode()]
- [CompilerGenerated()]
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // class via a tool like ResGen or Visual Studio.
+ // To add or remove a member, edit your .ResX file then rerun ResGen
+ // with the /str option, or rebuild your VS project.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
- private static ResourceManager resourceMan;
+ private static global::System.Resources.ResourceManager resourceMan;
- private static CultureInfo resourceCulture;
+ private static global::System.Globalization.CultureInfo resourceCulture;
- [SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
///
- /// このクラスで使用されているキャッシュされた ResourceManager インスタンスを返します。
+ /// Returns the cached ResourceManager instance used by this class.
///
- [EditorBrowsable(EditorBrowsableState.Advanced)]
- internal static ResourceManager ResourceManager {
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
get {
- if (ReferenceEquals(resourceMan, null)) {
- var temp = new ResourceManager("DBRegister.Properties.Resources", typeof(Resources).Assembly);
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("DBRegister.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
@@ -52,11 +46,11 @@ internal static ResourceManager ResourceManager {
}
///
- /// 厳密に型指定されたこのリソース クラスを使用して、すべての検索リソースに対し、
- /// 現在のスレッドの CurrentUICulture プロパティをオーバーライドします。
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
///
- [EditorBrowsable(EditorBrowsableState.Advanced)]
- internal static CultureInfo Culture {
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
diff --git a/DBRegister/Properties/Resources.resx b/DBRegister/Properties/Resources.resx
index af7dbeb..3627ee6 100644
--- a/DBRegister/Properties/Resources.resx
+++ b/DBRegister/Properties/Resources.resx
@@ -1,117 +1,123 @@
-
-
-
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
-
+
+
+
+ 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/DBRegister/Properties/Settings.Designer.cs b/DBRegister/Properties/Settings.Designer.cs
index 9c76bd7..fe78761 100644
--- a/DBRegister/Properties/Settings.Designer.cs
+++ b/DBRegister/Properties/Settings.Designer.cs
@@ -1,25 +1,20 @@
//------------------------------------------------------------------------------
//
-// このコードはツールによって生成されました。
-// ランタイム バージョン:4.0.30319.18063
+// This code was generated by a tool.
//
-// このファイルへの変更は、以下の状況下で不正な動作の原因になったり、
-// コードが再生成されるときに損失したりします。
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
//
//------------------------------------------------------------------------------
-using System.CodeDom.Compiler;
-using System.Configuration;
-using System.Runtime.CompilerServices;
-
namespace DBRegister.Properties {
- [CompilerGenerated()]
- [GeneratedCode("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
- internal sealed partial class Settings : ApplicationSettingsBase {
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
- private static Settings defaultInstance = ((Settings)(Synchronized(new Settings())));
+ private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
diff --git a/DBRegister/Properties/Settings.settings b/DBRegister/Properties/Settings.settings
index 3964565..796d34b 100644
--- a/DBRegister/Properties/Settings.settings
+++ b/DBRegister/Properties/Settings.settings
@@ -1,7 +1,7 @@
-
-
-
-
+
+
+
+
diff --git a/DBRegister/Sources/MainForm.resx b/DBRegister/Sources/MainForm.resx
deleted file mode 100644
index 7080a7d..0000000
--- a/DBRegister/Sources/MainForm.resx
+++ /dev/null
@@ -1,120 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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/DBRegister/Sources/RegistedList.cs b/DBRegister/Sources/RegistedList.cs
index eb1e292..c0af79e 100644
--- a/DBRegister/Sources/RegistedList.cs
+++ b/DBRegister/Sources/RegistedList.cs
@@ -12,8 +12,14 @@ namespace DBRegister
{
public partial class RegistedList : Form
{
+ private readonly DataTable _dataTable = new DataTable();
+ private readonly DataTable _dataTable2 = new DataTable();
+ private readonly DataTable _dataTable3 = new DataTable();
+ private readonly DataTable _dataTable4 = new DataTable();
private readonly List _selectedItem = new List();
+ private int _count;
+
public RegistedList()
{
InitializeComponent();
@@ -25,10 +31,7 @@ public RegistedList()
dataGridView3.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
dataGridView4.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
}
- private readonly DataTable _dataTable = new DataTable();
- private readonly DataTable _dataTable2 = new DataTable();
- private readonly DataTable _dataTable3 = new DataTable();
- private readonly DataTable _dataTable4 = new DataTable();
+
protected override void OnLoad(EventArgs e)
{
dataGridView1.DataSource = _dataTable;
@@ -37,19 +40,20 @@ protected override void OnLoad(EventArgs e)
dataGridView4.DataSource = _dataTable4;
base.OnLoad(e);
}
+
private void Registed_List_Load(object sender, EventArgs e)
{
var db = new Database();
db.InsertView(_dataTable,
- "SELECT il.id,il.barcode AS バーコード,sk.Name AS お店, il.Name AS 商品名,ig.Name AS ジャンル,il.price AS 値段 FROM "
- + TableList.Item + " AS il,"
- + TableList.ItemGenre + " AS ig," + TableList.Store +" AS sk WHERE il.genre = ig.id AND il.shop = sk.id;");
+ "SELECT il.id,il.barcode AS バーコード,sk.Name AS お店, il.Name AS 商品名,ig.Name AS ジャンル,il.price AS 値段 FROM "
+ + TableList.Item + " AS il,"
+ + TableList.ItemGenre + " AS ig," + TableList.Store +
+ " AS sk WHERE il.genre = ig.id AND il.shop = sk.id;");
db.InsertView(_dataTable2);
db.InsertView(_dataTable3);
db.InsertView(_dataTable4);
}
- private int _count;
private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
{
Print.GetInstance().PrintItemBarcode(_selectedItem[_count], print_grid.Checked, e);
@@ -65,8 +69,8 @@ private void button2_Click(object sender, EventArgs e)
var li = new List();
var db = new Database();
foreach (DataGridViewCell r in dataGridView2.SelectedCells)
- {
- if(0 > li.BinarySearch(r.RowIndex)){
+ if (0 > li.BinarySearch(r.RowIndex))
+ {
var index = r.RowIndex;
li.Add(r.RowIndex);
li.Sort();
@@ -79,7 +83,7 @@ private void button2_Click(object sender, EventArgs e)
dataGridView2.Rows[index].Cells[2].Value.ToString(),
store.Name));
}
- }
+
if (_selectedItem.Count > 0)
{
var pd = new PrintDocument();
@@ -104,6 +108,7 @@ private void button1_Click(object sender, EventArgs e)
r.Cells[2].Value.ToString(),
store.Name));
}
+
if (_selectedItem.Count > 0)
{
var pd = new PrintDocument();
@@ -115,4 +120,4 @@ private void button1_Click(object sender, EventArgs e)
}
}
}
-}
+}
\ No newline at end of file
diff --git a/DBRegister/Sources/RegistedList.resx b/DBRegister/Sources/RegistedList.resx
index d67e863..b16e4ee 100644
--- a/DBRegister/Sources/RegistedList.resx
+++ b/DBRegister/Sources/RegistedList.resx
@@ -1,123 +1,130 @@
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
-
-
- 17, 17
-
+
+
+
+ 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
+
+
+
+ 17, 17
+
\ No newline at end of file
diff --git a/DBRegister/Sources/RegistedUser.cs b/DBRegister/Sources/RegistedUser.cs
index 9822a7a..f183b3a 100644
--- a/DBRegister/Sources/RegistedUser.cs
+++ b/DBRegister/Sources/RegistedUser.cs
@@ -9,6 +9,7 @@ namespace DBRegister
public partial class RegistedUser : Form
{
private readonly DataTable _table = new DataTable();
+
public RegistedUser()
{
InitializeComponent();
@@ -22,9 +23,10 @@ protected override void OnLoad(EventArgs e)
mGridView.DataSource = _table;
base.OnLoad(e);
}
+
private void RegistedUser_Load(object sender, EventArgs e)
{
new Database().InsertView(_table);
}
}
-}
+}
\ No newline at end of file
diff --git a/DBRegister/Sources/RegistedUser.resx b/DBRegister/Sources/RegistedUser.resx
index 7080a7d..07f66d5 100644
--- a/DBRegister/Sources/RegistedUser.resx
+++ b/DBRegister/Sources/RegistedUser.resx
@@ -1,120 +1,126 @@
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
-
+
+
+
+ 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/DBRegister/Sources/MainForm.Designer.cs b/DBRegister/Sources/TopScreenForm.Designer.cs
similarity index 99%
rename from DBRegister/Sources/MainForm.Designer.cs
rename to DBRegister/Sources/TopScreenForm.Designer.cs
index ac3bbf8..54ed2cd 100644
--- a/DBRegister/Sources/MainForm.Designer.cs
+++ b/DBRegister/Sources/TopScreenForm.Designer.cs
@@ -3,9 +3,9 @@
using System.Drawing;
using System.Windows.Forms;
-namespace DBRegister
+namespace DBRegister.Sources
{
- partial class MainForm
+ partial class TopScreenForm
{
///
/// 必要なデザイナー変数です。
diff --git a/DBRegister/Sources/MainForm.cs b/DBRegister/Sources/TopScreenForm.cs
similarity index 82%
rename from DBRegister/Sources/MainForm.cs
rename to DBRegister/Sources/TopScreenForm.cs
index 72fc51e..d1778ac 100644
--- a/DBRegister/Sources/MainForm.cs
+++ b/DBRegister/Sources/TopScreenForm.cs
@@ -11,9 +11,9 @@
using KidsPos.Util;
using Microsoft.VisualBasic.FileIO;
-namespace DBRegister
+namespace DBRegister.Sources
{
- public partial class MainForm : Form
+ public partial class TopScreenForm : Form
{
public enum LoadType
{
@@ -21,7 +21,7 @@ public enum LoadType
User
}
- public MainForm()
+ public TopScreenForm()
{
InitializeComponent();
new Database().CreateTable();
@@ -31,16 +31,17 @@ public MainForm()
PosInformation.GetInstance().Init(this);
}
+ private int CntSuccess { get; set; }
+ private int CntMissing { get; set; }
+
private void Form1_Load(object sender, EventArgs e)
{
- var dt = DateTime.Now;
- var stPrompt1 = dt.ToString("yyyy");
- lKidsDate.Text = stPrompt1 + @" 年のキッズ用に登録されます" + Environment.NewLine;
- lKidsDate.Text += @"出力ユーザバーコード例: " + BarcodeConfig.Prefix +
- BarcodeConfig.Staff + stPrompt1.Substring(2) + @"0001" +
- Environment.NewLine;
- lKidsDate.Text += @"出力商品バーコード例 : " + BarcodeConfig.Prefix +
- BarcodeConfig.Item + @"010001";
+ var currentYear = DateTime.Now.ToString("yyyy");
+ lKidsDate.Text = $"""
+ {currentYear} 年のキッズ用に登録されます
+ 出力ユーザバーコード例: {BarcodeConfig.Prefix}{BarcodeConfig.Staff}{currentYear.Substring(2)}0001
+ 出力商品バーコード例 : {BarcodeConfig.Prefix}{BarcodeConfig.Item}010001
+ """;
}
private void load_csv_file_Click(object sender, EventArgs e)
@@ -53,10 +54,7 @@ private void button2_Click(object sender, EventArgs e)
load_csv(LoadType.User);
}
- public int CntSuccess { get; private set; }
- public int CntMissing { get; private set; }
-
- public void load_csv(LoadType type)
+ private void load_csv(LoadType type)
{
var al = new ArrayList();
@@ -76,21 +74,19 @@ public void load_csv(LoadType type)
{
// 1行読み込み
var row = parser.ReadFields();
-
+
switch (type)
{
case LoadType.Item:
if (row != null)
- {
foreach (var field in row)
{
var f = field;
f = f.Replace("\r\n", "n");
f = f.Replace(" ", "");
if (f != "") al.Add(f);
-
}
- }
+
break;
case LoadType.User:
if (row != null && CheckFormatUser(row))
@@ -104,16 +100,20 @@ public void load_csv(LoadType type)
{
CntMissing++;
}
+
break;
+ default:
+ throw new ArgumentOutOfRangeException(nameof(type), type, null);
}
}
+
switch (type)
{
case LoadType.Item:
RegistItem(al);
break;
case LoadType.User:
- RegistUser(al);
+ RegistrationUser(al);
break;
}
}
@@ -138,9 +138,10 @@ public bool RegistItem(ArrayList csv)
storePosition = i;
break;
}
- if (storePosition == -1)throw new InvalidDataException();
+
+ if (storePosition == -1) throw new InvalidDataException();
var storeName = csv[storePosition + 1].ToString();
- int storeNum = db.find_store(storeName);
+ var storeNum = db.find_store(storeName);
if (storeNum == -1)
{
isFirst = true;
@@ -164,35 +165,30 @@ public bool RegistItem(ArrayList csv)
//商品ジャンルの行から、商品リストまでの行を読み取って、その間をデータベースに追加する。
var itemPosition = -1;
for (var i = storePosition; i < csv.Count; i++)
- {
if (csv[i].ToString().StartsWith("#商品ジャンル"))
{
itemPosition = i;
break;
}
- }
+
var itemList = -1;
for (var i = storePosition; i < csv.Count; i++)
- {
if (csv[i].ToString().StartsWith("##商品リスト"))
{
itemList = i;
break;
}
- }
if (itemPosition == itemList) throw new InvalidDataException();
-
+
var g = db.SelectMulti($"WHERE store = '{storeNum}'").Select(_ => _.Name).ToList();
var tempGenre = new List();
for (var i = itemPosition + 1; i < itemList; i++)
{
var genreName = csv[i].ToString();
- if (g.IndexOf(genreName) == -1)
- {
- tempGenre.Add(new ItemGenreObject(genreName, storeNum));
- }
+ if (g.IndexOf(genreName) == -1) tempGenre.Add(new ItemGenreObject(genreName, storeNum));
}
+
db.Insert(tempGenre);
/* ---- ここまで ジャンルの追加 ---- */
@@ -206,6 +202,7 @@ public bool RegistItem(ArrayList csv)
itemPosition = i;
break;
}
+
if (itemPosition == -1) throw new InvalidDataException();
var columnCount = 0;
@@ -214,6 +211,7 @@ public bool RegistItem(ArrayList csv)
if (!csv[i].ToString().StartsWith("#")) continue;
columnCount++;
}
+
if (columnCount == 0) throw new InvalidDataException();
var list = new List();
var count = db.Count();
@@ -222,25 +220,23 @@ public bool RegistItem(ArrayList csv)
var name = csv[i].ToString();
var genreName = csv[i + 1].ToString();
var price = Convert.ToInt32(csv[i + 2].ToString());
- int itemNum = db.find_item(name, price, storeNum);
+ var itemNum = db.find_item(name, price, storeNum);
if (itemNum == -1)
{
count++;
if (db.find_ganre(genreName, storeNum) == -1)
{
//商品登録の時に、変なジャンルが混ざってたら・・・
- var dr = MessageBox.Show(@"未定義のジャンルがありました。追加しますか?" + Environment.NewLine + csv[i + 1], @"読み込みエラー", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
+ var dr = MessageBox.Show(@"未定義のジャンルがありました。追加しますか?" + Environment.NewLine + csv[i + 1],
+ @"読み込みエラー", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (dr == DialogResult.Yes)
- {
db.Insert(new ItemGenreObject(csv[i * 1].ToString(), storeNum));
- }
else
- {
continue;
- }
}
+
list.Add(new ItemObject(
- new BarcodeObject(storeNum, count).Barcode, //barcode
+ new BarcodeObject(storeNum, count).Barcode, //barcode
name, //name
price, //price
storeNum, //shop
@@ -248,6 +244,7 @@ public bool RegistItem(ArrayList csv)
);
}
}
+
db.Insert(list);
/* ---- ここまで 商品リストの追加 ---- */
}
@@ -258,20 +255,23 @@ public bool RegistItem(ArrayList csv)
@"・CSV形式であるか" + Environment.NewLine +
@"・しっかりフォーマットに沿っているか" + Environment.NewLine +
@"を確認してください", @"読み込みエラー", MessageBoxButtons.OK, MessageBoxIcon.Question
- );
+ );
return false;
}
finally
{
- if(isFirst) MessageBox.Show(@"何らかの原因で登録できませんでした。");
+ if (isFirst) MessageBox.Show(@"何らかの原因で登録できませんでした。");
else MessageBox.Show(@"何らかの原因で登録できませんでした。");
}
+
return true;
}
- public void RegistUser(ArrayList csv)
+
+ public void RegistrationUser(ArrayList csv)
{
var result = new Database()
- .Insert((from string row in csv select row.Split(',') into s select new StaffObject(s[0], s[1])).ToList());
+ .Insert(
+ (from string row in csv select row.Split(',') into s select new StaffObject(s[0], s[1])).ToList());
MessageBox.Show(result ? @"商品リストを更新しました" : @"??");
}
@@ -289,4 +289,4 @@ private void button3_Click(object sender, EventArgs e)
rl.Dispose();
}
}
-}
+}
\ No newline at end of file
diff --git a/DBRegister/Sources/TopScreenForm.resx b/DBRegister/Sources/TopScreenForm.resx
new file mode 100644
index 0000000..07f66d5
--- /dev/null
+++ b/DBRegister/Sources/TopScreenForm.resx
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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/DBRegister/app.config b/DBRegister/app.config
index c38b993..a490781 100644
--- a/DBRegister/app.config
+++ b/DBRegister/app.config
@@ -1,35 +1,45 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DBRegister/packages.config b/DBRegister/packages.config
index 07ddef7..0ada70e 100644
--- a/DBRegister/packages.config
+++ b/DBRegister/packages.config
@@ -1,8 +1,8 @@
-
-
-
-
-
+
+
+
+
+
\ No newline at end of file
diff --git a/KidsPosDLL/App.config b/KidsPosDLL/App.config
index 2d46953..afdde09 100644
--- a/KidsPosDLL/App.config
+++ b/KidsPosDLL/App.config
@@ -1,24 +1,37 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/KidsPosDLL/KidsPosDLL.csproj b/KidsPosDLL/KidsPosDLL.csproj
index aca6d47..9ba96a3 100644
--- a/KidsPosDLL/KidsPosDLL.csproj
+++ b/KidsPosDLL/KidsPosDLL.csproj
@@ -1,119 +1,123 @@
-
-
- Debug
- AnyCPU
- 8.0.30703
- 2.0
- {DD100C66-DDB6-4A3F-A421-8A02A9E92484}
- Library
- Properties
- KidsPos
- KidsPos
- v4.0
- 512
-
-
-
-
-
- true
- full
- false
- output\
- DEBUG;TRACE
- prompt
- 4
-
-
- pdbonly
- true
- output\
- TRACE
- prompt
- 4
-
-
- false
-
-
-
- ..\packages\EntityFramework.6.0.0\lib\net40\EntityFramework.dll
-
-
- ..\packages\EntityFramework.6.0.0\lib\net40\EntityFramework.SqlServer.dll
-
-
-
-
-
-
- ..\packages\System.Data.SQLite.Core.1.0.105.2\lib\net40\System.Data.SQLite.dll
-
-
- ..\packages\System.Data.SQLite.EF6.1.0.105.2\lib\net40\System.Data.SQLite.EF6.dll
-
-
- ..\packages\System.Data.SQLite.Linq.1.0.105.2\lib\net40\System.Data.SQLite.Linq.dll
-
-
-
-
-
-
-
-
-
- ..\packages\ZXing.Net.0.15.0\lib\net40\zxing.dll
-
-
- ..\packages\ZXing.Net.0.15.0\lib\net40\zxing.presentation.dll
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
- このプロジェクトは、このコンピューター上にない NuGet パッケージを参照しています。それらのパッケージをダウンロードするには、[NuGet パッケージの復元] を使用します。詳細については、http://go.microsoft.com/fwlink/?LinkID=322105 を参照してください。見つからないファイルは {0} です。
+ Debug
+ AnyCPU
+ 8.0.30703
+ 2.0
+ {DD100C66-DDB6-4A3F-A421-8A02A9E92484}
+ Library
+ Properties
+ KidsPos
+ KidsPos
+ v4.8
+ 512
+
+
+
+ latestmajor
+ enable
-
-
-
+
+ true
+ full
+ false
+ output\
+ DEBUG;TRACE
+ prompt
+ 4
+ false
+
+
+ pdbonly
+ true
+ output\
+ TRACE
+ prompt
+ 4
+ false
+
+
+ false
+
+
+
+ ..\packages\EntityFramework.6.0.0\lib\net40\EntityFramework.dll
+
+
+ ..\packages\EntityFramework.6.0.0\lib\net40\EntityFramework.SqlServer.dll
+
+
+
+
+
+
+ ..\packages\System.Data.SQLite.Core.1.0.105.2\lib\net40\System.Data.SQLite.dll
+
+
+ ..\packages\System.Data.SQLite.EF6.1.0.105.2\lib\net40\System.Data.SQLite.EF6.dll
+
+
+ ..\packages\System.Data.SQLite.Linq.1.0.105.2\lib\net40\System.Data.SQLite.Linq.dll
+
+
+
+
+
+
+
+
+
+ ..\packages\ZXing.Net.0.15.0\lib\net40\zxing.dll
+
+
+ ..\packages\ZXing.Net.0.15.0\lib\net40\zxing.presentation.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ このプロジェクトは、このコンピューター上にない NuGet パッケージを参照しています。それらのパッケージをダウンロードするには、[NuGet パッケージの復元] を使用します。詳細については、http://go.microsoft.com/fwlink/?LinkID=322105 を参照してください。見つからないファイルは {0} です。
+
+
+
+
\ No newline at end of file
diff --git a/KidsPosDLL/Properties/AssemblyInfo.cs b/KidsPosDLL/Properties/AssemblyInfo.cs
index 97e083b..cbcbc3a 100644
--- a/KidsPosDLL/Properties/AssemblyInfo.cs
+++ b/KidsPosDLL/Properties/AssemblyInfo.cs
@@ -32,4 +32,4 @@
// 既定値にすることができます:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
\ No newline at end of file
diff --git a/KidsPosDLL/Sources/BarcodeObject.cs b/KidsPosDLL/Sources/BarcodeObject.cs
index 2929b24..8958687 100644
--- a/KidsPosDLL/Sources/BarcodeObject.cs
+++ b/KidsPosDLL/Sources/BarcodeObject.cs
@@ -8,23 +8,20 @@ namespace KidsPos.Object
{
public class BarcodeObject
{
- private readonly string _store;
private readonly string _itemNum;
- public string Barcode { get; private set; }
+ private readonly string _store;
+
///
- /// Systemバーコード, 生成済みバーコード
+ /// Systemバーコード, 生成済みバーコード
///
///
public BarcodeObject(string barcode)
{
if (barcode.Length == BarcodeConfig.Item.Length)
- {
- barcode = BarcodeConfig.Prefix + barcode + 0.ToString("D" + (BarcodeConfig.BarcodeNum - BarcodeConfig.Prefix.Length - BarcodeConfig.Item.Length));
- }
- else if (barcode.Length != BarcodeConfig.BarcodeNum)
- {
- throw new InvalidDataException();
- }
+ barcode = BarcodeConfig.Prefix + barcode + 0.ToString("D" + (BarcodeConfig.BarcodeNum -
+ BarcodeConfig.Prefix.Length -
+ BarcodeConfig.Item.Length));
+ else if (barcode.Length != BarcodeConfig.BarcodeNum) throw new InvalidDataException();
Barcode = barcode;
}
@@ -34,18 +31,18 @@ public BarcodeObject(int storeNum, int itemNum)
_itemNum = itemNum.ToString("D" + BarcodeConfig.DataLength);
Gen();
}
+
+ public string Barcode { get; private set; }
+
private void Gen()
{
var barcode = BarcodeConfig.Prefix + BarcodeConfig.Item + _store + _itemNum;
if (barcode.Length == BarcodeConfig.BarcodeNum)
- {
Barcode = barcode;
- }
else
- {
throw new Exception("作られたバーコードの長さがおかしいなぁ・・" + Environment.NewLine + barcode);
- }
}
+
public Bitmap GetBitmap()
{
var writer = new BarcodeWriter();
@@ -53,4 +50,4 @@ public Bitmap GetBitmap()
return writer.Write("A" + Barcode + "A");
}
}
-}
+}
\ No newline at end of file
diff --git a/KidsPosDLL/Sources/Config.cs b/KidsPosDLL/Sources/Config.cs
index 1f3dd6e..b4e5f1e 100644
--- a/KidsPosDLL/Sources/Config.cs
+++ b/KidsPosDLL/Sources/Config.cs
@@ -8,19 +8,21 @@ public class Config
public static bool IsPrintEnable = false;
public static bool IsClient = true;
private static readonly Config Instance = new Config();
+ public Hashtable TargetIp = new Hashtable();
+
private Config()
{
-
}
+ public int StoreNumber { get; set; }
+ public int TargetPort { get; set; }
+ public StoreObject Store { get; set; }
+
public static Config GetInstance()
{
return Instance;
}
- public int StoreNumber { get; set; }
- public Hashtable TargetIp = new Hashtable();
- public int TargetPort { get; set; }
- public StoreObject Store { get; set; }
+
public void Init(int storeNumber, int targetPort, Hashtable hostList)
{
TargetPort = targetPort;
@@ -37,4 +39,4 @@ public void Init(int storeNumber, int targetPort, Hashtable hostList)
}
}
}
-}
+}
\ No newline at end of file
diff --git a/KidsPosDLL/Sources/Database/ItemGenreObject.cs b/KidsPosDLL/Sources/Database/ItemGenreObject.cs
index 8b56c81..619abb4 100644
--- a/KidsPosDLL/Sources/Database/ItemGenreObject.cs
+++ b/KidsPosDLL/Sources/Database/ItemGenreObject.cs
@@ -5,9 +5,6 @@ namespace KidsPos.Object.Database
{
public class ItemGenreObject : RecordObject
{
- public string Name { get; private set; }
- public int StoreNum { get; private set; }
-
public ItemGenreObject(string name, int storeNum)
: base(DbPath.ItemGenre)
{
@@ -16,7 +13,14 @@ public ItemGenreObject(string name, int storeNum)
GenerateInsertQuery();
}
- public ItemGenreObject(SQLiteDataReader reader) : base(DbPath.ItemGenre, reader) { SetData(); }
+ public ItemGenreObject(SQLiteDataReader reader) : base(DbPath.ItemGenre, reader)
+ {
+ SetData();
+ }
+
+ public string Name { get; private set; }
+ public int StoreNum { get; private set; }
+
public sealed override void SetData()
{
Id = Record.GetInt("id");
@@ -24,6 +28,7 @@ public sealed override void SetData()
StoreNum = Record.GetInt("store");
GenerateInsertQuery();
}
+
public sealed override void GenerateInsertQuery()
{
SetQueryInsert(
@@ -31,4 +36,4 @@ public sealed override void GenerateInsertQuery()
);
}
}
-}
+}
\ No newline at end of file
diff --git a/KidsPosDLL/Sources/Database/ItemObject.cs b/KidsPosDLL/Sources/Database/ItemObject.cs
index 23ce2a7..d25a6bd 100644
--- a/KidsPosDLL/Sources/Database/ItemObject.cs
+++ b/KidsPosDLL/Sources/Database/ItemObject.cs
@@ -5,13 +5,6 @@ namespace KidsPos.Object.Database
{
public class ItemObject : RecordObject
{
- public string Barcode { get; private set; }
- public string Name { get; private set; }
- public int Price { get; private set; }
- public int StoreNum { get; private set; }
- public int GenreNum { get; private set; }
- public string QueryUpdate { get; private set; }
-
public ItemObject(string barcode, string name, int price, int storeNum, int genreNum) : base(DbPath.Item)
{
Barcode = barcode;
@@ -21,7 +14,19 @@ public ItemObject(string barcode, string name, int price, int storeNum, int genr
GenreNum = genreNum;
GenerateInsertQuery();
}
- public ItemObject(SQLiteDataReader reader) : base(DbPath.Item, reader) { SetData(); }
+
+ public ItemObject(SQLiteDataReader reader) : base(DbPath.Item, reader)
+ {
+ SetData();
+ }
+
+ public string Barcode { get; private set; }
+ public string Name { get; private set; }
+ public int Price { get; private set; }
+ public int StoreNum { get; private set; }
+ public int GenreNum { get; private set; }
+ public string QueryUpdate { get; private set; }
+
public sealed override void SetData()
{
Id = Record.GetInt("id");
@@ -43,4 +48,4 @@ public sealed override void GenerateInsertQuery()
$"UPDATE item_list SET name = '{Name}', price = '{Price}' WHERE id = '{Id}'";
}
}
-}
+}
\ No newline at end of file
diff --git a/KidsPosDLL/Sources/Database/RecordObject.cs b/KidsPosDLL/Sources/Database/RecordObject.cs
index 9cf1359..e754fa2 100644
--- a/KidsPosDLL/Sources/Database/RecordObject.cs
+++ b/KidsPosDLL/Sources/Database/RecordObject.cs
@@ -5,11 +5,6 @@ namespace KidsPos.Object.Database
{
public abstract class RecordObject
{
- public string Db { get; private set; }
- public string QueryInsert { get; private set; }
- public SqLiteItem Record { get; private set; }
- public int Id { get; set; }
-
protected RecordObject(string path)
{
Db = path;
@@ -20,6 +15,11 @@ protected RecordObject(string path, SQLiteDataReader reader)
Db = path;
Record = new SqLiteItem(reader);
}
+
+ public string Db { get; private set; }
+ public string QueryInsert { get; private set; }
+ public SqLiteItem Record { get; private set; }
+ public int Id { get; set; }
public abstract void GenerateInsertQuery();
public void SetQueryInsert(string query)
@@ -29,4 +29,4 @@ public void SetQueryInsert(string query)
public abstract void SetData();
}
-}
+}
\ No newline at end of file
diff --git a/KidsPosDLL/Sources/Database/SaleObject.cs b/KidsPosDLL/Sources/Database/SaleObject.cs
index 82f65b7..a65741b 100644
--- a/KidsPosDLL/Sources/Database/SaleObject.cs
+++ b/KidsPosDLL/Sources/Database/SaleObject.cs
@@ -6,15 +6,6 @@ namespace KidsPos.Object.Database
{
public class SaleObject : RecordObject
{
- public string Barcode { get; private set; }
- public string CreatedAt { get; private set; }
- public int Points { get; private set; }
- public int Price { get; private set; }
-
- // カンマ区切りのアイテムID 1, 42, 124, とか
- public string Items { get; private set; }
- public int StoreId {get; private set;}
- public string StaffId {get; private set;}
public SaleObject(int points, int price, string items, int storeId, string staffId) : base(DbPath.Sale)
{
CreatedAt = new Time().GetTime();
@@ -26,7 +17,22 @@ public SaleObject(int points, int price, string items, int storeId, string staff
StaffId = staffId;
GenerateInsertQuery();
}
- public SaleObject(SQLiteDataReader reader) : base(DbPath.Sale, reader) { SetData(); }
+
+ public SaleObject(SQLiteDataReader reader) : base(DbPath.Sale, reader)
+ {
+ SetData();
+ }
+
+ public string Barcode { get; private set; }
+ public string CreatedAt { get; private set; }
+ public int Points { get; private set; }
+ public int Price { get; private set; }
+
+ // カンマ区切りのアイテムID 1, 42, 124, とか
+ public string Items { get; private set; }
+ public int StoreId { get; private set; }
+ public string StaffId { get; private set; }
+
public sealed override void SetData()
{
Id = Record.GetInt("id");
@@ -39,15 +45,17 @@ public sealed override void SetData()
StaffId = Record.GetString("staff");
GenerateInsertQuery();
}
+
private string GenBarcode()
{
- return
- BarcodeConfig.Prefix +
- BarcodeConfig.Sale +
+ return
+ BarcodeConfig.Prefix +
+ BarcodeConfig.Sale +
StoreId.ToString("D" + BarcodeConfig.DataMidLength) +
new Util.Database().Count(
$"where store = '{StoreId}'").ToString("D" + BarcodeConfig.DataLength);
}
+
public sealed override void GenerateInsertQuery()
{
SetQueryInsert(
@@ -56,4 +64,4 @@ public sealed override void GenerateInsertQuery()
);
}
}
-}
+}
\ No newline at end of file
diff --git a/KidsPosDLL/Sources/Database/StaffObject.cs b/KidsPosDLL/Sources/Database/StaffObject.cs
index 168b459..79f032a 100644
--- a/KidsPosDLL/Sources/Database/StaffObject.cs
+++ b/KidsPosDLL/Sources/Database/StaffObject.cs
@@ -5,9 +5,6 @@ namespace KidsPos.Object.Database
{
public class StaffObject : RecordObject
{
- public string Barcode { get; private set; }
- public string Name { get; private set; }
-
public StaffObject(int staffId, string name) : base(DbPath.Staff)
{
Barcode = CreateStaffBarcode(staffId);
@@ -27,6 +24,9 @@ public StaffObject(SQLiteDataReader reader) : base(DbPath.Staff, reader)
SetData();
}
+ public string Barcode { get; private set; }
+ public string Name { get; private set; }
+
public sealed override void SetData()
{
Barcode = Record.GetString("barcode");
@@ -47,4 +47,4 @@ public sealed override void GenerateInsertQuery()
);
}
}
-}
+}
\ No newline at end of file
diff --git a/KidsPosDLL/Sources/Database/StoreObject.cs b/KidsPosDLL/Sources/Database/StoreObject.cs
index ccba058..8fd5179 100644
--- a/KidsPosDLL/Sources/Database/StoreObject.cs
+++ b/KidsPosDLL/Sources/Database/StoreObject.cs
@@ -5,29 +5,36 @@ namespace KidsPos.Object.Database
{
public class StoreObject : RecordObject
{
- public string Name { get; private set; }
-
public StoreObject(string name) : base(DbPath.Store)
{
Name = name;
GenerateInsertQuery();
}
- public StoreObject(SQLiteDataReader reader) : base(DbPath.Store, reader) { SetData(); }
+
+ public StoreObject(SQLiteDataReader reader) : base(DbPath.Store, reader)
+ {
+ SetData();
+ }
+
+ public string Name { get; private set; }
+
public sealed override void SetData()
{
Id = Record.GetInt("id");
Name = Record.GetString("name");
GenerateInsertQuery();
}
+
public sealed override void GenerateInsertQuery()
{
SetQueryInsert(
"INSERT INTO " + TableList.Store + $" (name) values('{Name}')"
);
}
+
public string GetId()
{
return Id.ToString("D" + BarcodeConfig.DataMidLength);
}
}
-}
+}
\ No newline at end of file
diff --git a/KidsPosDLL/Sources/PrintItemObject.cs b/KidsPosDLL/Sources/PrintItemObject.cs
index 262db58..ec009dc 100644
--- a/KidsPosDLL/Sources/PrintItemObject.cs
+++ b/KidsPosDLL/Sources/PrintItemObject.cs
@@ -2,14 +2,15 @@
{
public class PrintItemObject
{
- public BarcodeObject Barcode { get; private set; }
- public string ItemName { get; private set; }
- public string StoreName { get; private set; }
public PrintItemObject(string barcode, string itemName, string storeName)
{
Barcode = new BarcodeObject(barcode);
ItemName = itemName;
StoreName = storeName;
}
+
+ public BarcodeObject Barcode { get; private set; }
+ public string ItemName { get; private set; }
+ public string StoreName { get; private set; }
}
-}
+}
\ No newline at end of file
diff --git a/KidsPosDLL/Sources/Setting/BarcodeConfig.cs b/KidsPosDLL/Sources/Setting/BarcodeConfig.cs
index 86b70db..b6e0bbc 100644
--- a/KidsPosDLL/Sources/Setting/BarcodeConfig.cs
+++ b/KidsPosDLL/Sources/Setting/BarcodeConfig.cs
@@ -39,4 +39,4 @@ public class BarcodeConfig
public const string ModeTake = "30";
public const string ModePractice = "31";
}
-}
+}
\ No newline at end of file
diff --git a/KidsPosDLL/Sources/Setting/Database.cs b/KidsPosDLL/Sources/Setting/Database.cs
index e46ab8e..e2b2502 100644
--- a/KidsPosDLL/Sources/Setting/Database.cs
+++ b/KidsPosDLL/Sources/Setting/Database.cs
@@ -9,28 +9,18 @@ public class TableList
public const string Sale = "sale";
public const string Store = "store";
public const string Staff = "staff";
+
public static string GetTableName()
{
var type = typeof(T);
- if (typeof(ItemObject) == type)
- {
- return Item;
- }
- if (typeof(ItemGenreObject) == type)
- {
- return ItemGenre;
- }
- if (typeof(SaleObject) == type)
- {
- return Sale;
- }
- if (typeof(StoreObject) == type)
- {
- return Store;
- }
+ if (typeof(ItemObject) == type) return Item;
+ if (typeof(ItemGenreObject) == type) return ItemGenre;
+ if (typeof(SaleObject) == type) return Sale;
+ if (typeof(StoreObject) == type) return Store;
return typeof(StaffObject) == type ? Staff : "";
}
}
+
public class DbPath
{
public const string Item = "item.db";
@@ -38,26 +28,15 @@ public class DbPath
public const string Sale = "item.db";
public const string Store = "item.db";
public const string Staff = "staff.db";
+
public static string GetPath()
{
var type = typeof(T);
- if (typeof(ItemObject) == type)
- {
- return Item;
- }
- if (typeof(ItemGenreObject) == type)
- {
- return ItemGenre;
- }
- if (typeof(SaleObject) == type)
- {
- return Sale;
- }
- if (typeof(StoreObject) == type)
- {
- return Store;
- }
+ if (typeof(ItemObject) == type) return Item;
+ if (typeof(ItemGenreObject) == type) return ItemGenre;
+ if (typeof(SaleObject) == type) return Sale;
+ if (typeof(StoreObject) == type) return Store;
return typeof(StaffObject) == type ? Staff : "";
}
}
-}
+}
\ No newline at end of file
diff --git a/KidsPosDLL/Sources/Setting/PosInformation.cs b/KidsPosDLL/Sources/Setting/PosInformation.cs
index 87498a9..39a601a 100644
--- a/KidsPosDLL/Sources/Setting/PosInformation.cs
+++ b/KidsPosDLL/Sources/Setting/PosInformation.cs
@@ -6,29 +6,38 @@ namespace KidsPos.Setting
{
public class PosInformation
{
- public string Year { get;private set; }
- private StaffObject CurrentStaff { get;set; }
private static readonly PosInformation Instance = new PosInformation();
- private PosInformation() { }
+
+ private PosInformation()
+ {
+ }
+
+ public string Year { get; private set; }
+ private StaffObject CurrentStaff { get; set; }
+
public static PosInformation GetInstance()
{
return Instance;
}
+
public void Init(Form context)
{
Year = DateTime.Now.ToString("yyyy").Substring(2);
}
+
public void SetStaff(StaffObject staffObject)
{
CurrentStaff = staffObject;
}
+
public string GetStaffName()
{
return CurrentStaff == null ? "" : CurrentStaff.Name;
}
+
public string GetStaffBarcode()
{
return CurrentStaff == null ? "" : CurrentStaff.Barcode;
}
}
-}
+}
\ No newline at end of file
diff --git a/KidsPosDLL/Sources/Util/Barcode.cs b/KidsPosDLL/Sources/Util/Barcode.cs
index 4f39b76..5c09313 100644
--- a/KidsPosDLL/Sources/Util/Barcode.cs
+++ b/KidsPosDLL/Sources/Util/Barcode.cs
@@ -8,14 +8,13 @@ public static string CreateCheckDigit(string barcode)
var odd = 0;
for (var i = 0; i < barcode.Length; i++)
- {
if (i == 0 || i % 2 == 0) odd += int.Parse(barcode[i].ToString());
else even += int.Parse(barcode[i].ToString());
- }
- var checkDigit = 10 - (even * 3 + odd) % 10; if (checkDigit == 10) checkDigit = 0;
+ var checkDigit = 10 - (even * 3 + odd) % 10;
+ if (checkDigit == 10) checkDigit = 0;
return checkDigit.ToString();
}
}
-}
+}
\ No newline at end of file
diff --git a/KidsPosDLL/Sources/Util/CSV.cs b/KidsPosDLL/Sources/Util/CSV.cs
index 019d479..8ef4bcb 100644
--- a/KidsPosDLL/Sources/Util/CSV.cs
+++ b/KidsPosDLL/Sources/Util/CSV.cs
@@ -12,14 +12,6 @@ namespace KidsPos.Util
public class Csv
{
public const string ConfigPath = "config.csv";
- public static class ConfigHead
- {
- public const string StoreNum = "#StoreNum";
- public const string TargetIp = "#TargetIP";
- public const string TargetPort = "#TargetPort";
- public const string Mode = "#Mode";
- public const string PrintEnable = "#PrintReceipt";
- }
public void LoadConfig()
{
@@ -44,6 +36,7 @@ public void LoadConfig()
sw.WriteLine("-- 接続先ポート (基本的に変えない)");
sw.WriteLine(ConfigHead.TargetPort + ", 10800");
}
+
MessageBox.Show("設定ファイルが見つかりませんでした。" + Environment.NewLine + "新しくファイルを作成しました。");
Config.GetInstance().Init(0, 10800, new Hashtable());
}
@@ -73,24 +66,34 @@ public void LoadConfig()
break;
}
}
+
Config.GetInstance().Init(storeNum, targetHost, table);
}
+
private static List LoadCsv(string path)
{
var ret = new List();
if (!File.Exists(path)) return ret;
using (var sr = new StreamReader(path, Encoding.GetEncoding("Shift_JIS")))
{
- while (!sr.EndOfStream)
- {
- ret.Add(sr.ReadLine()?.Replace(" ","").Replace("\t",""));
- }
+ while (!sr.EndOfStream) ret.Add(sr.ReadLine()?.Replace(" ", "").Replace("\t", ""));
}
+
return ret;
}
+
public static void RunNotePad()
{
- Process.Start("Notepad", Environment.CurrentDirectory + "\\" +ConfigPath);
+ Process.Start("Notepad", Environment.CurrentDirectory + "\\" + ConfigPath);
+ }
+
+ public static class ConfigHead
+ {
+ public const string StoreNum = "#StoreNum";
+ public const string TargetIp = "#TargetIP";
+ public const string TargetPort = "#TargetPort";
+ public const string Mode = "#Mode";
+ public const string PrintEnable = "#PrintReceipt";
}
}
-}
+}
\ No newline at end of file
diff --git a/KidsPosDLL/Sources/Util/Database.cs b/KidsPosDLL/Sources/Util/Database.cs
index b1e6483..f1473ca 100644
--- a/KidsPosDLL/Sources/Util/Database.cs
+++ b/KidsPosDLL/Sources/Util/Database.cs
@@ -14,10 +14,12 @@ public bool Insert(T obj) where T : RecordObject
{
return QueryImpl(obj.Db, obj.QueryInsert);
}
+
public bool Insert(List obj) where T : RecordObject
{
return InsertImpl(obj);
}
+
public void CreateTable()
{
QueryImpl(DbPath.Item, DbQueryCreate.Item);
@@ -26,6 +28,7 @@ public void CreateTable()
QueryImpl(DbPath.Store, DbQueryCreate.Store);
QueryImpl(DbPath.Staff, DbQueryCreate.Staff);
}
+
public List GetItem(string barcode)
{
return SelectMulti();
@@ -37,6 +40,7 @@ public T SelectSingle(string where = "") where T : RecordObject
DbPath.GetPath(),
"SELECT * FROM " + TableList.GetTableName() + " " + where);
}
+
public List SelectMulti(string where = "") where T : RecordObject
{
return QuerySelectImpl(
@@ -55,8 +59,10 @@ public int Count(string where = "")
command.CommandText = "SELECT COUNT(*) FROM " + TableList.GetTableName() + " " + where;
ret = int.Parse(command.ExecuteScalar().ToString());
}
+
conn.Close();
}
+
return ret;
}
@@ -65,11 +71,13 @@ public StoreObject find_store(int id)
var ret = SelectSingle($"WHERE id = '{id}'");
return ret;
}
+
public int find_store(string storeName)
{
var ret = SelectSingle($"WHERE name = '{storeName}'");
return ret?.Id ?? -1;
}
+
public int find_ganre(string genre, int storeNum)
{
var ret = SelectSingle($"WHERE name = '{genre}' AND store = '{storeNum}'");
@@ -82,6 +90,7 @@ public int find_item(string itemName, int price, int storeNum)
$"WHERE name = '{itemName}' AND price = '{price}' AND shop = '{storeNum}'");
return ret?.Id ?? -1;
}
+
public void UpdateItem(ItemObject item)
{
QueryImpl(item.Db, "UPDATE " + TableList.Item +
@@ -102,8 +111,10 @@ private bool QueryImpl(string db, string query)
com.CommandText = query;
com.ExecuteNonQuery();
}
+
sqlt.Commit();
}
+
conn.Close();
}
}
@@ -111,8 +122,10 @@ private bool QueryImpl(string db, string query)
{
return false;
}
+
return true;
}
+
private T QuerySelectImplSingle(string db, string where) where T : RecordObject
{
T ret = null;
@@ -125,17 +138,17 @@ private T QuerySelectImplSingle(string db, string where) where T : RecordObje
{
com.CommandText = where;
var reader = com.ExecuteReader();
- while (reader.Read())
- {
- ret = (T)Activator.CreateInstance(typeof(T), reader);
- }
+ while (reader.Read()) ret = (T)Activator.CreateInstance(typeof(T), reader);
com.Dispose();
}
}
+
conn.Close();
}
+
return ret;
}
+
private static List QuerySelectImpl(string db, string where) where T : RecordObject
{
var ret = new List();
@@ -148,17 +161,17 @@ private static List QuerySelectImpl(string db, string where) where T : Rec
{
com.CommandText = where;
var reader = com.ExecuteReader();
- while (reader.Read())
- {
- ret.Add((T)Activator.CreateInstance(typeof(T), reader));
- }
+ while (reader.Read()) ret.Add((T)Activator.CreateInstance(typeof(T), reader));
com.Dispose();
}
}
+
conn.Close();
}
+
return ret;
}
+
private static bool InsertImpl(IList tbl) where T : RecordObject
{
if (1 > tbl.Count) return true;
@@ -177,8 +190,10 @@ private static bool InsertImpl(IList tbl) where T : RecordObject
com.ExecuteNonQuery();
}
}
+
sqlt.Commit();
}
+
conn.Close();
}
}
@@ -187,23 +202,27 @@ private static bool InsertImpl(IList tbl) where T : RecordObject
Console.WriteLine(e.Message);
return false;
}
+
return true;
}
+
public bool UpdateItem(int id, string name, int price)
{
return QueryImpl(DbPath.Item,
"UPDATE " + TableList.Item + $" SET name = '{name}', price = '{price}' WHERE id = '{id}'");
}
+
// Insertview
public void InsertView(DataTable dt, string query = "") where T : RecordObject
{
using (var con = new SQLiteConnection("Data Source=" + DbPath.GetPath()))
{
using (var adapter = new SQLiteDataAdapter(
- (query.Equals("")) ? "SELECT * FROM " + TableList.GetTableName() : query, con))
+ query.Equals("") ? "SELECT * FROM " + TableList.GetTableName() : query, con))
{
adapter.Fill(dt);
}
+
con.Dispose();
}
}
@@ -211,16 +230,19 @@ public void InsertView(DataTable dt, string query = "") where T : RecordObjec
public class SqLiteItem
{
- private SQLiteDataReader Reader { get; set; }
public SqLiteItem(SQLiteDataReader reader)
{
Reader = reader;
}
+
+ private SQLiteDataReader Reader { get; }
+
public string GetString(string item)
{
if (Reader?[item] == null || Reader[item].Equals("")) return "";
return Reader[item].ToString();
}
+
public int GetInt(string item)
{
if (Reader?[item] == null || Reader[item].Equals("")) return 0;
@@ -231,10 +253,18 @@ public int GetInt(string item)
public class DbQueryCreate
{
- public const string Item = "CREATE TABLE " + TableList.Item + "(id INTEGER PRIMARY KEY AUTOINCREMENT, barcode INTEGER UNIQUE, name TEXT, price INTEGER, shop INT, genre TEXT)";
- public const string ItemGenre = "CREATE TABLE " + TableList.ItemGenre + "(id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, store TEXT)";
- public const string Sale = "CREATE TABLE " + TableList.Sale + "(id INTEGER PRIMARY KEY AUTOINCREMENT, barcode TEXT UNIQUE, created_at TEXT, points INTEGER, price INTEGER, items TEXT, store INTEGER, staff INTEGER)";
- public const string Store = "CREATE TABLE " + TableList.Store + "(id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT)";
+ public const string Item = "CREATE TABLE " + TableList.Item +
+ "(id INTEGER PRIMARY KEY AUTOINCREMENT, barcode INTEGER UNIQUE, name TEXT, price INTEGER, shop INT, genre TEXT)";
+
+ public const string ItemGenre = "CREATE TABLE " + TableList.ItemGenre +
+ "(id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, store TEXT)";
+
+ public const string Sale = "CREATE TABLE " + TableList.Sale +
+ "(id INTEGER PRIMARY KEY AUTOINCREMENT, barcode TEXT UNIQUE, created_at TEXT, points INTEGER, price INTEGER, items TEXT, store INTEGER, staff INTEGER)";
+
+ public const string Store = "CREATE TABLE " + TableList.Store +
+ "(id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT)";
+
public const string Staff = "CREATE TABLE " + TableList.Staff + "(barcode INTEGER PRIMARY KEY, name TEXT)";
}
-}
+}
\ No newline at end of file
diff --git a/KidsPosDLL/Sources/Util/Print.cs b/KidsPosDLL/Sources/Util/Print.cs
index 317048e..ddd9e41 100644
--- a/KidsPosDLL/Sources/Util/Print.cs
+++ b/KidsPosDLL/Sources/Util/Print.cs
@@ -13,8 +13,16 @@ namespace KidsPos.Util
public class Print
{
private static readonly Print Instance = new Print();
- private Print(){}
- public static Print GetInstance() { return Instance; }
+
+ private Print()
+ {
+ }
+
+ public static Print GetInstance()
+ {
+ return Instance;
+ }
+
public void PrintItemBarcode(PrintItemObject obj, bool drawGrid, PrintPageEventArgs e)
{
// 縦横の印刷数
@@ -37,63 +45,60 @@ public void PrintItemBarcode(PrintItemObject obj, bool drawGrid, PrintPageEventA
// グリッド線を印刷のチェックが入っている時
if (drawGrid)
- {
//線引いてみる
for (var j = 0; j < rowNum + 1; j++)
+ for (var i = 0; i < colNum + 1; i++)
{
- for (var i = 0; i < colNum + 1; i++)
- {
- // 線の太さ
- var penSize = 0.1f;
- //横の線
- graphics.DrawLine(new Pen(Brushes.Black, penSize),
- new Point((int)marginPageLeft, (int)(marginPageTop + marginPrintHeight * i)),
- new Point((int)(marginPageLeft + (marginPrintWeight * rowNum)), (int)(marginPageTop + (marginPrintHeight * i))));
-
- //縦の線
- graphics.DrawLine(new Pen(Brushes.Black, penSize),
- new Point((int)(marginPageLeft + (marginPrintWeight * j)), (int)marginPageTop),
- new Point((int)(marginPageLeft + (marginPrintWeight * j)), (int)(marginPageTop + (marginPrintHeight * colNum))));
- }
+ // 線の太さ
+ var penSize = 0.1f;
+ //横の線
+ graphics.DrawLine(new Pen(Brushes.Black, penSize),
+ new Point((int)marginPageLeft, (int)(marginPageTop + marginPrintHeight * i)),
+ new Point((int)(marginPageLeft + marginPrintWeight * rowNum),
+ (int)(marginPageTop + marginPrintHeight * i)));
+
+ //縦の線
+ graphics.DrawLine(new Pen(Brushes.Black, penSize),
+ new Point((int)(marginPageLeft + marginPrintWeight * j), (int)marginPageTop),
+ new Point((int)(marginPageLeft + marginPrintWeight * j),
+ (int)(marginPageTop + marginPrintHeight * colNum)));
}
- }
var barcode = obj.Barcode.GetBitmap();
//バーコードの印刷
for (var j = 0; j < rowNum; j++)
+ for (var i = 0; i < colNum; i++)
{
- for (var i = 0; i < colNum; i++)
- {
- var hei = i * marginPrintHeight;
- var wei = j * marginPrintWeight;
- graphics.DrawImage(
- barcode,
- marginPageLeft + wei + 3.2f,
- marginPageTop + hei + 7f,
- barcode.Width * 0.3f, barcode.Height * 0.14f
- );
-
- graphics.DrawString(
- obj.ItemName,
- new Font("MS UI Gothic", 9),
- Brushes.Black,
- new PointF(
- marginPageLeft + wei + 1f,
- marginPageTop + hei + 0.2f
- )
- );
-
- graphics.DrawString(
- "おみせ: " + obj.StoreName,
- new Font("MS UI Gothic", 8), Brushes.Black,
- new PointF(
- marginPageLeft + wei + 1f,
- marginPageTop + hei + 3.5f
- )
- );
- }
+ var hei = i * marginPrintHeight;
+ var wei = j * marginPrintWeight;
+ graphics.DrawImage(
+ barcode,
+ marginPageLeft + wei + 3.2f,
+ marginPageTop + hei + 7f,
+ barcode.Width * 0.3f, barcode.Height * 0.14f
+ );
+
+ graphics.DrawString(
+ obj.ItemName,
+ new Font("MS UI Gothic", 9),
+ Brushes.Black,
+ new PointF(
+ marginPageLeft + wei + 1f,
+ marginPageTop + hei + 0.2f
+ )
+ );
+
+ graphics.DrawString(
+ "おみせ: " + obj.StoreName,
+ new Font("MS UI Gothic", 8), Brushes.Black,
+ new PointF(
+ marginPageLeft + wei + 1f,
+ marginPageTop + hei + 3.5f
+ )
+ );
}
}
+
public void PrintReceipt(ListView itemList, string deposit, PrintPageEventArgs e, string accountCode)
{
var marginMin = 3;
@@ -127,10 +132,12 @@ public void PrintReceipt(ListView itemList, string deposit, PrintPageEventArgs e
for (var i = 0; i < itemList.Items.Count; i++)
{
var lvi = itemList.Items[i];
- DrawString(graphics, fontBig, lvi.SubItems[0].Text + " " + lvi.SubItems[1].Text, marginMin, drawHeightPosition);
+ DrawString(graphics, fontBig, lvi.SubItems[0].Text + " " + lvi.SubItems[1].Text, marginMin,
+ drawHeightPosition);
DrawString(graphics, fontBig, "\t\t\\" + lvi.SubItems[3].Text, marginMin + 15, drawHeightPosition);
drawHeightPosition += lineHeight;
}
+
graphics.DrawLine(new Pen(Brushes.Black),
new Point(marginMin, drawHeightPosition),
new Point(marginMax, drawHeightPosition));
@@ -156,7 +163,8 @@ public void PrintReceipt(ListView itemList, string deposit, PrintPageEventArgs e
DrawString(graphics, fontBig, "おみせ: " + Config.GetInstance().Store.Name, marginMin, drawHeightPosition);
drawHeightPosition += lineHeight;
- DrawString(graphics, fontBig, "れじのたんとう: " + PosInformation.GetInstance().GetStaffName(), marginMin, drawHeightPosition);
+ DrawString(graphics, fontBig, "れじのたんとう: " + PosInformation.GetInstance().GetStaffName(), marginMin,
+ drawHeightPosition);
drawHeightPosition += lineHeight + 5;
@@ -168,7 +176,8 @@ public void PrintReceipt(ListView itemList, string deposit, PrintPageEventArgs e
var barcode = new BarcodeObject(accountCode).GetBitmap();
- graphics.DrawImage(barcode, alignCenter - 13, drawHeightPosition, barcode.Width * 0.34f, barcode.Height * 0.14f);
+ graphics.DrawImage(barcode, alignCenter - 13, drawHeightPosition, barcode.Width * 0.34f,
+ barcode.Height * 0.14f);
drawHeightPosition += lineHeight + 10;
graphics.DrawLine(new Pen(Brushes.Black),
@@ -177,31 +186,15 @@ public void PrintReceipt(ListView itemList, string deposit, PrintPageEventArgs e
e.HasMorePages = false;
}
- private class PrintConfigSystemBarcode
- {
- public int DrawHeightPosition;
- public readonly Graphics Graphics;
- public readonly int MarginMin = 3;
- public readonly int MarginMax = 70;
- public readonly int AlignCenter = 27;
- public readonly int LineHeight = 7;
- public readonly Font Font = new Font("MS UI Gothic", 10);
- public readonly Font FontBig = new Font("MS UI Gothic", 13);
- public PrintConfigSystemBarcode(Graphics g)
- {
- Graphics = g;
- g.PageUnit = GraphicsUnit.Millimeter;
- g.DrawImage(Image.FromFile(@"Kids.jpg"), 3, 3, 67, 20);
- }
- }
public void PrintSystemBarcode(object sender, PrintPageEventArgs e)
{
var config = new PrintConfigSystemBarcode(e.Graphics);
config.DrawHeightPosition += config.LineHeight + 22;
- DrawString(config.Graphics, config.FontBig, "<システムバーコード>", config.AlignCenter - 20, config.DrawHeightPosition);
+ DrawString(config.Graphics, config.FontBig, "<システムバーコード>", config.AlignCenter - 20,
+ config.DrawHeightPosition);
config.DrawHeightPosition += config.LineHeight + 3;
@@ -225,6 +218,7 @@ public void PrintSystemBarcode(object sender, PrintPageEventArgs e)
e.HasMorePages = false;
}
+
public void PrintDummyUserBarcode(object sender, PrintPageEventArgs e)
{
var config = new PrintConfigSystemBarcode(e.Graphics);
@@ -256,6 +250,7 @@ private void DrawString(Graphics g, Font f, string s, int x, int y)
{
g.DrawString(s, f, Brushes.Black, new PointF(x, y));
}
+
private void DrawBarcode(
string sysName, string sysCode, ref PrintConfigSystemBarcode c)
{
@@ -263,9 +258,11 @@ private void DrawBarcode(
c.DrawHeightPosition += c.LineHeight - 3;
var barcode = new BarcodeObject(sysCode).GetBitmap();
- c.Graphics.DrawImage(barcode, c.AlignCenter - 13, c.DrawHeightPosition, barcode.Width * 0.34f, barcode.Height * 0.14f);
+ c.Graphics.DrawImage(barcode, c.AlignCenter - 13, c.DrawHeightPosition, barcode.Width * 0.34f,
+ barcode.Height * 0.14f);
c.DrawHeightPosition += c.LineHeight + 10;
}
+
public static bool PingToPrinter(string printerIp)
{
var mo = new ManagementObject($"Win32_PingStatus.address='{printerIp}'");
@@ -273,5 +270,24 @@ public static bool PingToPrinter(string printerIp)
mo.Dispose();
return ret;
}
+
+ private class PrintConfigSystemBarcode
+ {
+ public readonly int AlignCenter = 27;
+ public readonly Font Font = new Font("MS UI Gothic", 10);
+ public readonly Font FontBig = new Font("MS UI Gothic", 13);
+ public readonly Graphics Graphics;
+ public readonly int LineHeight = 7;
+ public readonly int MarginMax = 70;
+ public readonly int MarginMin = 3;
+ public int DrawHeightPosition;
+
+ public PrintConfigSystemBarcode(Graphics g)
+ {
+ Graphics = g;
+ g.PageUnit = GraphicsUnit.Millimeter;
+ g.DrawImage(Image.FromFile(@"Kids.jpg"), 3, 3, 67, 20);
+ }
+ }
}
-}
+}
\ No newline at end of file
diff --git a/KidsPosDLL/Sources/Util/SocketBase.cs b/KidsPosDLL/Sources/Util/SocketBase.cs
index 3cab720..326fd60 100644
--- a/KidsPosDLL/Sources/Util/SocketBase.cs
+++ b/KidsPosDLL/Sources/Util/SocketBase.cs
@@ -6,51 +6,58 @@ namespace KidsPos.Util
{
public class SocketBase
{
- public Encoding EcUni = Encoding.GetEncoding("utf-16");
public Encoding EcSjis = Encoding.GetEncoding("shift-jis");
- public Thread Thread = null;
+ public Encoding EcUni = Encoding.GetEncoding("utf-16");
public SocketListener Listener;
+ public Thread Thread = null;
public void Init(SocketListener listener)
{
Listener = listener;
}
}
+
public enum SocketCloseType
{
Error,
Correct
}
+
public abstract class SocketListener
{
private readonly Form _context;
- private delegate void ReceiveDelegate(string json);
-
- private delegate void CloseDelegate(SocketCloseType closeType);
-
protected SocketListener(Form context)
{
_context = context;
}
+
public void Receive(string text)
{
- _context.BeginInvoke(new ReceiveDelegate(OnReceive),text);
+ _context.BeginInvoke(new ReceiveDelegate(OnReceive), text);
}
+
public void Close(SocketCloseType closeType)
{
_context.BeginInvoke(new CloseDelegate(OnClose), closeType);
}
+
public Form GetContext()
{
return _context;
}
+
///
- /// データを受信したときの処理 受信例: reveice,barcode,1000150001,山田
+ /// データを受信したときの処理 受信例: reveice,barcode,1000150001,山田
///
///
public abstract void OnReceive(string text);
+
public abstract void OnClose(SocketCloseType closeType);
+
+ private delegate void ReceiveDelegate(string json);
+
+ private delegate void CloseDelegate(SocketCloseType closeType);
}
-}
+}
\ No newline at end of file
diff --git a/KidsPosDLL/Sources/Util/SocketClient.cs b/KidsPosDLL/Sources/Util/SocketClient.cs
index 7bc18c8..c3f0a34 100644
--- a/KidsPosDLL/Sources/Util/SocketClient.cs
+++ b/KidsPosDLL/Sources/Util/SocketClient.cs
@@ -11,15 +11,20 @@ namespace KidsPos.Util
public class SocketClient : SocketBase
{
private static readonly SocketClient Instance = new SocketClient();
+
+ private TcpClient _client;
+
+ private string _ip;
+
+ private SocketClient()
+ {
+ }
+
public static SocketClient GetInstance()
{
return Instance;
}
- private TcpClient _client;
- private SocketClient() { }
-
- private string _ip;
public bool ClientStart(string targetIp)
{
try
@@ -41,7 +46,6 @@ private void ClientListen()
var stream = _client.GetStream();
var bytes = new byte[100];
while (true)
- {
try
{
if (stream != null)
@@ -62,7 +66,7 @@ private void ClientListen()
{
stream.Close();
stream = null;
- Thread.Sleep(20);//これを入れないとNullReferenceExceptionが起きる
+ Thread.Sleep(20); //これを入れないとNullReferenceExceptionが起きる
MessageBox.Show(@"何らかの原因で登録できませんでした。");
StopSock();
}
@@ -72,12 +76,13 @@ private void ClientListen()
{
return;
}
- }
}
+
public void StopSock(SocketCloseType type = SocketCloseType.Correct)
{
CloseClient(type);
}
+
private void CloseClient(SocketCloseType type)
{
try
@@ -88,6 +93,7 @@ private void CloseClient(SocketCloseType type)
{
// ignored
}
+
if (_client != null && _client.Connected)
{
_client.Close();
@@ -96,6 +102,7 @@ private void CloseClient(SocketCloseType type)
Thread?.Abort();
}
+
public void SendData(string dataText)
{
var data = EcSjis.GetBytes(dataText);
@@ -109,15 +116,17 @@ public void SendData(string dataText)
MessageBox.Show(e + Environment.NewLine + "送信できませんでした。", "送信エラー");
}
}
+
public void RegistUser(StaffObject staff)
{
if (_client != null) SendData($"staff,{staff.Name},{staff.Barcode}");
new Database().Insert(staff);
}
+
public void RestartServer()
{
StopSock();
ClientStart(_ip);
}
}
-}
+}
\ No newline at end of file
diff --git a/KidsPosDLL/Sources/Util/SocketServer.cs b/KidsPosDLL/Sources/Util/SocketServer.cs
index cfc3a76..9e12535 100644
--- a/KidsPosDLL/Sources/Util/SocketServer.cs
+++ b/KidsPosDLL/Sources/Util/SocketServer.cs
@@ -9,18 +9,22 @@
namespace KidsPos.Util
{
- public class SocketServer :SocketBase
+ public class SocketServer : SocketBase
{
private static readonly SocketServer Instance = new SocketServer();
+ private readonly List _hClient = new List();
+
+ private TcpListener _tcpClient;
+
+ private SocketServer()
+ {
+ }
+
public static SocketServer GetInstance()
{
return Instance;
}
- private TcpListener _tcpClient;
- private readonly List _hClient = new List();
- private SocketServer() { }
-
public bool ServerStart()
{
try
@@ -34,6 +38,7 @@ public bool ServerStart()
return false;
}
}
+
private void ServerListen()
{
_tcpClient = new TcpListener(IPAddress.Any, Config.GetInstance().TargetPort);
@@ -53,18 +58,18 @@ private void ServerListen()
// ignored
}
}
+
public List GetClient()
{
return _hClient;
}
+
private void DeleteClient(ClientHandler cl)
{
Console.WriteLine("クライアントが抜けました");
- if (_hClient.Any(handler => handler == cl))
- {
- _hClient.Remove(cl);
- }
+ if (_hClient.Any(handler => handler == cl)) _hClient.Remove(cl);
}
+
public void CloseServer()
{
if (_tcpClient != null)
@@ -73,6 +78,7 @@ public void CloseServer()
Thread.Sleep(20);
_tcpClient = null;
}
+
if (Thread == null) return;
Thread.Abort();
Thread = null;
@@ -80,12 +86,12 @@ public void CloseServer()
public class ClientHandler
{
- private readonly SocketServer _parent;
private readonly byte[] _buffer;
- private Socket _socket;
- private NetworkStream _networkStream;
private readonly AsyncCallback _callbackRead;
private readonly AsyncCallback _callbackWrite;
+ private readonly SocketServer _parent;
+ private NetworkStream _networkStream;
+ private Socket _socket;
public ClientHandler(SocketServer parent, Socket socketForClient)
{
@@ -116,9 +122,9 @@ private void OnReadComplete(IAsyncResult ar)
var getByte = new byte[bytesRead];
for (var i = 0; i < bytesRead; i++)
getByte[i] = _buffer[i];
- _parent.Listener.OnReceive(_parent.EcUni.GetString(Encoding.Convert(_parent.EcSjis, _parent.EcUni, getByte)));
+ _parent.Listener.OnReceive(
+ _parent.EcUni.GetString(Encoding.Convert(_parent.EcSjis, _parent.EcUni, getByte)));
StartRead();
-
}
else
{
@@ -136,14 +142,16 @@ private void OnReadComplete(IAsyncResult ar)
// ignored
}
}
+
public void WriteString(byte[] buffer)
{
_networkStream.BeginWrite(buffer, 0, buffer.Length, _callbackWrite, null);
}
+
private void OnWriteComplete(IAsyncResult ar)
{
_networkStream.EndWrite(ar);
}
}
}
-}
+}
\ No newline at end of file
diff --git a/KidsPosDLL/Sources/Util/Time.cs b/KidsPosDLL/Sources/Util/Time.cs
index ee5cec6..890785f 100644
--- a/KidsPosDLL/Sources/Util/Time.cs
+++ b/KidsPosDLL/Sources/Util/Time.cs
@@ -6,6 +6,7 @@ namespace KidsPos.Util
public class Time
{
private readonly Hashtable _dow = new Hashtable();
+
public Time()
{
_dow.Add(DayOfWeek.Sunday, "日");
@@ -23,4 +24,4 @@ public string GetTime()
return dt.ToString("yyyy年MM月dd日(" + _dow[dt.DayOfWeek] + ") HH時mm分ss秒");
}
}
-}
+}
\ No newline at end of file
diff --git a/KidsPosDLL/packages.config b/KidsPosDLL/packages.config
index f9da4f7..36367a7 100644
--- a/KidsPosDLL/packages.config
+++ b/KidsPosDLL/packages.config
@@ -1,9 +1,9 @@
-
-
-
-
-
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PosSystem.sln b/PosSystem.sln
index 7dd2ea3..a89780a 100644
--- a/PosSystem.sln
+++ b/PosSystem.sln
@@ -39,6 +39,7 @@ Global
{A10E6D7A-8166-4792-8178-6899564E7ECB}.Release|Mixed Platforms.Build.0 = Release|x86
{A10E6D7A-8166-4792-8178-6899564E7ECB}.Release|x86.ActiveCfg = Release|x86
{A10E6D7A-8166-4792-8178-6899564E7ECB}.Release|x86.Build.0 = Release|x86
+ {A10E6D7A-8166-4792-8178-6899564E7ECB}.Debug|Any CPU.Build.0 = Debug|x86
{DD100C66-DDB6-4A3F-A421-8A02A9E92484}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DD100C66-DDB6-4A3F-A421-8A02A9E92484}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DD100C66-DDB6-4A3F-A421-8A02A9E92484}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
diff --git a/PosSystem/PosSystem.csproj b/PosSystem/PosSystem.csproj
index 36292c1..2cdd977 100644
--- a/PosSystem/PosSystem.csproj
+++ b/PosSystem/PosSystem.csproj
@@ -1,216 +1,243 @@
-
-
- Debug
- x86
- 8.0.30703
- 2.0
- {369FE5A3-61B1-4E97-B8B4-63B70B62BD4F}
- WinExe
- Properties
- PosSystem
- PosSystem
- v4.0
- 512
-
-
-
- publish\
- true
- Disk
- false
- Foreground
- 7
- Days
- false
- false
- true
- 0
- 1.0.0.%2a
- false
- false
- true
-
-
- x86
- true
- full
- false
- output\
- DEBUG;TRACE
- prompt
- 4
-
-
- x86
- pdbonly
- true
- output\
- TRACE
- prompt
- 4
-
-
- PosSystem.Program
-
-
-
- ..\packages\EntityFramework.6.0.0\lib\net40\EntityFramework.dll
-
-
- ..\packages\EntityFramework.6.0.0\lib\net40\EntityFramework.SqlServer.dll
-
-
-
-
-
-
-
-
- ..\packages\System.Data.SQLite.Core.1.0.105.2\lib\net40\System.Data.SQLite.dll
-
-
- ..\packages\System.Data.SQLite.EF6.1.0.105.2\lib\net40\System.Data.SQLite.EF6.dll
-
-
- ..\packages\System.Data.SQLite.Linq.1.0.105.2\lib\net40\System.Data.SQLite.Linq.dll
-
-
-
-
-
-
-
-
-
- ..\packages\ZXing.Net.0.15.0\lib\net40\zxing.dll
-
-
- ..\packages\ZXing.Net.0.15.0\lib\net40\zxing.presentation.dll
-
-
-
-
-
-
- Form
-
-
- Account.cs
-
-
- Form
-
-
- AccountChange.cs
-
-
- Form
-
-
- MainForm.cs
-
-
- Form
-
-
- ItemList.cs
-
-
- Form
-
-
- Sales.cs
-
-
- Form
-
-
- SalesList.cs
-
-
- Form
-
-
- StaffRegistWindow.cs
-
-
- ResXFileCodeGenerator
- Resources.Designer.cs
- Designer
-
-
- True
- Resources.resx
- True
-
-
- Account.cs
-
-
- AccountChange.cs
-
-
- MainForm.cs
- Designer
-
-
- ItemList.cs
-
-
- Sales.cs
-
-
- SalesList.cs
-
-
- StaffRegistWindow.cs
-
-
-
-
- SettingsSingleFileGenerator
- Settings.Designer.cs
-
-
- True
- Settings.settings
- True
-
-
-
-
-
-
-
- {dd100c66-ddb6-4a3f-a421-8a02a9e92484}
- KidsPosDLL
-
-
-
-
- False
- .NET Framework 3.5 SP1
- false
-
-
-
-
-
-
-
-
-
+
- このプロジェクトは、このコンピューター上にない NuGet パッケージを参照しています。それらのパッケージをダウンロードするには、[NuGet パッケージの復元] を使用します。詳細については、http://go.microsoft.com/fwlink/?LinkID=322105 を参照してください。見つからないファイルは {0} です。
+ Debug
+ x86
+ 8.0.30703
+ 2.0
+ {369FE5A3-61B1-4E97-B8B4-63B70B62BD4F}
+ WinExe
+ Properties
+ PosSystem
+ PosSystem
+ v4.8
+ 512
+
+
+
+ publish\
+ true
+ Disk
+ false
+ Foreground
+ 7
+ Days
+ false
+ false
+ true
+ 0
+ 1.0.0.%2a
+ false
+ false
+ true
-
-
-
+
+ x86
+ true
+ full
+ false
+ output\
+ DEBUG;TRACE
+ prompt
+ 4
+ false
+
+
+ x86
+ pdbonly
+ true
+ output\
+ TRACE
+ prompt
+ 4
+ false
+
+
+ PosSystem.Program
+
+
+
+ ..\packages\EntityFramework.6.0.0\lib\net40\EntityFramework.dll
+
+
+ ..\packages\EntityFramework.6.0.0\lib\net40\EntityFramework.SqlServer.dll
+
+
+ ..\packages\Microsoft.Data.Sqlite.Core.7.0.10\lib\netstandard2.0\Microsoft.Data.Sqlite.dll
+
+
+
+
+
+ ..\packages\SQLitePCLRaw.bundle_e_sqlite3.2.1.6\lib\net461\SQLitePCLRaw.batteries_v2.dll
+
+
+ ..\packages\SQLitePCLRaw.core.2.1.6\lib\netstandard2.0\SQLitePCLRaw.core.dll
+
+
+ ..\packages\SQLitePCLRaw.provider.dynamic_cdecl.2.1.6\lib\netstandard2.0\SQLitePCLRaw.provider.dynamic_cdecl.dll
+
+
+
+ ..\packages\System.Buffers.4.4.0\lib\netstandard2.0\System.Buffers.dll
+
+
+
+
+ ..\packages\System.Data.SQLite.Core.1.0.105.2\lib\net40\System.Data.SQLite.dll
+
+
+ ..\packages\System.Data.SQLite.EF6.1.0.105.2\lib\net40\System.Data.SQLite.EF6.dll
+
+
+ ..\packages\System.Data.SQLite.Linq.1.0.105.2\lib\net40\System.Data.SQLite.Linq.dll
+
+
+ ..\packages\System.Memory.4.5.3\lib\netstandard2.0\System.Memory.dll
+
+
+
+ ..\packages\System.Numerics.Vectors.4.4.0\lib\net46\System.Numerics.Vectors.dll
+
+
+ ..\packages\System.Runtime.CompilerServices.Unsafe.4.5.2\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll
+
+
+
+
+
+
+
+
+
+ ..\packages\ZXing.Net.0.15.0\lib\net40\zxing.dll
+
+
+ ..\packages\ZXing.Net.0.15.0\lib\net40\zxing.presentation.dll
+
+
+
+
+
+
+ Form
+
+
+ Account.cs
+
+
+ Form
+
+
+ AccountChange.cs
+
+
+ Form
+
+
+ MainForm.cs
+
+
+ Form
+
+
+ ItemList.cs
+
+
+ Form
+
+
+ Sales.cs
+
+
+ Form
+
+
+ SalesList.cs
+
+
+ Form
+
+
+ StaffRegistWindow.cs
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+ Designer
+
+
+ True
+ Resources.resx
+ True
+
+
+ Account.cs
+
+
+ AccountChange.cs
+
+
+ MainForm.cs
+ Designer
+
+
+ ItemList.cs
+
+
+ Sales.cs
+
+
+ SalesList.cs
+
+
+ StaffRegistWindow.cs
+
+
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+ True
+ Settings.settings
+ True
+
+
+
+
+
+
+
+ {dd100c66-ddb6-4a3f-a421-8a02a9e92484}
+ KidsPosDLL
+
+
+
+
+ False
+ .NET Framework 3.5 SP1
+ false
+
+
+
+
+
+
+
+
+
+
+ このプロジェクトは、このコンピューター上にない NuGet パッケージを参照しています。それらのパッケージをダウンロードするには、[NuGet パッケージの復元] を使用します。詳細については、http://go.microsoft.com/fwlink/?LinkID=322105 を参照してください。見つからないファイルは {0} です。
+
+
+
+
\ No newline at end of file
diff --git a/PosSystem/Program.cs b/PosSystem/Program.cs
index 9e4a838..aed1a17 100644
--- a/PosSystem/Program.cs
+++ b/PosSystem/Program.cs
@@ -7,7 +7,7 @@ namespace PosSystem
internal static class Program
{
///
- /// アプリケーションのメイン エントリ ポイントです。
+ /// アプリケーションのメイン エントリ ポイントです。
///
[STAThread]
private static void Main()
@@ -17,4 +17,4 @@ private static void Main()
Application.Run(new Form1());
}
}
-}
+}
\ No newline at end of file
diff --git a/PosSystem/Properties/AssemblyInfo.cs b/PosSystem/Properties/AssemblyInfo.cs
index 505d099..a4bb95e 100644
--- a/PosSystem/Properties/AssemblyInfo.cs
+++ b/PosSystem/Properties/AssemblyInfo.cs
@@ -32,4 +32,4 @@
// 既定値にすることができます:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
\ No newline at end of file
diff --git a/PosSystem/Properties/Resources.Designer.cs b/PosSystem/Properties/Resources.Designer.cs
index 74057a7..0c3e489 100644
--- a/PosSystem/Properties/Resources.Designer.cs
+++ b/PosSystem/Properties/Resources.Designer.cs
@@ -1,50 +1,44 @@
//------------------------------------------------------------------------------
//
-// このコードはツールによって生成されました。
-// ランタイム バージョン:4.0.30319.18063
+// This code was generated by a tool.
//
-// このファイルへの変更は、以下の状況下で不正な動作の原因になったり、
-// コードが再生成されるときに損失したりします。
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
//
//------------------------------------------------------------------------------
-using System.CodeDom.Compiler;
-using System.ComponentModel;
-using System.Diagnostics;
-using System.Diagnostics.CodeAnalysis;
-using System.Globalization;
-using System.Resources;
-using System.Runtime.CompilerServices;
-
namespace PosSystem.Properties {
+ using System;
+
+
///
- /// ローカライズされた文字列などを検索するための、厳密に型指定されたリソース クラスです。
+ /// A strongly-typed resource class, for looking up localized strings, etc.
///
- // このクラスは StronglyTypedResourceBuilder クラスが ResGen
- // または Visual Studio のようなツールを使用して自動生成されました。
- // メンバーを追加または削除するには、.ResX ファイルを編集して、/str オプションと共に
- // ResGen を実行し直すか、または VS プロジェクトをビルドし直します。
- [GeneratedCode("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
- [DebuggerNonUserCode()]
- [CompilerGenerated()]
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // class via a tool like ResGen or Visual Studio.
+ // To add or remove a member, edit your .ResX file then rerun ResGen
+ // with the /str option, or rebuild your VS project.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
- private static ResourceManager resourceMan;
+ private static global::System.Resources.ResourceManager resourceMan;
- private static CultureInfo resourceCulture;
+ private static global::System.Globalization.CultureInfo resourceCulture;
- [SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
///
- /// このクラスで使用されているキャッシュされた ResourceManager インスタンスを返します。
+ /// Returns the cached ResourceManager instance used by this class.
///
- [EditorBrowsable(EditorBrowsableState.Advanced)]
- internal static ResourceManager ResourceManager {
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
get {
- if (ReferenceEquals(resourceMan, null)) {
- var temp = new ResourceManager("PosSystem.Properties.Resources", typeof(Resources).Assembly);
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("PosSystem.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
@@ -52,11 +46,11 @@ internal static ResourceManager ResourceManager {
}
///
- /// 厳密に型指定されたこのリソース クラスを使用して、すべての検索リソースに対し、
- /// 現在のスレッドの CurrentUICulture プロパティをオーバーライドします。
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
///
- [EditorBrowsable(EditorBrowsableState.Advanced)]
- internal static CultureInfo Culture {
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
diff --git a/PosSystem/Properties/Resources.resx b/PosSystem/Properties/Resources.resx
index af7dbeb..3627ee6 100644
--- a/PosSystem/Properties/Resources.resx
+++ b/PosSystem/Properties/Resources.resx
@@ -1,117 +1,123 @@
-
-
-
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
-
+
+
+
+ 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/PosSystem/Properties/Settings.Designer.cs b/PosSystem/Properties/Settings.Designer.cs
index 216104f..106ff64 100644
--- a/PosSystem/Properties/Settings.Designer.cs
+++ b/PosSystem/Properties/Settings.Designer.cs
@@ -1,25 +1,20 @@
//------------------------------------------------------------------------------
//
-// このコードはツールによって生成されました。
-// ランタイム バージョン:4.0.30319.18063
+// This code was generated by a tool.
//
-// このファイルへの変更は、以下の状況下で不正な動作の原因になったり、
-// コードが再生成されるときに損失したりします。
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
//
//------------------------------------------------------------------------------
-using System.CodeDom.Compiler;
-using System.Configuration;
-using System.Runtime.CompilerServices;
-
namespace PosSystem.Properties {
- [CompilerGenerated()]
- [GeneratedCode("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
- internal sealed partial class Settings : ApplicationSettingsBase {
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
- private static Settings defaultInstance = ((Settings)(Synchronized(new Settings())));
+ private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
diff --git a/PosSystem/Properties/Settings.settings b/PosSystem/Properties/Settings.settings
index 3964565..796d34b 100644
--- a/PosSystem/Properties/Settings.settings
+++ b/PosSystem/Properties/Settings.settings
@@ -1,7 +1,7 @@
-
-
-
-
+
+
+
+
diff --git a/PosSystem/Sources/Account.cs b/PosSystem/Sources/Account.cs
index ab9b623..a7f54bd 100644
--- a/PosSystem/Sources/Account.cs
+++ b/PosSystem/Sources/Account.cs
@@ -5,13 +5,13 @@ namespace PosSystem.Source
{
public partial class Account : Form
{
+ private readonly ListView _mainList;
+
//フォームの名前
public string FormName = "かいけい";
- private readonly ListView _mainList;
public Account(ListView mainList)
{
-
InitializeComponent();
Form1.InitializeListView(reg_goods_list);
reg_goods_list_SizeChanged(reg_goods_list, new EventArgs());
@@ -23,13 +23,13 @@ public Account(ListView mainList)
reg_goods_sum.Text = Form1.RegItemPriceSum.ToString();
ActiveControl = received_money;
-
}
private void Account_Load(object sender, EventArgs e)
{
copy_listview(_mainList);
}
+
private void copy_listview(ListView seme)
{
for (var icnt = 0; icnt < seme.Items.Count; icnt++)
@@ -40,8 +40,28 @@ private void copy_listview(ListView seme)
}
}
+ private void button1_Click(object sender, EventArgs e)
+ {
+ var check = 0 >= int.Parse(reg_goods_sum.Text) - int.Parse(received_money.Text);
+ if (reg_goods_sum.Text != "" && received_money.Text != "" && check)
+ {
+ var ac = new AccountChange(received_money.Text, reg_goods_list, Form1.ItemList);
+ Form1.ItemList = "";
+ ac.ShowDialog();
+ ac.Dispose();
+ Dispose();
+ }
+ }
+
+ private void Account_KeyDown(object sender, KeyEventArgs e)
+ {
+ if (e.KeyCode == Keys.Enter) button1.PerformClick();
+ }
+
#region リストのカラム幅調整
+
private bool _resizing;
+
private void reg_goods_list_SizeChanged(object sender, EventArgs e)
{
if (!_resizing)
@@ -58,34 +78,15 @@ private void reg_goods_list_SizeChanged(object sender, EventArgs e)
for (var i = 0; i < listView.Columns.Count; i++)
{
- var colPercentage = (Convert.ToInt32(listView.Columns[i].Tag) / totalColumnWidth);
+ var colPercentage = Convert.ToInt32(listView.Columns[i].Tag) / totalColumnWidth;
listView.Columns[i].Width = (int)(colPercentage * listView.ClientRectangle.Width);
}
}
}
- _resizing = false;
- }
- #endregion
- private void button1_Click(object sender, EventArgs e)
- {
- var check = 0 >= (int.Parse(reg_goods_sum.Text) - int.Parse(received_money.Text));
- if (reg_goods_sum.Text != "" && received_money.Text != "" && check)
- {
- var ac = new AccountChange(received_money.Text, reg_goods_list, Form1.ItemList);
- Form1.ItemList = "";
- ac.ShowDialog();
- ac.Dispose();
- Dispose();
- }
+ _resizing = false;
}
- private void Account_KeyDown(object sender, KeyEventArgs e)
- {
- if (e.KeyCode == Keys.Enter)
- {
- button1.PerformClick();
- }
- }
+ #endregion
}
-}
+}
\ No newline at end of file
diff --git a/PosSystem/Sources/Account.resx b/PosSystem/Sources/Account.resx
index 7080a7d..07f66d5 100644
--- a/PosSystem/Sources/Account.resx
+++ b/PosSystem/Sources/Account.resx
@@ -1,120 +1,126 @@
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
-
+
+
+
+ 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/PosSystem/Sources/AccountChange.cs b/PosSystem/Sources/AccountChange.cs
index eaa26c0..ddc4fda 100644
--- a/PosSystem/Sources/AccountChange.cs
+++ b/PosSystem/Sources/AccountChange.cs
@@ -12,6 +12,7 @@ public partial class AccountChange : Form
{
private readonly ListView _itemList;
private readonly SaleObject _sale;
+
public AccountChange(string recMoney, ListView recPoints, string recItems)
{
InitializeComponent();
@@ -22,7 +23,7 @@ public AccountChange(string recMoney, ListView recPoints, string recItems)
reg_goods_sum.Text = Form1.RegItemPriceSum.ToString();
received_money.Text = recMoney;
- change.Text = (int.Parse(received_money.Text) - int.Parse(reg_goods_sum.Text)).ToString();
+ change.Text = (int.Parse(received_money.Text) - int.Parse(reg_goods_sum.Text)).ToString();
_itemList = recPoints;
@@ -46,6 +47,7 @@ private void Account_change_Load(object sender, EventArgs e)
pd.Print();
}
}
+
private void Account_change_KeyDown(object sender, KeyEventArgs e)
{
Close();
@@ -56,4 +58,4 @@ private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
Print.GetInstance().PrintReceipt(_itemList, received_money.Text, e, _sale.Barcode);
}
}
-}
+}
\ No newline at end of file
diff --git a/PosSystem/Sources/AccountChange.resx b/PosSystem/Sources/AccountChange.resx
index db65bc8..e39cc8c 100644
--- a/PosSystem/Sources/AccountChange.resx
+++ b/PosSystem/Sources/AccountChange.resx
@@ -1,300 +1,310 @@
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
-
-
- 189, 17
-
-
-
-
- AAABAAYAICAQAAAAAADoAgAAZgAAABAQEAAAAAAAKAEAAE4DAAAgIAAAAQAIAKgIAAB2BAAAEBAAAAEA
- CABoBQAAHg0AACAgAAABACAAqBAAAIYSAAAQEAAAAQAgAGgEAAAuIwAAKAAAACAAAABAAAAAAQAEAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA
- /wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIoiI
- iIiIiIiIiIiIiIiIiIiCIigiIiIozMzMzMzMyCIogiIoIiIiKM7m5ubm5sgiKIIiKCIiIijObm5ubm7I
- IiiCIigiIiIozubm5ubmyCIogiIoIiIiKM5ubm5ubsgiKIIiKCIiIijO5ubm5ubIIiiIiIiIiIiIzm5u
- bm5uyCIogRERERERGM7u7u7u7sgiKIHZWVlZWRjMzMzMzMzIIiiB1ZWVlZUYiIiIiIiIiIiIgdlZWVlZ
- GDMzMzMzMzMzOIHVlZWVlRg/uLi4uLi4uDiB2VlZWVkYP7uLi4uLi4s4gdWVlZWVGD+4uLi4uLi4OIHZ
- WVlZWRg/u4uLi4uLiziB1ZWVlZUYP7i4uLi4uLg4gdlZWVlZGD+7i4uLi4uLOIHVlZWVlRg/uLi4uLi4
- uDiB3d3d3d0YP7uLi4uLi4s4gRERERERGD+4uLi4uLi4OIiIiIiIiIg/u4uLi4uLiziCIiIiIiIoP7i4
- uLi4uLg4giIiIiIiKD+7i4uLi4uLOIIiIiIiIig/uLi4uLi4uDiCIiIiIiIoP7u7u7u7u7s4giIiIiIi
- KD//////////OIIiIiIiIigzMzMzMzMzMziIiIiIiIiIiIiIiIiIiIiIIiIiIiIiIiIiIiIiIiIiIv//
- ////////AAAAAHv4AA57+AAOe/gADnv4AA57+AAOe/gADgAAAA4AAAAOAAAADgAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/4AAB/+AAAf/gAAH/4AAB/+AAAf/gAAAAA
- AAD/////KAAAABAAAAAgAAAAAQAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACA
- gACAAAAAgACAAICAAACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAiIiIiIiIiIoiI
- iIiIiIiIgigijMzMyCiCKCKM5mbIKIiIiIzu7sgogRERjMzMyCiB2ZGIiIiIiIHZkYMzMzM4gdmRg/u7
- uziB3dGD+7u7OIEREYP7u7s4iIiIg/u7uziCIiKD+7u7OIIiIoP///84giIigzMzMziIiIiIiIiIiP//
- KCIAACjObALm5mwCIigAAoiIAAKIzgAAbm4AACIoAAAREQAAGM4AAO7uAAAiKHwAWVl8ABjMfADMzAAA
- IigoAAAAIAAAAEAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAA
- AACAAIAAgIAAAICAgADA3MAA8MqmAKo/KgD/PyoAAF8qAFVfKgCqXyoA/18qAAB/KgBVfyoAqn8qAP9/
- KgAAnyoAVZ8qAKqfKgD/nyoAAL8qAFW/KgCqvyoA/78qAADfKgBV3yoAqt8qAP/fKgAA/yoAVf8qAKr/
- KgD//yoAAABVAFUAVQCqAFUA/wBVAAAfVQBVH1UAqh9VAP8fVQAAP1UAVT9VAKo/VQD/P1UAAF9VAFVf
- VQCqX1UA/19VAAB/VQBVf1UAqn9VAP9/VQAAn1UAVZ9VAKqfVQD/n1UAAL9VAFW/VQCqv1UA/79VAADf
- VQBV31UAqt9VAP/fVQAA/1UAVf9VAKr/VQD//1UAAAB/AFUAfwCqAH8A/wB/AAAffwBVH38Aqh9/AP8f
- fwAAP38AVT9/AKo/fwD/P38AAF9/AFVffwCqX38A/19/AAB/fwBVf38Aqn9/AP9/fwAAn38AVZ9/AKqf
- fwD/n38AAL9/AFW/fwCqv38A/79/AADffwBV338Aqt9/AP/ffwAA/38AVf9/AKr/fwD//38AAACqAFUA
- qgCqAKoA/wCqAAAfqgBVH6oAqh+qAP8fqgAAP6oAVT+qAKo/qgD/P6oAAF+qAFVfqgCqX6oA/1+qAAB/
- qgBVf6oAqn+qAP9/qgAAn6oAVZ+qAKqfqgD/n6oAAL+qAFW/qgCqv6oA/7+qAADfqgBV36oAqt+qAP/f
- qgAA/6oAVf+qAKr/qgD//6oAAADUAFUA1ACqANQA/wDUAAAf1ABVH9QAqh/UAP8f1AAAP9QAVT/UAKo/
- 1AD/P9QAAF/UAFVf1ACqX9QA/1/UAAB/1ABVf9QAqn/UAP9/1AAAn9QAVZ/UAKqf1AD/n9QAAL/UAFW/
- 1ACqv9QA/7/UAADf1ABV39QAqt/UAP/f1AAA/9QAVf/UAKr/1AD//9QAVQD/AKoA/wAAH/8AVR//AKof
- /wD/H/8AAD//AFU//wCqP/8A/z//AABf/wBVX/8Aql//AP9f/wAAf/8AVX//AKp//wD/f/8AAJ//AFWf
- /wCqn/8A/5//AAC//wBVv/8Aqr//AP+//wAA3/8AVd//AKrf/wD/3/8AVf//AKr//wD/zMwA/8z/AP//
- MwD//2YA//+ZAP//zAAAfwAAVX8AAKp/AAD/fwAAAJ8AAFWfAACqnwAA/58AAAC/AABVvwAAqr8AAP+/
- AAAA3wAAVd8AAKrfAAD/3wAAVf8AAKr/AAAAACoAVQAqAKoAKgD/ACoAAB8qAFUfKgCqHyoA/x8qAAA/
- KgBVPyoA8Pv/AKSgoACAgIAAAAD/AAD/AAAA//8A/wAAAAAAAAD//wAA////AP39/f39/f39/f39/f39
- /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39
- /f39/f39/f39/f39/f39/f39/f39/f39qoYIqoYIhqoIqgiqCaoIqgiqhqqGhoYIhoYIqv39/f0I/f39
- /ar9/f39/YY2Ng4yDg4ODgoOCgoKCgqG/f39/Yb9/f39CP39/f39qjY7Ozs3Nzc3NjMSMjIOCqr9/f39
- qv39/f2G/f39/f0IN19fOzs3Nzc3NjcODg4KCP39/f0I/f39/ar9/f39/ao6X19fXzs7Ozc3NzY3NgqG
- /f39/Yb9/f39CP39/f39hl9jY19jX187Ozs7Nzc3Dqr9/f39qv39/f2G/f39/f0IOodjh19jX19fXztf
- OzcOCP39/f0ICAmqCAiqCKoICapfCYdjh2ODY19fXzs7Ow6q/f39/QhITEwoSCUoKSQoqmMJCYcJCWNj
- Y2NfY19fNgj9/f39qkyZmZmYmJRwlCmqX19fXl9fX186WzY3Njc2gv39/f0JcJ2dmZmZlJmUJAmqCaoJ
- hggIqggICKoIqggI/f39/YZwnp2dnZmZmJVMqnx8fHx8fFR8VHhUVFRUVKr9/f39CHChoZ2dnZ2ZmUwJ
- fKSkxqSkxqSkpKSkpKBUCP39/f2qcKLDoqGdnZ2ZTKp8ysakxqSkxqSkxqSkpFSq/f39/QiUpqbDoqHE
- nZ1Mq3ykqMakyqSkxqSkpKSkVAj9/f39hpTIyKbHoqGhoXAIfMrLpMqkxqSkxqTGpKRUqv39/f0IlMym
- yKbIpcShcAh8y6jKpMqkxsqkpKSkxlQI/f39/aqUzMzMyKbIpqJwqnzLy8qpxsqkpMakxqSkeAj9/f39
- CJSUlJSUlJSUlJQJgMupy8qpysqkyqSkxqRUqv39/f2GCKoIqgiqCKoIhgigrcvPqcuoy8qkxsqkxnyG
- /f39/ar9/f39/f39/f39qnzPz6nLy8uoyqnKpKTKVAj9/f39CP39/f39/f39/f0IfNDPz8+py8upyqjG
- yqR8hv39/f2G/f39/f39/f39/Qik0K7P0M+ty8vLy6jKpXyq/f39/ar9/f39/f39/f39CHzQ09Ctz8/P
- qcupy6jKeAj9/f39CP39/f39/f39/f2qoNPQ0NPQ0M/Qz8vLy6l8CP39/f2G/f39/f39/f39/QmkfKR8
- oHx8fHx8fHx8fHyG/f39/aoIqgiqCKoIqgiqCKoIqgiqCKoIqgiqCKoIqgj9/f39/f39/f39/f39/f39
- /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3/////////////
- ///AAAAD3vgAA974AAPe+AAD3vgAA974AAPe+AADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AA
- AAPAAAADwAAAA8AAAAPAAAADwAAAA9/4AAPf+AAD3/gAA9/4AAPf+AAD3/gAA8AAAAP//////////ygA
- AAAQAAAAIAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAA
- gACAgAAAgICAAMDcwADwyqYAqj8qAP8/KgAAXyoAVV8qAKpfKgD/XyoAAH8qAFV/KgCqfyoA/38qAACf
- KgBVnyoAqp8qAP+fKgAAvyoAVb8qAKq/KgD/vyoAAN8qAFXfKgCq3yoA/98qAAD/KgBV/yoAqv8qAP//
- KgAAAFUAVQBVAKoAVQD/AFUAAB9VAFUfVQCqH1UA/x9VAAA/VQBVP1UAqj9VAP8/VQAAX1UAVV9VAKpf
- VQD/X1UAAH9VAFV/VQCqf1UA/39VAACfVQBVn1UAqp9VAP+fVQAAv1UAVb9VAKq/VQD/v1UAAN9VAFXf
- VQCq31UA/99VAAD/VQBV/1UAqv9VAP//VQAAAH8AVQB/AKoAfwD/AH8AAB9/AFUffwCqH38A/x9/AAA/
- fwBVP38Aqj9/AP8/fwAAX38AVV9/AKpffwD/X38AAH9/AFV/fwCqf38A/39/AACffwBVn38Aqp9/AP+f
- fwAAv38AVb9/AKq/fwD/v38AAN9/AFXffwCq338A/99/AAD/fwBV/38Aqv9/AP//fwAAAKoAVQCqAKoA
- qgD/AKoAAB+qAFUfqgCqH6oA/x+qAAA/qgBVP6oAqj+qAP8/qgAAX6oAVV+qAKpfqgD/X6oAAH+qAFV/
- qgCqf6oA/3+qAACfqgBVn6oAqp+qAP+fqgAAv6oAVb+qAKq/qgD/v6oAAN+qAFXfqgCq36oA/9+qAAD/
- qgBV/6oAqv+qAP//qgAAANQAVQDUAKoA1AD/ANQAAB/UAFUf1ACqH9QA/x/UAAA/1ABVP9QAqj/UAP8/
- 1AAAX9QAVV/UAKpf1AD/X9QAAH/UAFV/1ACqf9QA/3/UAACf1ABVn9QAqp/UAP+f1AAAv9QAVb/UAKq/
- 1AD/v9QAAN/UAFXf1ACq39QA/9/UAAD/1ABV/9QAqv/UAP//1ABVAP8AqgD/AAAf/wBVH/8Aqh//AP8f
- /wAAP/8AVT//AKo//wD/P/8AAF//AFVf/wCqX/8A/1//AAB//wBVf/8Aqn//AP9//wAAn/8AVZ//AKqf
- /wD/n/8AAL//AFW//wCqv/8A/7//AADf/wBV3/8Aqt//AP/f/wBV//8Aqv//AP/MzAD/zP8A//8zAP//
- ZgD//5kA///MAAB/AABVfwAAqn8AAP9/AAAAnwAAVZ8AAKqfAAD/nwAAAL8AAFW/AACqvwAA/78AAADf
- AABV3wAAqt8AAP/fAABV/wAAqv8AAAAAKgBVACoAqgAqAP8AKgAAHyoAVR8qAKofKgD/HyoAAD8qAFU/
- KgDw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAAAAAAAP//AAD///8A/f39/f39/f39/f39/f39/f0I
- hgiqCKoICKoICKaGCP39qv39hv2GNg4ODjII/ar9/Yb9/ar9qjdjXzsOCP2G/f0IhquGCAleCWNfNob9
- qv39qkxMTEgIX19fX18I/Qj9/QhwnZlMqoYIqggIqgiG/f2qcKadcAl8fFQDVFQDqv39CHDMpnCqfMvL
- ysrKVAj9/QiUlHBwCYDPy8/LylSG/f2GqoYIqgig0M/Py8t8qv39CP39/f2GpNDQ0M/PfAn9/ar9/f39
- qqT20NDQ0Hyq/f2G/f39/QmkpKSloKR8CP39CKoIhgiqCIYIqgiGCKr9/f39/f39/f39/f39/f39/f//
- hv2AAf0ItAX9/bQFX2OABWNfgAU7O4ABNzeAAf39gAGq/YAB/YaAAf39vAE6h7wBX2O8AV9fgAE7N///
- /f0oAAAAIAAAAEAAAAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAADCv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/
- wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/
- wf/Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/wAAAAAAAAAAAAAAAAAA
- AAAAAAAAwr/B/7Z3Sf+zckT/rm0//6toO/+nYjb/pF4y/6BZLv+dVCr/mlEn/5dNI/+VSiH/kkce/5FE
- HP+RRBz/kUUb/8K/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/wAAAAAAAAAAAAAAAAAAAADCv8H/AAAAAAAA
- AAAAAAAAAAAAAAAAAADCv8H/v4JS//+aZv//lWD/+5Bc//WLV//uh1P/54FO/997S//Wdkb/zXBD/8Vr
- QP+9Zj3/tGI5/65dN/+RRRz/wr/B/wAAAAAAAAAAAAAAAAAAAADCv8H/AAAAAAAAAAAAAAAAAAAAAMK/
- wf8AAAAAAAAAAAAAAAAAAAAAAAAAAMK/wf/GjFv//6Rz//+fbf//m2f//5Zh//yRXf/3jVj/8IhV/+mD
- UP/hfUz/2HhI/9ByRP/HbED/v2c9/5VJIf/Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf8AAAAAAAAAAAAA
- AAAAAAAAwr/B/wAAAAAAAAAAAAAAAAAAAAAAAAAAwr/B/86WZP//r4L//6p7//+mdf//oW7//5xo//+X
- Yv/9kl7/+I5a//KJVf/rhFH/4n5N/9t4SP/Sc0X/mlEm/8K/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/wAA
- AAAAAAAAAAAAAAAAAADCv8H/AAAAAAAAAAAAAAAAAAAAAAAAAADCv8H/1J9s//+4kf//tIv//6+E//+r
- ff//p3f//6Jw//+eav//mWT//pRf//qQWv/0i1b/7IVS/+V/Tv+gWC7/wr/B/wAAAAAAAAAAAAAAAAAA
- AADCv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf8AAAAAAAAAAAAAAAAAAAAAAAAAAMK/wf/apnP//7+d//+7
- mP//uJL//7WM//+whv//rH///6d4//+jcf//n2v//5ll//+VYP/6kVv/9YxY/6diN//Cv8H/AAAAAAAA
- AAAAAAAAAAAAAMK/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/96t
- eP//wqL//8Gi//+/nv//vJn//7mT//+2jv//sYj//66A//+pev//pHP//6Bt//+bZ///l2L/r20//8K/
- wf8AAAAAAAAAAAAAAAAAAAAAwr/B/xYXev8XF3b/GBVx/xkUbf8ZFGr/GhNm/xoSY/8bEV//HBFd/xwQ
- W//Cv8H/4K96///Cov//wqL//8Ki///Cov//wJ///72b//+6lf//t4///7KJ//+ugv//qnv//6V0//+h
- bv+3d0n/wr/B/wAAAAAAAAAAAAAAAAAAAADCv8H/FRqE/0dN1v8/RNL/Nz3Q/y40zv8nLcz/ISfK/xwh
- yf8WHMf/GxJh/8K/wf/gr3r/4K96/+Cvev/gr3r/3614/9yqdf/apnL/16Nw/9Sea//Rmmj/zZZk/8qR
- X//GjFz/w4dW/7+CUv/Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf8SHZD/WF3a/05U1/9FS9X/PUPS/zU7
- 0P8uM83/JyzL/yAmyf8aFGn/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/
- wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/xAfnP9obt7/YGTc/1Zb
- 2f9NU9f/RUrU/ztB0v80OdD/LDHO/xgWcv/Cv8H/Dn+n/w18pP8MeqH/DHie/wt1m/8Kc5j/CXGV/wlv
- k/8JbJD/CGqN/wdpi/8HZ4j/BmWH/wZkhf8GYoP/wr/B/wAAAAAAAAAAAAAAAAAAAADCv8H/DiKp/3l+
- 4/9vdeH/Zmze/11i2/9UWtn/S1HW/0NI1P86P9H/Fhh9/8K/wf8Ogar/Barp/wGo6P8Apef/AKPm/wCi
- 5P8An+L/AJ7h/wCd3/8AnN7/AJnc/wCY2/8AmNn/AJbX/wZjhP/Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/
- wf8MJbX/iI7n/4CF5v93fOP/bnPg/2Vr3f9bYdv/UljY/0lP1v8UGoj/wr/B/w+Erf8Lrur/Bqvq/wOo
- 6f8Apuf/AKTm/wCi5f8AoOT/AJ/i/wCd4f8AnN//AJrd/wCZ2/8AmNr/BmWH/8K/wf8AAAAAAAAAAAAA
- AAAAAAAAwr/B/wkowP+WnOz/jpTq/4aL6P9+hOX/dXri/2xx4P9jaN3/WV/b/xEek//Cv8H/EIaw/xay
- 7P8Or+z/Cavr/wWq6v8Bp+j/AKbn/wCj5f8AoeT/AJ/j/wCe4f8AnOD/AJve/wCa3f8HZ4n/wr/B/wAA
- AAAAAAAAAAAAAAAAAADCv8H/CCrK/6Ko7/+coe7/lZrr/42T6f+Fiub/fIHl/3N54v9rcN//ECGg/8K/
- wf8QiLP/I7nu/xq07f8Ssez/C63r/war6v8Cqen/AKbo/wCk5v8AouX/AKHk/wCf4f8AneH/AJzf/who
- i//Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf8GLNP/q7Hy/6as8P+hpu//mp/u/5OY6/+LkOj/g4nm/3qA
- 5P8NI6z/wr/B/xCKtv8xvvD/J7rv/x627f8Vsuz/Dq/s/wmr6/8Equn/Aafo/wCl5/8Ao+X/AKHk/wCf
- 4v8AnuH/CGqO/8K/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/wUu2/+vtPP/r7Tz/6qv8v+mq/D/oKXv/5me
- 7f+Sl+v/io/p/wsmt//Cv8H/Eo24/0HF8f82wfD/LLzv/yK47v8atO3/EbHs/wut6/8Gq+r/A6np/wCm
- 6P8Apeb/AKLl/wCh5P8IbJD/wr/B/wAAAAAAAAAAAAAAAAAAAADCv8H/BC/h/wQv3/8FL9z/BS3Z/wYt
- 1v8GLNL/ByvP/wgqy/8IKcb/CSnC/8K/wf8Sjrv/Uszy/0fH8f87w/H/Mb7v/ye67/8et+7/FbPt/w6v
- 6/8IrOv/BKnp/wGo6P8Apef/AKPl/wluk//Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf/Cv8H/wr/B/8K/
- wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/xKRvf9j0/P/WM/z/0zK8f9BxfH/N8Hw/yy8
- 7/8iuO7/GbTt/xGx7P8Lruv/Bqrq/wOo6f8Apuf/CnGV/8K/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/wAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADCv8H/E5LA/3Ta8/9q1fP/XtHz/1LM
- 8v9Hx/H/O8Pw/zG+7/8nu+//Hrbt/xay7f8Or+v/CKzq/wSq6f8Kc5j/wr/B/wAAAAAAAAAAAAAAAAAA
- AADCv8H/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMK/wf8UlMH/hOD1/3rc
- 9f9v2PP/ZNTy/1jO8v9NyvH/Qsbx/zbB8P8svO//I7ju/xm07f8SsOz/C67r/wt2m//Cv8H/AAAAAAAA
- AAAAAAAAAAAAAMK/wf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwr/B/xSW
- w/+T5vb/iuL1/3/e9P912vT/adbz/13R8/9SzPL/R8jx/zzD8P8xvvD/J7rv/x627v8Vsuz/C3ie/8K/
- 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
-
-
+
+
+
+ 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
+
+
+ 189, 17
+
+
+
+
+ AAABAAYAICAQAAAAAADoAgAAZgAAABAQEAAAAAAAKAEAAE4DAAAgIAAAAQAIAKgIAAB2BAAAEBAAAAEA
+ CABoBQAAHg0AACAgAAABACAAqBAAAIYSAAAQEAAAAQAgAGgEAAAuIwAAKAAAACAAAABAAAAAAQAEAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA
+ /wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIoiI
+ iIiIiIiIiIiIiIiIiIiCIigiIiIozMzMzMzMyCIogiIoIiIiKM7m5ubm5sgiKIIiKCIiIijObm5ubm7I
+ IiiCIigiIiIozubm5ubmyCIogiIoIiIiKM5ubm5ubsgiKIIiKCIiIijO5ubm5ubIIiiIiIiIiIiIzm5u
+ bm5uyCIogRERERERGM7u7u7u7sgiKIHZWVlZWRjMzMzMzMzIIiiB1ZWVlZUYiIiIiIiIiIiIgdlZWVlZ
+ GDMzMzMzMzMzOIHVlZWVlRg/uLi4uLi4uDiB2VlZWVkYP7uLi4uLi4s4gdWVlZWVGD+4uLi4uLi4OIHZ
+ WVlZWRg/u4uLi4uLiziB1ZWVlZUYP7i4uLi4uLg4gdlZWVlZGD+7i4uLi4uLOIHVlZWVlRg/uLi4uLi4
+ uDiB3d3d3d0YP7uLi4uLi4s4gRERERERGD+4uLi4uLi4OIiIiIiIiIg/u4uLi4uLiziCIiIiIiIoP7i4
+ uLi4uLg4giIiIiIiKD+7i4uLi4uLOIIiIiIiIig/uLi4uLi4uDiCIiIiIiIoP7u7u7u7u7s4giIiIiIi
+ KD//////////OIIiIiIiIigzMzMzMzMzMziIiIiIiIiIiIiIiIiIiIiIIiIiIiIiIiIiIiIiIiIiIv//
+ ////////AAAAAHv4AA57+AAOe/gADnv4AA57+AAOe/gADgAAAA4AAAAOAAAADgAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH/4AAB/+AAAf/gAAH/4AAB/+AAAf/gAAAAA
+ AAD/////KAAAABAAAAAgAAAAAQAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAACA
+ gACAAAAAgACAAICAAACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAiIiIiIiIiIoiI
+ iIiIiIiIgigijMzMyCiCKCKM5mbIKIiIiIzu7sgogRERjMzMyCiB2ZGIiIiIiIHZkYMzMzM4gdmRg/u7
+ uziB3dGD+7u7OIEREYP7u7s4iIiIg/u7uziCIiKD+7u7OIIiIoP///84giIigzMzMziIiIiIiIiIiP//
+ KCIAACjObALm5mwCIigAAoiIAAKIzgAAbm4AACIoAAAREQAAGM4AAO7uAAAiKHwAWVl8ABjMfADMzAAA
+ IigoAAAAIAAAAEAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAA
+ AACAAIAAgIAAAICAgADA3MAA8MqmAKo/KgD/PyoAAF8qAFVfKgCqXyoA/18qAAB/KgBVfyoAqn8qAP9/
+ KgAAnyoAVZ8qAKqfKgD/nyoAAL8qAFW/KgCqvyoA/78qAADfKgBV3yoAqt8qAP/fKgAA/yoAVf8qAKr/
+ KgD//yoAAABVAFUAVQCqAFUA/wBVAAAfVQBVH1UAqh9VAP8fVQAAP1UAVT9VAKo/VQD/P1UAAF9VAFVf
+ VQCqX1UA/19VAAB/VQBVf1UAqn9VAP9/VQAAn1UAVZ9VAKqfVQD/n1UAAL9VAFW/VQCqv1UA/79VAADf
+ VQBV31UAqt9VAP/fVQAA/1UAVf9VAKr/VQD//1UAAAB/AFUAfwCqAH8A/wB/AAAffwBVH38Aqh9/AP8f
+ fwAAP38AVT9/AKo/fwD/P38AAF9/AFVffwCqX38A/19/AAB/fwBVf38Aqn9/AP9/fwAAn38AVZ9/AKqf
+ fwD/n38AAL9/AFW/fwCqv38A/79/AADffwBV338Aqt9/AP/ffwAA/38AVf9/AKr/fwD//38AAACqAFUA
+ qgCqAKoA/wCqAAAfqgBVH6oAqh+qAP8fqgAAP6oAVT+qAKo/qgD/P6oAAF+qAFVfqgCqX6oA/1+qAAB/
+ qgBVf6oAqn+qAP9/qgAAn6oAVZ+qAKqfqgD/n6oAAL+qAFW/qgCqv6oA/7+qAADfqgBV36oAqt+qAP/f
+ qgAA/6oAVf+qAKr/qgD//6oAAADUAFUA1ACqANQA/wDUAAAf1ABVH9QAqh/UAP8f1AAAP9QAVT/UAKo/
+ 1AD/P9QAAF/UAFVf1ACqX9QA/1/UAAB/1ABVf9QAqn/UAP9/1AAAn9QAVZ/UAKqf1AD/n9QAAL/UAFW/
+ 1ACqv9QA/7/UAADf1ABV39QAqt/UAP/f1AAA/9QAVf/UAKr/1AD//9QAVQD/AKoA/wAAH/8AVR//AKof
+ /wD/H/8AAD//AFU//wCqP/8A/z//AABf/wBVX/8Aql//AP9f/wAAf/8AVX//AKp//wD/f/8AAJ//AFWf
+ /wCqn/8A/5//AAC//wBVv/8Aqr//AP+//wAA3/8AVd//AKrf/wD/3/8AVf//AKr//wD/zMwA/8z/AP//
+ MwD//2YA//+ZAP//zAAAfwAAVX8AAKp/AAD/fwAAAJ8AAFWfAACqnwAA/58AAAC/AABVvwAAqr8AAP+/
+ AAAA3wAAVd8AAKrfAAD/3wAAVf8AAKr/AAAAACoAVQAqAKoAKgD/ACoAAB8qAFUfKgCqHyoA/x8qAAA/
+ KgBVPyoA8Pv/AKSgoACAgIAAAAD/AAD/AAAA//8A/wAAAAAAAAD//wAA////AP39/f39/f39/f39/f39
+ /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39
+ /f39/f39/f39/f39/f39/f39/f39/f39qoYIqoYIhqoIqgiqCaoIqgiqhqqGhoYIhoYIqv39/f0I/f39
+ /ar9/f39/YY2Ng4yDg4ODgoOCgoKCgqG/f39/Yb9/f39CP39/f39qjY7Ozs3Nzc3NjMSMjIOCqr9/f39
+ qv39/f2G/f39/f0IN19fOzs3Nzc3NjcODg4KCP39/f0I/f39/ar9/f39/ao6X19fXzs7Ozc3NzY3NgqG
+ /f39/Yb9/f39CP39/f39hl9jY19jX187Ozs7Nzc3Dqr9/f39qv39/f2G/f39/f0IOodjh19jX19fXztf
+ OzcOCP39/f0ICAmqCAiqCKoICapfCYdjh2ODY19fXzs7Ow6q/f39/QhITEwoSCUoKSQoqmMJCYcJCWNj
+ Y2NfY19fNgj9/f39qkyZmZmYmJRwlCmqX19fXl9fX186WzY3Njc2gv39/f0JcJ2dmZmZlJmUJAmqCaoJ
+ hggIqggICKoIqggI/f39/YZwnp2dnZmZmJVMqnx8fHx8fFR8VHhUVFRUVKr9/f39CHChoZ2dnZ2ZmUwJ
+ fKSkxqSkxqSkpKSkpKBUCP39/f2qcKLDoqGdnZ2ZTKp8ysakxqSkxqSkxqSkpFSq/f39/QiUpqbDoqHE
+ nZ1Mq3ykqMakyqSkxqSkpKSkVAj9/f39hpTIyKbHoqGhoXAIfMrLpMqkxqSkxqTGpKRUqv39/f0IlMym
+ yKbIpcShcAh8y6jKpMqkxsqkpKSkxlQI/f39/aqUzMzMyKbIpqJwqnzLy8qpxsqkpMakxqSkeAj9/f39
+ CJSUlJSUlJSUlJQJgMupy8qpysqkyqSkxqRUqv39/f2GCKoIqgiqCKoIhgigrcvPqcuoy8qkxsqkxnyG
+ /f39/ar9/f39/f39/f39qnzPz6nLy8uoyqnKpKTKVAj9/f39CP39/f39/f39/f0IfNDPz8+py8upyqjG
+ yqR8hv39/f2G/f39/f39/f39/Qik0K7P0M+ty8vLy6jKpXyq/f39/ar9/f39/f39/f39CHzQ09Ctz8/P
+ qcupy6jKeAj9/f39CP39/f39/f39/f2qoNPQ0NPQ0M/Qz8vLy6l8CP39/f2G/f39/f39/f39/QmkfKR8
+ oHx8fHx8fHx8fHyG/f39/aoIqgiqCKoIqgiqCKoIqgiqCKoIqgiqCKoIqgj9/f39/f39/f39/f39/f39
+ /f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f39/f3/////////////
+ ///AAAAD3vgAA974AAPe+AAD3vgAA974AAPe+AADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AA
+ AAPAAAADwAAAA8AAAAPAAAADwAAAA9/4AAPf+AAD3/gAA9/4AAPf+AAD3/gAA8AAAAP//////////ygA
+ AAAQAAAAIAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAA
+ gACAgAAAgICAAMDcwADwyqYAqj8qAP8/KgAAXyoAVV8qAKpfKgD/XyoAAH8qAFV/KgCqfyoA/38qAACf
+ KgBVnyoAqp8qAP+fKgAAvyoAVb8qAKq/KgD/vyoAAN8qAFXfKgCq3yoA/98qAAD/KgBV/yoAqv8qAP//
+ KgAAAFUAVQBVAKoAVQD/AFUAAB9VAFUfVQCqH1UA/x9VAAA/VQBVP1UAqj9VAP8/VQAAX1UAVV9VAKpf
+ VQD/X1UAAH9VAFV/VQCqf1UA/39VAACfVQBVn1UAqp9VAP+fVQAAv1UAVb9VAKq/VQD/v1UAAN9VAFXf
+ VQCq31UA/99VAAD/VQBV/1UAqv9VAP//VQAAAH8AVQB/AKoAfwD/AH8AAB9/AFUffwCqH38A/x9/AAA/
+ fwBVP38Aqj9/AP8/fwAAX38AVV9/AKpffwD/X38AAH9/AFV/fwCqf38A/39/AACffwBVn38Aqp9/AP+f
+ fwAAv38AVb9/AKq/fwD/v38AAN9/AFXffwCq338A/99/AAD/fwBV/38Aqv9/AP//fwAAAKoAVQCqAKoA
+ qgD/AKoAAB+qAFUfqgCqH6oA/x+qAAA/qgBVP6oAqj+qAP8/qgAAX6oAVV+qAKpfqgD/X6oAAH+qAFV/
+ qgCqf6oA/3+qAACfqgBVn6oAqp+qAP+fqgAAv6oAVb+qAKq/qgD/v6oAAN+qAFXfqgCq36oA/9+qAAD/
+ qgBV/6oAqv+qAP//qgAAANQAVQDUAKoA1AD/ANQAAB/UAFUf1ACqH9QA/x/UAAA/1ABVP9QAqj/UAP8/
+ 1AAAX9QAVV/UAKpf1AD/X9QAAH/UAFV/1ACqf9QA/3/UAACf1ABVn9QAqp/UAP+f1AAAv9QAVb/UAKq/
+ 1AD/v9QAAN/UAFXf1ACq39QA/9/UAAD/1ABV/9QAqv/UAP//1ABVAP8AqgD/AAAf/wBVH/8Aqh//AP8f
+ /wAAP/8AVT//AKo//wD/P/8AAF//AFVf/wCqX/8A/1//AAB//wBVf/8Aqn//AP9//wAAn/8AVZ//AKqf
+ /wD/n/8AAL//AFW//wCqv/8A/7//AADf/wBV3/8Aqt//AP/f/wBV//8Aqv//AP/MzAD/zP8A//8zAP//
+ ZgD//5kA///MAAB/AABVfwAAqn8AAP9/AAAAnwAAVZ8AAKqfAAD/nwAAAL8AAFW/AACqvwAA/78AAADf
+ AABV3wAAqt8AAP/fAABV/wAAqv8AAAAAKgBVACoAqgAqAP8AKgAAHyoAVR8qAKofKgD/HyoAAD8qAFU/
+ KgDw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAAAAAAAP//AAD///8A/f39/f39/f39/f39/f39/f0I
+ hgiqCKoICKoICKaGCP39qv39hv2GNg4ODjII/ar9/Yb9/ar9qjdjXzsOCP2G/f0IhquGCAleCWNfNob9
+ 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
+ bv+3d0n/wr/B/wAAAAAAAAAAAAAAAAAAAADCv8H/FRqE/0dN1v8/RNL/Nz3Q/y40zv8nLcz/ISfK/xwh
+ yf8WHMf/GxJh/8K/wf/gr3r/4K96/+Cvev/gr3r/3614/9yqdf/apnL/16Nw/9Sea//Rmmj/zZZk/8qR
+ X//GjFz/w4dW/7+CUv/Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf8SHZD/WF3a/05U1/9FS9X/PUPS/zU7
+ 0P8uM83/JyzL/yAmyf8aFGn/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/
+ wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/xAfnP9obt7/YGTc/1Zb
+ 2f9NU9f/RUrU/ztB0v80OdD/LDHO/xgWcv/Cv8H/Dn+n/w18pP8MeqH/DHie/wt1m/8Kc5j/CXGV/wlv
+ k/8JbJD/CGqN/wdpi/8HZ4j/BmWH/wZkhf8GYoP/wr/B/wAAAAAAAAAAAAAAAAAAAADCv8H/DiKp/3l+
+ 4/9vdeH/Zmze/11i2/9UWtn/S1HW/0NI1P86P9H/Fhh9/8K/wf8Ogar/Barp/wGo6P8Apef/AKPm/wCi
+ 5P8An+L/AJ7h/wCd3/8AnN7/AJnc/wCY2/8AmNn/AJbX/wZjhP/Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/
+ wf8MJbX/iI7n/4CF5v93fOP/bnPg/2Vr3f9bYdv/UljY/0lP1v8UGoj/wr/B/w+Erf8Lrur/Bqvq/wOo
+ 6f8Apuf/AKTm/wCi5f8AoOT/AJ/i/wCd4f8AnN//AJrd/wCZ2/8AmNr/BmWH/8K/wf8AAAAAAAAAAAAA
+ AAAAAAAAwr/B/wkowP+WnOz/jpTq/4aL6P9+hOX/dXri/2xx4P9jaN3/WV/b/xEek//Cv8H/EIaw/xay
+ 7P8Or+z/Cavr/wWq6v8Bp+j/AKbn/wCj5f8AoeT/AJ/j/wCe4f8AnOD/AJve/wCa3f8HZ4n/wr/B/wAA
+ AAAAAAAAAAAAAAAAAADCv8H/CCrK/6Ko7/+coe7/lZrr/42T6f+Fiub/fIHl/3N54v9rcN//ECGg/8K/
+ wf8QiLP/I7nu/xq07f8Ssez/C63r/war6v8Cqen/AKbo/wCk5v8AouX/AKHk/wCf4f8AneH/AJzf/who
+ i//Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf8GLNP/q7Hy/6as8P+hpu//mp/u/5OY6/+LkOj/g4nm/3qA
+ 5P8NI6z/wr/B/xCKtv8xvvD/J7rv/x627f8Vsuz/Dq/s/wmr6/8Equn/Aafo/wCl5/8Ao+X/AKHk/wCf
+ 4v8AnuH/CGqO/8K/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/wUu2/+vtPP/r7Tz/6qv8v+mq/D/oKXv/5me
+ 7f+Sl+v/io/p/wsmt//Cv8H/Eo24/0HF8f82wfD/LLzv/yK47v8atO3/EbHs/wut6/8Gq+r/A6np/wCm
+ 6P8Apeb/AKLl/wCh5P8IbJD/wr/B/wAAAAAAAAAAAAAAAAAAAADCv8H/BC/h/wQv3/8FL9z/BS3Z/wYt
+ 1v8GLNL/ByvP/wgqy/8IKcb/CSnC/8K/wf8Sjrv/Uszy/0fH8f87w/H/Mb7v/ye67/8et+7/FbPt/w6v
+ 6/8IrOv/BKnp/wGo6P8Apef/AKPl/wluk//Cv8H/AAAAAAAAAAAAAAAAAAAAAMK/wf/Cv8H/wr/B/8K/
+ wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/8K/wf/Cv8H/wr/B/xKRvf9j0/P/WM/z/0zK8f9BxfH/N8Hw/yy8
+ 7/8iuO7/GbTt/xGx7P8Lruv/Bqrq/wOo6f8Apuf/CnGV/8K/wf8AAAAAAAAAAAAAAAAAAAAAwr/B/wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADCv8H/E5LA/3Ta8/9q1fP/XtHz/1LM
+ 8v9Hx/H/O8Pw/zG+7/8nu+//Hrbt/xay7f8Or+v/CKzq/wSq6f8Kc5j/wr/B/wAAAAAAAAAAAAAAAAAA
+ AADCv8H/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMK/wf8UlMH/hOD1/3rc
+ 9f9v2PP/ZNTy/1jO8v9NyvH/Qsbx/zbB8P8svO//I7ju/xm07f8SsOz/C67r/wt2m//Cv8H/AAAAAAAA
+ AAAAAAAAAAAAAMK/wf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwr/B/xSW
+ w/+T5vb/iuL1/3/e9P912vT/adbz/13R8/9SzPL/R8jx/zzD8P8xvvD/J7rv/x627v8Vsuz/C3ie/8K/
+ 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
+
+
\ No newline at end of file
diff --git a/PosSystem/Sources/ItemList.cs b/PosSystem/Sources/ItemList.cs
index dccbf48..447f718 100644
--- a/PosSystem/Sources/ItemList.cs
+++ b/PosSystem/Sources/ItemList.cs
@@ -17,10 +17,11 @@ public ItemList()
MaximizeBox = !MaximizeBox;
MinimizeBox = !MinimizeBox;
FormBorderStyle = FormBorderStyle.FixedSingle;
-
+
mGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
mGridView.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
}
+
protected override void OnLoad(EventArgs e)
{
mGridView.DataSource = _table;
@@ -30,9 +31,10 @@ protected override void OnLoad(EventArgs e)
private void ItemList_Load(object sender, EventArgs e)
{
new Database().InsertView(_table,
- "SELECT il.barcode AS バーコード,il.Name AS 商品名,il.price AS 値段,sk.Name AS お店 FROM "
- + TableList.Item + " AS il,"
- + TableList.ItemGenre + " AS ig," + TableList.Store +" AS sk WHERE il.genre = ig.id AND il.shop = sk.id;");
+ "SELECT il.barcode AS バーコード,il.Name AS 商品名,il.price AS 値段,sk.Name AS お店 FROM "
+ + TableList.Item + " AS il,"
+ + TableList.ItemGenre + " AS ig," + TableList.Store +
+ " AS sk WHERE il.genre = ig.id AND il.shop = sk.id;");
}
}
-}
+}
\ No newline at end of file
diff --git a/PosSystem/Sources/ItemList.resx b/PosSystem/Sources/ItemList.resx
index 1af7de1..d4ad6f2 100644
--- a/PosSystem/Sources/ItemList.resx
+++ b/PosSystem/Sources/ItemList.resx
@@ -1,120 +1,126 @@
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
-
+
+
+
+ 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/PosSystem/Sources/MainForm.cs b/PosSystem/Sources/MainForm.cs
index bc6d340..0c56ceb 100644
--- a/PosSystem/Sources/MainForm.cs
+++ b/PosSystem/Sources/MainForm.cs
@@ -11,15 +11,18 @@ namespace PosSystem.Source
{
public partial class Form1 : Form
{
+ public static string ItemList = "";
+
+ public static int RegItemPriceSum;
+
+ private bool _resizing;
+
//フォームの名前
public string FormName = "POSシステム";
- public static string ItemList = "";
+ public int InputCount;
//読み取った数値格納
public string[] ReadTextArray = new string[BarcodeConfig.BarcodeNum];
- public int InputCount;
-
- public static int RegItemPriceSum;
public Form1()
{
@@ -34,6 +37,7 @@ public void Init()
PosInformation.GetInstance().Init(this);
new Csv().LoadConfig();
}
+
private void Form1_Load(object sender, EventArgs e)
{
WindowState = FormWindowState.Maximized;
@@ -54,7 +58,7 @@ private void Form1_Load(object sender, EventArgs e)
{
MessageBox.Show(@"config.csvの " + Csv.ConfigHead.TargetIp + @" の値が正しくありません。
ソフトウェアを終了します。",
- @"読み込みエラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ @"読み込みエラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
Csv.RunNotePad();
Environment.Exit(0);
}
@@ -65,15 +69,16 @@ private void Form1_Load(object sender, EventArgs e)
{
var builder = new StringBuilder();
builder.Append("192.168.0.100 にあるプリンターに到達出来ませんでした\n");
- builder.Append("ネットワーク接続を確認するか、config.csvの " + Csv.ConfigHead.Mode + " と " +
- Csv.ConfigHead.PrintEnable + " の項目を確認してください\n");
+ builder.Append("ネットワーク接続を確認するか、config.csvの " + Csv.ConfigHead.Mode + " と " +
+ Csv.ConfigHead.PrintEnable + " の項目を確認してください\n");
builder.Append("ソフトウェアを終了します。");
MessageBox.Show(builder.ToString(),
- @"読み込みエラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ @"読み込みエラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
Csv.RunNotePad();
Environment.Exit(0);
}
}
+
SetToolMenuItem();
SocketServer.GetInstance().Init(new StreamCallback(this));
SocketClient.GetInstance().Init(new StreamCallback(this));
@@ -94,15 +99,10 @@ private void Form1_Load(object sender, EventArgs e)
public void SetToolMenuItem()
{
- foreach (string key in Config.GetInstance().TargetIp.Keys)
- {
- 接続先ToolStripMenuItem.DropDownItems.Add(key);
- }
- foreach (ToolStripDropDownItem item in 接続先ToolStripMenuItem.DropDownItems)
- {
- item.Click += 接続する;
- }
+ foreach (string key in Config.GetInstance().TargetIp.Keys) 接続先ToolStripMenuItem.DropDownItems.Add(key);
+ foreach (ToolStripDropDownItem item in 接続先ToolStripMenuItem.DropDownItems) item.Click += 接続する;
}
+
public static void InitializeListView(ListView listview)
{
// ListViewコントロールのプロパティを設定
@@ -126,7 +126,7 @@ public static void InitializeListView(ListView listview)
goodsOrder.Width = 100;
goodsOrder.Tag = 4;
goodsOrder.TextAlign = HorizontalAlignment.Center;
-
+
goodsItem.Text = "個数";
goodsItem.Width = 60;
goodsItem.Tag = 1;
@@ -137,9 +137,10 @@ public static void InitializeListView(ListView listview)
goodsPrice.Tag = 2;
goodsPrice.TextAlign = HorizontalAlignment.Right;
- ColumnHeader[] colHeaderRegValue = {goodsId, goodsOrder, goodsItem, goodsPrice };
+ ColumnHeader[] colHeaderRegValue = { goodsId, goodsOrder, goodsItem, goodsPrice };
listview.Columns.AddRange(colHeaderRegValue);
}
+
public void InitializeReg()
{
tItemList.Items.Clear();
@@ -157,7 +158,8 @@ public void OnReadItem(string itemBarcode)
{
lScanItemName.Text = item.Name;
lScanItemPrice.Text = item.Price.ToString();
- tItemList.Items.Add(new ListViewItem(new[] { (item.Id.ToString()), item.Name, "1", item.Price.ToString(), "×" }));
+ tItemList.Items.Add(new ListViewItem(new[]
+ { item.Id.ToString(), item.Name, "1", item.Price.ToString(), "×" }));
RegItemPriceSum += item.Price;
tSumItemPrice.Text = RegItemPriceSum.ToString();
}
@@ -166,40 +168,35 @@ public void OnReadItem(string itemBarcode)
MessageBox.Show(@"何らかの原因で登録できませんでした。");
}
}
-
+
//タイマー ステータスバーの日付等更新
private void display_timer_Tick(object sender, EventArgs e)
{
disp_now_time.Text = new Time().GetTime();
- }
-
+ }
+
private void reg_clear_Click(object sender, EventArgs e)
{
InitializeReg();
}
+
private void 会計()
{
if (tSumItemPrice.Text != "" && tSumItemPrice.Text != "0")
{
var builder = new StringBuilder();
- foreach (ListViewItem item in tItemList.Items)
- {
- builder.Append(item.SubItems[0].Text).Append(",");
- }
+ foreach (ListViewItem item in tItemList.Items) builder.Append(item.SubItems[0].Text).Append(",");
var items = builder.ToString();
- if (items.IndexOf(',') > -1)
- {
- items = items.Substring(0, items.Length - 1);
- }
+ if (items.IndexOf(',') > -1) items = items.Substring(0, items.Length - 1);
ItemList = items;
var ac = new Account(tItemList);
ac.ShowDialog(this);
ac.Dispose();
}
+
InitializeReg();
}
- private bool _resizing;
private void OnSizeChangedReadItemList(object sender, EventArgs e)
{
if (!_resizing)
@@ -216,11 +213,12 @@ private void OnSizeChangedReadItemList(object sender, EventArgs e)
for (var i = 0; i < listView.Columns.Count; i++)
{
- var colPercentage = (Convert.ToInt32(listView.Columns[i].Tag) / totalColumnWidth);
+ var colPercentage = Convert.ToInt32(listView.Columns[i].Tag) / totalColumnWidth;
listView.Columns[i].Width = (int)(colPercentage * listView.ClientRectangle.Width);
}
}
}
+
_resizing = false;
}
@@ -237,13 +235,13 @@ private void Form1_KeyDown(object sender, KeyEventArgs e)
{
var bar = GenBarcode(ReadTextArray);
init_input();
- var barHead = bar.Substring(BarcodeConfig.Prefix.Length, BarcodeConfig.PrefixLength - BarcodeConfig.Prefix.Length);
+ var barHead = bar.Substring(BarcodeConfig.Prefix.Length,
+ BarcodeConfig.PrefixLength - BarcodeConfig.Prefix.Length);
- Database db = new Database();
+ var db = new Database();
switch (barHead)
{
-
case BarcodeConfig.Item:
OnReadItem(bar);
break;
@@ -276,17 +274,13 @@ private void Form1_KeyDown(object sender, KeyEventArgs e)
case BarcodeConfig.ChangeVisibleToolbar:
if (Config.IsClient)
- {
toolMenuClient.Visible = !toolMenuClient.Visible;
- }
else
- {
toolMenuServer.Visible = !toolMenuServer.Visible;
- }
break;
}
}
- else if(InputCount > BarcodeConfig.BarcodeNum)
+ else if (InputCount > BarcodeConfig.BarcodeNum)
{
init_input();
}
@@ -297,27 +291,27 @@ public void init_input()
ReadTextArray = new string[BarcodeConfig.BarcodeNum];
InputCount = 0;
}
+
public bool KeyCheck(KeyEventArgs e)
{
return BarcodeConfig.Prefix.Length > InputCount
- && !e.KeyCode.ToString().Equals("D" + BarcodeConfig.Prefix[InputCount]);
+ && !e.KeyCode.ToString().Equals("D" + BarcodeConfig.Prefix[InputCount]);
}
public string GenBarcode(string[] readValueArray)
{
var ret = "";
- for (var i = 0; i < BarcodeConfig.BarcodeNum; i++)
- {
- ret += readValueArray[i][1];
- }
+ for (var i = 0; i < BarcodeConfig.BarcodeNum; i++) ret += readValueArray[i][1];
return ret;
}
+
private void OpenItemList()
{
var il = new ItemList();
il.ShowDialog(this);
il.Dispose();
}
+
private void OpenSalesList()
{
var sll = new SalesList();
@@ -338,19 +332,21 @@ private void 売上リストToolStripMenuItem_Click(object sender, EventArgs e)
sl.ShowDialog();
sl.Dispose();
}
+
private void 接続する(object sender, EventArgs e)
{
if (sender.GetType() == 接続先ToolStripMenuItem.GetType())
{
- string targetIp = Config.GetInstance().TargetIp[((ToolStripItem)sender).Text].ToString();
- if (!SocketClient.GetInstance().ClientStart(targetIp)) MessageBox.Show(@"何らかの原因で登録できませんでした。");
+ var targetIp = Config.GetInstance().TargetIp[((ToolStripItem)sender).Text].ToString();
+ if (!SocketClient.GetInstance().ClientStart(targetIp))
+ {
+ MessageBox.Show(@"何らかの原因で登録できませんでした。");
+ }
else
{
Text += ((ToolStripItem)sender).Text + @" へ接続中";
for (var i = 0; i < 接続先ToolStripMenuItem.DropDownItems.Count; i++)
- {
接続先ToolStripMenuItem.DropDownItems[i].Enabled = false;
- }
}
}
}
@@ -377,25 +373,6 @@ private void OnReadStaff(string barcode)
staffRegist.Dispose();
}
}
- public class StreamCallback : SocketListener
- {
- public StreamCallback(Form context) : base(context) { }
- public override void OnReceive(string text)
- {
- var data = text.Split(',');
- switch (data[0])
- {
- // staff, [name], [barcode]
- case "staff":
- new Database().Insert(new StaffObject(data[2], data[1]));
- break;
- }
- }
- public override void OnClose(SocketCloseType closeType)
- {
- //MessageBox.Show("接続解除");
- }
- }
private void 商リストToolStripMenuItem_Click(object sender, EventArgs e)
{
@@ -428,9 +405,13 @@ private void サーバーを建てるToolStripMenuItem_Click(object sender, Even
{
ServerStart();
}
+
private void ServerStart()
{
- if (!SocketServer.GetInstance().ServerStart()) MessageBox.Show(@"何らかの原因で登録できませんでした。");
+ if (!SocketServer.GetInstance().ServerStart())
+ {
+ MessageBox.Show(@"何らかの原因で登録できませんでした。");
+ }
else
{
Text += " サーバー起動中";
@@ -465,5 +446,29 @@ private void ダミーユーザ印刷ToolStripMenuItem_Click(object sender, Even
pdlg.Document = pd;
pd.Print();
}
+
+ public class StreamCallback : SocketListener
+ {
+ public StreamCallback(Form context) : base(context)
+ {
+ }
+
+ public override void OnReceive(string text)
+ {
+ var data = text.Split(',');
+ switch (data[0])
+ {
+ // staff, [name], [barcode]
+ case "staff":
+ new Database().Insert(new StaffObject(data[2], data[1]));
+ break;
+ }
+ }
+
+ public override void OnClose(SocketCloseType closeType)
+ {
+ //MessageBox.Show("接続解除");
+ }
+ }
}
-}
+}
\ No newline at end of file
diff --git a/PosSystem/Sources/MainForm.resx b/PosSystem/Sources/MainForm.resx
index 292e439..6e27dfd 100644
--- a/PosSystem/Sources/MainForm.resx
+++ b/PosSystem/Sources/MainForm.resx
@@ -1,138 +1,150 @@
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
-
-
- 155, 17
-
-
- 268, 17
-
-
- 401, 17
-
-
- 691, 17
-
-
- 542, 17
-
+
+
+
+ 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
+
+
+ 155, 17
+
+
+ 268, 17
+
+
+ 401, 17
+
+
+ 691, 17
+
+
+ 542, 17
+
\ No newline at end of file
diff --git a/PosSystem/Sources/Sales.cs b/PosSystem/Sources/Sales.cs
index 0f9234f..ea41097 100644
--- a/PosSystem/Sources/Sales.cs
+++ b/PosSystem/Sources/Sales.cs
@@ -8,6 +8,7 @@ namespace PosSystem.Source
public partial class Sales : Form
{
private readonly SaleObject _sale;
+
public Sales(SaleObject sale)
{
InitializeComponent();
@@ -21,10 +22,11 @@ public Sales(SaleObject sale)
private void Sales_Load(object sender, EventArgs e)
{
buy_time.Text = _sale.CreatedAt;
- scan_goods(_sale.Items.Split(new[]{","}, StringSplitOptions.RemoveEmptyEntries));
- StaffObject staff = new Database().SelectSingle(string.Format("WHERE barcode = '{0}'", _sale.StaffId));
- if(staff != null) sale_staff_name.Text = staff.Name;
+ scan_goods(_sale.Items.Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries));
+ var staff = new Database().SelectSingle(string.Format("WHERE barcode = '{0}'", _sale.StaffId));
+ if (staff != null) sale_staff_name.Text = staff.Name;
}
+
public static void InitializeListView(ListView listview)
{
// ListViewコントロールのプロパティを設定
@@ -65,21 +67,17 @@ public static void InitializeListView(ListView listview)
public void scan_goods(string[] itemNum)
{
- Database db = new Database();
+ var db = new Database();
for (var i = 0; i < itemNum.Length; i++)
{
- ItemObject item = db.SelectSingle($"where id = '{itemNum[i]}'");
+ var item = db.SelectSingle($"where id = '{itemNum[i]}'");
if (item != null)
- {
- sales_list.Items.Add(new ListViewItem(new[] {item.Id.ToString(), item.Name, "1", item.Price.ToString(), "×"}));
- }
+ sales_list.Items.Add(new ListViewItem(new[]
+ { item.Id.ToString(), item.Name, "1", item.Price.ToString(), "×" }));
else
- {
- MessageBox.Show(@"現在は登録されていない商品がありました
+ MessageBox.Show(@"現在は登録されていない商品がありました
[" + itemNum[i] + "]", @"読み込みエラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
}
-
}
}
-}
+}
\ No newline at end of file
diff --git a/PosSystem/Sources/Sales.resx b/PosSystem/Sources/Sales.resx
index 7080a7d..07f66d5 100644
--- a/PosSystem/Sources/Sales.resx
+++ b/PosSystem/Sources/Sales.resx
@@ -1,120 +1,126 @@
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
-
+
+
+
+ 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/PosSystem/Sources/SalesList.cs b/PosSystem/Sources/SalesList.cs
index 3c03c72..a8ba337 100644
--- a/PosSystem/Sources/SalesList.cs
+++ b/PosSystem/Sources/SalesList.cs
@@ -13,6 +13,7 @@ public partial class SalesList : Form
{
private readonly DataTable _table = new DataTable();
private List _list = new List();
+
public SalesList()
{
InitializeComponent();
@@ -22,6 +23,7 @@ public SalesList()
mGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
mGridView.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
}
+
protected override void OnLoad(EventArgs e)
{
mGridView.DataSource = _table;
@@ -30,7 +32,7 @@ protected override void OnLoad(EventArgs e)
private void Sales_List_Load(object sender, EventArgs e)
{
- Database db = new Database();
+ var db = new Database();
db.InsertView(_table,
$"SELECT barcode, created_at, price, points FROM {TableList.Sale} WHERE store ='{Config.GetInstance().Store.Id}'");
_list = db.SelectMulti(string.Format("WHERE store = '{0}'", Config.GetInstance().Store.Id));
@@ -40,10 +42,7 @@ private void Sales_List_Load(object sender, EventArgs e)
public string calc_turnover()
{
var sum = 0;
- foreach (SaleObject item in _list)
- {
- sum += item.Price;
- }
+ foreach (var item in _list) sum += item.Price;
return sum.ToString();
}
@@ -52,9 +51,8 @@ private void mGridView_CellDoubleClick(object sender, DataGridViewCellEventArgs
var sl = new Sales(
new Database().SelectSingle(
$"WHERE barcode = '{mGridView[0, mGridView.CurrentCell.RowIndex].Value}'"));
- sl.ShowDialog(this);
+ sl.ShowDialog(this);
sl.Dispose();
}
-
}
-}
+}
\ No newline at end of file
diff --git a/PosSystem/Sources/SalesList.resx b/PosSystem/Sources/SalesList.resx
index 1af7de1..d4ad6f2 100644
--- a/PosSystem/Sources/SalesList.resx
+++ b/PosSystem/Sources/SalesList.resx
@@ -1,120 +1,126 @@
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
-
+
+
+
+ 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/PosSystem/Sources/StaffRegistWindow.cs b/PosSystem/Sources/StaffRegistWindow.cs
index 0c9ff9f..e04cb27 100644
--- a/PosSystem/Sources/StaffRegistWindow.cs
+++ b/PosSystem/Sources/StaffRegistWindow.cs
@@ -9,6 +9,7 @@ namespace PosSystem.Source
public partial class StaffRegistWindow : Form
{
private readonly string _barcode;
+
public StaffRegistWindow(string barcode)
{
InitializeComponent();
@@ -20,17 +21,19 @@ public StaffRegistWindow(string barcode)
private void Staff_Regist_Load(object sender, EventArgs e)
{
- label2.Text = @"スタッフ名を追加します。"+ Environment.NewLine +@"入力が終わったらEnterキー。";
+ label2.Text = @"スタッフ名を追加します。" + Environment.NewLine + @"入力が終わったらEnterキー。";
textBox2.Text = _barcode;
}
+
private void Staff_Regist_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter && textBox1.Text != "")
{
- var result = MessageBox.Show(@"このなまえでとうろくしますか?"+Environment.NewLine+textBox1.Text, @"読み込みエラー", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
+ var result = MessageBox.Show(@"このなまえでとうろくしますか?" + Environment.NewLine + textBox1.Text, @"読み込みエラー",
+ MessageBoxButtons.YesNo, MessageBoxIcon.Information);
if (result == DialogResult.Yes)
{
- StaffObject staff = new StaffObject(_barcode, textBox1.Text);
+ var staff = new StaffObject(_barcode, textBox1.Text);
SocketClient.GetInstance().RegistUser(staff);
PosInformation.GetInstance().SetStaff(staff);
Close();
@@ -42,4 +45,4 @@ private void Staff_Regist_KeyDown(object sender, KeyEventArgs e)
}
}
}
-}
+}
\ No newline at end of file
diff --git a/PosSystem/Sources/StaffRegistWindow.resx b/PosSystem/Sources/StaffRegistWindow.resx
index 1af7de1..d4ad6f2 100644
--- a/PosSystem/Sources/StaffRegistWindow.resx
+++ b/PosSystem/Sources/StaffRegistWindow.resx
@@ -1,120 +1,126 @@
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
-
+
+
+
+ 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/PosSystem/app.config b/PosSystem/app.config
index c38b993..977549b 100644
--- a/PosSystem/app.config
+++ b/PosSystem/app.config
@@ -1,35 +1,49 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PosSystem/packages.config b/PosSystem/packages.config
index 07ddef7..9e1cf64 100644
--- a/PosSystem/packages.config
+++ b/PosSystem/packages.config
@@ -1,8 +1,18 @@
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file