summary refs log tree commit diff
diff options
context:
space:
mode:
author1970-01-01 00:00:00 +0000
committer2025-01-08 04:47:16 +0000
commita8873848498c3bf071b951957e0aaaa3d0c9aa77 (patch)
tree29143dbaa0371d97a25af92279c10794fe13c9da
parentfuture value 3 (diff)
downloadcs-a8873848498c3bf071b951957e0aaaa3d0c9aa77.tar
cs-a8873848498c3bf071b951957e0aaaa3d0c9aa77.tar.gz
cs-a8873848498c3bf071b951957e0aaaa3d0c9aa77.tar.bz2
cs-a8873848498c3bf071b951957e0aaaa3d0c9aa77.tar.xz
cs-a8873848498c3bf071b951957e0aaaa3d0c9aa77.zip
payment
-rw-r--r--payment/.vs/Payment/DesignTimeBuild/.dtbcache.v2bin0 -> 74199 bytes
-rw-r--r--payment/.vs/Payment/FileContentIndex/9fb6fd55-5dfa-41ba-91d5-4a7872dc10d0.vsidxbin0 -> 40965 bytes
-rw-r--r--payment/.vs/Payment/v17/.futdcache.v2bin0 -> 149 bytes
-rw-r--r--payment/.vs/Payment/v17/.suobin0 -> 34816 bytes
-rw-r--r--payment/.vs/ProjectEvaluation/payment.metadata.v7.binbin0 -> 171395 bytes
-rw-r--r--payment/.vs/ProjectEvaluation/payment.projects.v7.binbin0 -> 689757 bytes
-rw-r--r--payment/Payment.sln25
-rw-r--r--payment/Payment/Payment.csproj9
-rw-r--r--payment/Payment/Payment.csproj.user11
-rw-r--r--payment/Payment/Program.cs23
-rw-r--r--payment/Payment/bin/Debug/netcoreapp3.1/Payment.deps.json23
-rw-r--r--payment/Payment/bin/Debug/netcoreapp3.1/Payment.dllbin0 -> 15360 bytes
-rw-r--r--payment/Payment/bin/Debug/netcoreapp3.1/Payment.exebin0 -> 158208 bytes
-rw-r--r--payment/Payment/bin/Debug/netcoreapp3.1/Payment.pdbbin0 -> 14356 bytes
-rw-r--r--payment/Payment/bin/Debug/netcoreapp3.1/Payment.runtimeconfig.dev.json8
-rw-r--r--payment/Payment/bin/Debug/netcoreapp3.1/Payment.runtimeconfig.json9
-rw-r--r--payment/Payment/frmCustomer.Designer.cs143
-rw-r--r--payment/Payment/frmCustomer.cs102
-rw-r--r--payment/Payment/frmCustomer.resx120
-rw-r--r--payment/Payment/frmPayment.Designer.cs221
-rw-r--r--payment/Payment/frmPayment.cs120
-rw-r--r--payment/Payment/frmPayment.resx120
-rw-r--r--payment/Payment/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs4
-rw-r--r--payment/Payment/obj/Debug/netcoreapp3.1/Payment.AssemblyInfo.cs23
-rw-r--r--payment/Payment/obj/Debug/netcoreapp3.1/Payment.AssemblyInfoInputs.cache1
-rw-r--r--payment/Payment/obj/Debug/netcoreapp3.1/Payment.GeneratedMSBuildEditorConfig.editorconfig11
-rw-r--r--payment/Payment/obj/Debug/netcoreapp3.1/Payment.assets.cachebin0 -> 151 bytes
-rw-r--r--payment/Payment/obj/Debug/netcoreapp3.1/Payment.csproj.BuildWithSkipAnalyzers0
-rw-r--r--payment/Payment/obj/Debug/netcoreapp3.1/Payment.csproj.CoreCompileInputs.cache1
-rw-r--r--payment/Payment/obj/Debug/netcoreapp3.1/Payment.csproj.FileListAbsolute.txt16
-rw-r--r--payment/Payment/obj/Debug/netcoreapp3.1/Payment.csproj.GenerateResource.cachebin0 -> 118 bytes
-rw-r--r--payment/Payment/obj/Debug/netcoreapp3.1/Payment.designer.deps.json11
-rw-r--r--payment/Payment/obj/Debug/netcoreapp3.1/Payment.designer.runtimeconfig.json16
-rw-r--r--payment/Payment/obj/Debug/netcoreapp3.1/Payment.dllbin0 -> 15360 bytes
-rw-r--r--payment/Payment/obj/Debug/netcoreapp3.1/Payment.frmCustomer.resourcesbin0 -> 180 bytes
-rw-r--r--payment/Payment/obj/Debug/netcoreapp3.1/Payment.frmPayment.resourcesbin0 -> 180 bytes
-rw-r--r--payment/Payment/obj/Debug/netcoreapp3.1/Payment.genruntimeconfig.cache1
-rw-r--r--payment/Payment/obj/Debug/netcoreapp3.1/Payment.pdbbin0 -> 14356 bytes
-rw-r--r--payment/Payment/obj/Debug/netcoreapp3.1/apphost.exebin0 -> 158208 bytes
-rw-r--r--payment/Payment/obj/Payment.csproj.nuget.dgspec.json66
-rw-r--r--payment/Payment/obj/Payment.csproj.nuget.g.props15
-rw-r--r--payment/Payment/obj/Payment.csproj.nuget.g.targets2
-rw-r--r--payment/Payment/obj/project.assets.json71
-rw-r--r--payment/Payment/obj/project.nuget.cache8
44 files changed, 1180 insertions, 0 deletions
diff --git a/payment/.vs/Payment/DesignTimeBuild/.dtbcache.v2 b/payment/.vs/Payment/DesignTimeBuild/.dtbcache.v2
new file mode 100644
index 0000000..cc68be1
--- /dev/null
+++ b/payment/.vs/Payment/DesignTimeBuild/.dtbcache.v2
Binary files differdiff --git a/payment/.vs/Payment/FileContentIndex/9fb6fd55-5dfa-41ba-91d5-4a7872dc10d0.vsidx b/payment/.vs/Payment/FileContentIndex/9fb6fd55-5dfa-41ba-91d5-4a7872dc10d0.vsidx
new file mode 100644
index 0000000..508db48
--- /dev/null
+++ b/payment/.vs/Payment/FileContentIndex/9fb6fd55-5dfa-41ba-91d5-4a7872dc10d0.vsidx
Binary files differdiff --git a/payment/.vs/Payment/v17/.futdcache.v2 b/payment/.vs/Payment/v17/.futdcache.v2
new file mode 100644
index 0000000..a86b8c0
--- /dev/null
+++ b/payment/.vs/Payment/v17/.futdcache.v2
Binary files differdiff --git a/payment/.vs/Payment/v17/.suo b/payment/.vs/Payment/v17/.suo
new file mode 100644
index 0000000..2540cf9
--- /dev/null
+++ b/payment/.vs/Payment/v17/.suo
Binary files differdiff --git a/payment/.vs/ProjectEvaluation/payment.metadata.v7.bin b/payment/.vs/ProjectEvaluation/payment.metadata.v7.bin
new file mode 100644
index 0000000..869932d
--- /dev/null
+++ b/payment/.vs/ProjectEvaluation/payment.metadata.v7.bin
Binary files differdiff --git a/payment/.vs/ProjectEvaluation/payment.projects.v7.bin b/payment/.vs/ProjectEvaluation/payment.projects.v7.bin
new file mode 100644
index 0000000..394080e
--- /dev/null
+++ b/payment/.vs/ProjectEvaluation/payment.projects.v7.bin
Binary files differdiff --git a/payment/Payment.sln b/payment/Payment.sln
new file mode 100644
index 0000000..63d6c28
--- /dev/null
+++ b/payment/Payment.sln
@@ -0,0 +1,25 @@
+

+Microsoft Visual Studio Solution File, Format Version 12.00

+# Visual Studio Version 16

+VisualStudioVersion = 16.0.30413.136

+MinimumVisualStudioVersion = 10.0.40219.1

+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Payment", "Payment\Payment.csproj", "{A859E276-79B2-4CE1-9F7A-C5E741CF8F90}"

+EndProject

+Global

+	GlobalSection(SolutionConfigurationPlatforms) = preSolution

+		Debug|Any CPU = Debug|Any CPU

+		Release|Any CPU = Release|Any CPU

+	EndGlobalSection

+	GlobalSection(ProjectConfigurationPlatforms) = postSolution

+		{A859E276-79B2-4CE1-9F7A-C5E741CF8F90}.Debug|Any CPU.ActiveCfg = Debug|Any CPU

+		{A859E276-79B2-4CE1-9F7A-C5E741CF8F90}.Debug|Any CPU.Build.0 = Debug|Any CPU

+		{A859E276-79B2-4CE1-9F7A-C5E741CF8F90}.Release|Any CPU.ActiveCfg = Release|Any CPU

+		{A859E276-79B2-4CE1-9F7A-C5E741CF8F90}.Release|Any CPU.Build.0 = Release|Any CPU

+	EndGlobalSection

+	GlobalSection(SolutionProperties) = preSolution

+		HideSolutionNode = FALSE

+	EndGlobalSection

+	GlobalSection(ExtensibilityGlobals) = postSolution

+		SolutionGuid = {5A039AE9-22A4-4595-96DB-3373F193A6B4}

+	EndGlobalSection

+EndGlobal

diff --git a/payment/Payment/Payment.csproj b/payment/Payment/Payment.csproj
new file mode 100644
index 0000000..7b05c62
--- /dev/null
+++ b/payment/Payment/Payment.csproj
@@ -0,0 +1,9 @@
+<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">

+

+  <PropertyGroup>

+    <OutputType>WinExe</OutputType>

+    <TargetFramework>netcoreapp3.1</TargetFramework>

+    <UseWindowsForms>true</UseWindowsForms>

+  </PropertyGroup>

+

+</Project>
\ No newline at end of file
diff --git a/payment/Payment/Payment.csproj.user b/payment/Payment/Payment.csproj.user
new file mode 100644
index 0000000..82c4f70
--- /dev/null
+++ b/payment/Payment/Payment.csproj.user
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>

+<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

+  <ItemGroup>

+    <Compile Update="frmCustomer.cs">

+      <SubType>Form</SubType>

+    </Compile>

+    <Compile Update="frmPayment.cs">

+      <SubType>Form</SubType>

+    </Compile>

+  </ItemGroup>

+</Project>
\ No newline at end of file
diff --git a/payment/Payment/Program.cs b/payment/Payment/Program.cs
new file mode 100644
index 0000000..7b3043c
--- /dev/null
+++ b/payment/Payment/Program.cs
@@ -0,0 +1,23 @@
+using System;

+using System.Collections.Generic;

+using System.Linq;

+using System.Threading.Tasks;

+using System.Windows.Forms;

+

+namespace Payment

+{

+    static class Program

+    {

+        /// <summary>

+        ///  The main entry point for the application.

+        /// </summary>

+        [STAThread]

+        static void Main()

+        {

+            Application.SetHighDpiMode(HighDpiMode.SystemAware);

+            Application.EnableVisualStyles();

+            Application.SetCompatibleTextRenderingDefault(false);

+            Application.Run(new frmCustomer());

+        }

+    }

+}

diff --git a/payment/Payment/bin/Debug/netcoreapp3.1/Payment.deps.json b/payment/Payment/bin/Debug/netcoreapp3.1/Payment.deps.json
new file mode 100644
index 0000000..00c4d4d
--- /dev/null
+++ b/payment/Payment/bin/Debug/netcoreapp3.1/Payment.deps.json
@@ -0,0 +1,23 @@
+{

+  "runtimeTarget": {

+    "name": ".NETCoreApp,Version=v3.1",

+    "signature": ""

+  },

+  "compilationOptions": {},

+  "targets": {

+    ".NETCoreApp,Version=v3.1": {

+      "Payment/1.0.0": {

+        "runtime": {

+          "Payment.dll": {}

+        }

+      }

+    }

+  },

+  "libraries": {

+    "Payment/1.0.0": {

+      "type": "project",

+      "serviceable": false,

+      "sha512": ""

+    }

+  }

+}
\ No newline at end of file
diff --git a/payment/Payment/bin/Debug/netcoreapp3.1/Payment.dll b/payment/Payment/bin/Debug/netcoreapp3.1/Payment.dll
new file mode 100644
index 0000000..1dd4df3
--- /dev/null
+++ b/payment/Payment/bin/Debug/netcoreapp3.1/Payment.dll
Binary files differdiff --git a/payment/Payment/bin/Debug/netcoreapp3.1/Payment.exe b/payment/Payment/bin/Debug/netcoreapp3.1/Payment.exe
new file mode 100644
index 0000000..a4169e4
--- /dev/null
+++ b/payment/Payment/bin/Debug/netcoreapp3.1/Payment.exe
Binary files differdiff --git a/payment/Payment/bin/Debug/netcoreapp3.1/Payment.pdb b/payment/Payment/bin/Debug/netcoreapp3.1/Payment.pdb
new file mode 100644
index 0000000..b7bd900
--- /dev/null
+++ b/payment/Payment/bin/Debug/netcoreapp3.1/Payment.pdb
Binary files differdiff --git a/payment/Payment/bin/Debug/netcoreapp3.1/Payment.runtimeconfig.dev.json b/payment/Payment/bin/Debug/netcoreapp3.1/Payment.runtimeconfig.dev.json
new file mode 100644
index 0000000..214bf78
--- /dev/null
+++ b/payment/Payment/bin/Debug/netcoreapp3.1/Payment.runtimeconfig.dev.json
@@ -0,0 +1,8 @@
+{

+  "runtimeOptions": {

+    "additionalProbingPaths": [

+      "C:\\Users\\User\\.dotnet\\store\\|arch|\\|tfm|",

+      "C:\\Users\\User\\.nuget\\packages"

+    ]

+  }

+}
\ No newline at end of file
diff --git a/payment/Payment/bin/Debug/netcoreapp3.1/Payment.runtimeconfig.json b/payment/Payment/bin/Debug/netcoreapp3.1/Payment.runtimeconfig.json
new file mode 100644
index 0000000..9b3a644
--- /dev/null
+++ b/payment/Payment/bin/Debug/netcoreapp3.1/Payment.runtimeconfig.json
@@ -0,0 +1,9 @@
+{

+  "runtimeOptions": {

+    "tfm": "netcoreapp3.1",

+    "framework": {

+      "name": "Microsoft.WindowsDesktop.App",

+      "version": "3.1.0"

+    }

+  }

+}
\ No newline at end of file
diff --git a/payment/Payment/frmCustomer.Designer.cs b/payment/Payment/frmCustomer.Designer.cs
new file mode 100644
index 0000000..1effbc0
--- /dev/null
+++ b/payment/Payment/frmCustomer.Designer.cs
@@ -0,0 +1,143 @@
+namespace Payment

+{

+    partial class frmCustomer

+    {

+        /// <summary>

+        ///  Required designer variable.

+        /// </summary>

+        private System.ComponentModel.IContainer components = null;

+

+        /// <summary>

+        ///  Clean up any resources being used.

+        /// </summary>

+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>

+        protected override void Dispose(bool disposing)

+        {

+            if (disposing && (components != null))

+            {

+                components.Dispose();

+            }

+            base.Dispose(disposing);

+        }

+

+        #region Windows Form Designer generated code

+

+        /// <summary>

+        ///  Required method for Designer support - do not modify

+        ///  the contents of this method with the code editor.

+        /// </summary>

+        private void InitializeComponent()

+        {

+            btnExit = new System.Windows.Forms.Button();

+            btnSave = new System.Windows.Forms.Button();

+            lblPayment = new System.Windows.Forms.Label();

+            btnSelectPayment = new System.Windows.Forms.Button();

+            label2 = new System.Windows.Forms.Label();

+            label1 = new System.Windows.Forms.Label();

+            cboNames = new System.Windows.Forms.ComboBox();

+            SuspendLayout();

+            // 

+            // btnExit

+            // 

+            btnExit.DialogResult = System.Windows.Forms.DialogResult.Cancel;

+            btnExit.Location = new System.Drawing.Point(294, 209);

+            btnExit.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);

+            btnExit.Name = "btnExit";

+            btnExit.Size = new System.Drawing.Size(88, 27);

+            btnExit.TabIndex = 21;

+            btnExit.Text = "E&xit";

+            btnExit.Click += btnExit_Click;

+            // 

+            // btnSave

+            // 

+            btnSave.Location = new System.Drawing.Point(191, 209);

+            btnSave.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);

+            btnSave.Name = "btnSave";

+            btnSave.Size = new System.Drawing.Size(88, 27);

+            btnSave.TabIndex = 20;

+            btnSave.Text = "&Save";

+            btnSave.Click += btnSave_Click;

+            // 

+            // lblPayment

+            // 

+            lblPayment.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;

+            lblPayment.Location = new System.Drawing.Point(14, 89);

+            lblPayment.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);

+            lblPayment.Name = "lblPayment";

+            lblPayment.Size = new System.Drawing.Size(233, 92);

+            lblPayment.TabIndex = 19;

+            lblPayment.TextChanged += lblPayment_TextChanged;

+            // 

+            // btnSelectPayment

+            // 

+            btnSelectPayment.Location = new System.Drawing.Point(266, 89);

+            btnSelectPayment.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);

+            btnSelectPayment.Name = "btnSelectPayment";

+            btnSelectPayment.Size = new System.Drawing.Size(121, 27);

+            btnSelectPayment.TabIndex = 18;

+            btnSelectPayment.Text = "Select Payment";

+            btnSelectPayment.Click += btnSelectPayment_Click;

+            // 

+            // label2

+            // 

+            label2.Location = new System.Drawing.Point(14, 61);

+            label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);

+            label2.Name = "label2";

+            label2.Size = new System.Drawing.Size(117, 27);

+            label2.TabIndex = 17;

+            label2.Text = "Payment method:";

+            // 

+            // label1

+            // 

+            label1.Location = new System.Drawing.Point(14, 15);

+            label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);

+            label1.Name = "label1";

+            label1.Size = new System.Drawing.Size(117, 27);

+            label1.TabIndex = 16;

+            label1.Text = "Customer name:";

+            // 

+            // cboNames

+            // 

+            cboNames.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;

+            cboNames.FormattingEnabled = true;

+            cboNames.Location = new System.Drawing.Point(154, 15);

+            cboNames.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);

+            cboNames.Name = "cboNames";

+            cboNames.Size = new System.Drawing.Size(233, 23);

+            cboNames.TabIndex = 15;

+            cboNames.SelectedIndexChanged += cboNames_SelectedIndexChanged;

+            // 

+            // frmCustomer

+            // 

+            AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);

+            AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;

+            CancelButton = btnExit;

+            ClientSize = new System.Drawing.Size(406, 252);

+            Controls.Add(btnExit);

+            Controls.Add(btnSave);

+            Controls.Add(lblPayment);

+            Controls.Add(btnSelectPayment);

+            Controls.Add(label2);

+            Controls.Add(label1);

+            Controls.Add(cboNames);

+            Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);

+            Name = "frmCustomer";

+            StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;

+            Text = "Customer";

+            FormClosing += frmCustomer_FormClosing;

+            Load += frmCustomer_Load;

+            ResumeLayout(false);

+        }

+

+        #endregion

+

+        private System.Windows.Forms.Button btnExit;

+        private System.Windows.Forms.Button btnSave;

+        private System.Windows.Forms.Label lblPayment;

+        private System.Windows.Forms.Button btnSelectPayment;

+        private System.Windows.Forms.Label label2;

+        private System.Windows.Forms.Label label1;

+        private System.Windows.Forms.ComboBox cboNames;

+    }

+}

+

diff --git a/payment/Payment/frmCustomer.cs b/payment/Payment/frmCustomer.cs
new file mode 100644
index 0000000..eb57959
--- /dev/null
+++ b/payment/Payment/frmCustomer.cs
@@ -0,0 +1,102 @@
+using System;

+using System.Collections.Generic;

+using System.ComponentModel;

+using System.Data;

+using System.Drawing;

+using System.Linq;

+using System.Text;

+using System.Threading.Tasks;

+using System.Windows.Forms;

+

+namespace Payment

+{

+	public partial class frmCustomer : Form

+	{

+		public frmCustomer()

+		{

+			InitializeComponent();

+		}

+

+		bool isDataSaved = true;

+

+		private void frmCustomer_Load(object sender, EventArgs e)

+		{

+			cboNames.Items.Add("Mike Smith");

+			cboNames.Items.Add("Nancy Jones");

+		}

+

+		private void frmCustomer_FormClosing(object sender, FormClosingEventArgs e)

+		{

+			if (isDataSaved == false) {

+				string msg = "This form contains unsaved data"

+					+ "\n\nDo you want to save it?";

+

+				DialogResult button =

+					MessageBox.Show(msg, "Customer",

+					MessageBoxButtons.YesNoCancel,

+					MessageBoxIcon.Warning);

+

+				if (button == DialogResult.Yes)

+					if (IsValidData())

+						this.SaveData();

+					else

+						e.Cancel = true;

+				if (button == DialogResult.Cancel)

+					e.Cancel = true;

+			}

+		}

+

+		private void btnSelectPayment_Click(object sender, EventArgs e)

+		{

+			Form payment = new frmPayment();

+			DialogResult selectedButton = payment.ShowDialog();

+			if (selectedButton == DialogResult.OK)

+				lblPayment.Text = (string)payment.Tag;

+		}

+

+		private void btnSave_Click(object sender, EventArgs e)

+		{

+			if (IsValidData())

+				SaveData();

+		}

+

+		private void btnExit_Click(object sender, EventArgs e)

+		{

+			this.Close();

+		}

+

+		private void lblPayment_TextChanged(object sender, EventArgs e)

+		{

+			isDataSaved = false;

+		}

+

+		private void cboNames_SelectedIndexChanged(object sender, EventArgs e)

+		{

+			isDataSaved = false;

+			lblPayment.Text = "";

+		}

+

+		private void SaveData()

+		{

+			cboNames.SelectedIndex = -1;

+			lblPayment.Text = "";

+			isDataSaved = true;

+			cboNames.Focus();

+		}

+

+		private bool IsValidData()

+		{

+			if (cboNames.SelectedIndex == -1) {

+				MessageBox.Show("You must select a customer",

+					"Entry Error");

+				return false;

+			}

+			if (lblPayment.Text == "") {

+				MessageBox.Show("You must enter a payment",

+					"Entry Error");

+				return false;

+			}

+			return true;

+		}

+	}

+}

diff --git a/payment/Payment/frmCustomer.resx b/payment/Payment/frmCustomer.resx
new file mode 100644
index 0000000..b92c163
--- /dev/null
+++ b/payment/Payment/frmCustomer.resx
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="utf-8"?>

+<root>

+  <!--

+    Microsoft ResX Schema 

+

+    Version 2.0

+

+    The primary goals of this format is to allow a simple XML format

+    that is mostly human readable. The generation and parsing of the

+    various data types are done through the TypeConverter classes

+    associated with the data types.

+

+    Example:

+

+    ... ado.net/XML headers & schema ...

+    <resheader name="resmimetype">text/microsoft-resx</resheader>

+    <resheader name="version">2.0</resheader>

+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>

+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>

+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>

+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>

+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">

+        <value>[base64 mime encoded serialized .NET Framework object]</value>

+    </data>

+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">

+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>

+        <comment>This is a comment</comment>

+    </data>

+

+    There are any number of "resheader" rows that contain simple

+    name/value pairs.

+

+    Each data row contains a name, and value. The row also contains a

+    type or mimetype. Type corresponds to a .NET class that support

+    text/value conversion through the TypeConverter architecture.

+    Classes that don't support this are serialized and stored with the

+    mimetype set.

+

+    The mimetype is used for serialized objects, and tells the

+    ResXResourceReader how to depersist the object. This is currently not

+    extensible. For a given mimetype the value must be set accordingly:

+

+    Note - application/x-microsoft.net.object.binary.base64 is the format

+    that the ResXResourceWriter will generate, however the reader can

+    read any of the formats listed below.

+

+    mimetype: application/x-microsoft.net.object.binary.base64

+    value   : The object must be serialized with

+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter

+            : and then encoded with base64 encoding.

+    

+    mimetype: application/x-microsoft.net.object.soap.base64

+    value   : The object must be serialized with

+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter

+            : and then encoded with base64 encoding.

+

+    mimetype: application/x-microsoft.net.object.bytearray.base64

+    value   : The object must be serialized into a byte array

+            : using a System.ComponentModel.TypeConverter

+            : and then encoded with base64 encoding.

+    -->

+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">

+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />

+    <xsd:element name="root" msdata:IsDataSet="true">

+      <xsd:complexType>

+        <xsd:choice maxOccurs="unbounded">

+          <xsd:element name="metadata">

+            <xsd:complexType>

+              <xsd:sequence>

+                <xsd:element name="value" type="xsd:string" minOccurs="0" />

+              </xsd:sequence>

+              <xsd:attribute name="name" use="required" type="xsd:string" />

+              <xsd:attribute name="type" type="xsd:string" />

+              <xsd:attribute name="mimetype" type="xsd:string" />

+              <xsd:attribute ref="xml:space" />

+            </xsd:complexType>

+          </xsd:element>

+          <xsd:element name="assembly">

+            <xsd:complexType>

+              <xsd:attribute name="alias" type="xsd:string" />

+              <xsd:attribute name="name" type="xsd:string" />

+            </xsd:complexType>

+          </xsd:element>

+          <xsd:element name="data">

+            <xsd:complexType>

+              <xsd:sequence>

+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />

+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />

+              </xsd:sequence>

+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />

+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />

+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />

+              <xsd:attribute ref="xml:space" />

+            </xsd:complexType>

+          </xsd:element>

+          <xsd:element name="resheader">

+            <xsd:complexType>

+              <xsd:sequence>

+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />

+              </xsd:sequence>

+              <xsd:attribute name="name" type="xsd:string" use="required" />

+            </xsd:complexType>

+          </xsd:element>

+        </xsd:choice>

+      </xsd:complexType>

+    </xsd:element>

+  </xsd:schema>

+  <resheader name="resmimetype">

+    <value>text/microsoft-resx</value>

+  </resheader>

+  <resheader name="version">

+    <value>2.0</value>

+  </resheader>

+  <resheader name="reader">

+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>

+  </resheader>

+  <resheader name="writer">

+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>

+  </resheader>

+</root>
\ No newline at end of file
diff --git a/payment/Payment/frmPayment.Designer.cs b/payment/Payment/frmPayment.Designer.cs
new file mode 100644
index 0000000..00de168
--- /dev/null
+++ b/payment/Payment/frmPayment.Designer.cs
@@ -0,0 +1,221 @@
+namespace Payment

+{

+    partial class frmPayment

+    {

+        /// <summary>

+        /// Required designer variable.

+        /// </summary>

+        private System.ComponentModel.IContainer components = null;

+

+        /// <summary>

+        /// Clean up any resources being used.

+        /// </summary>

+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>

+        protected override void Dispose(bool disposing)

+        {

+            if (disposing && (components != null)) {

+                components.Dispose();

+            }

+            base.Dispose(disposing);

+        }

+

+        #region Windows Form Designer generated code

+

+        /// <summary>

+        /// Required method for Designer support - do not modify

+        /// the contents of this method with the code editor.

+        /// </summary>

+        private void InitializeComponent()

+        {

+            boxBilling = new System.Windows.Forms.GroupBox();

+            rdoBill = new System.Windows.Forms.RadioButton();

+            rdoCreditCard = new System.Windows.Forms.RadioButton();

+            lblCard = new System.Windows.Forms.Label();

+            lstCreditCardType = new System.Windows.Forms.ListBox();

+            lblNum = new System.Windows.Forms.Label();

+            txtNum = new System.Windows.Forms.TextBox();

+            lblExpire = new System.Windows.Forms.Label();

+            cboExpirationMonth = new System.Windows.Forms.ComboBox();

+            cboExpirationYear = new System.Windows.Forms.ComboBox();

+            chkDefault = new System.Windows.Forms.CheckBox();

+            btnOK = new System.Windows.Forms.Button();

+            btnCancel = new System.Windows.Forms.Button();

+            boxBilling.SuspendLayout();

+            SuspendLayout();

+            // 

+            // boxBilling

+            // 

+            boxBilling.Controls.Add(rdoBill);

+            boxBilling.Controls.Add(rdoCreditCard);

+            boxBilling.Location = new System.Drawing.Point(17, 12);

+            boxBilling.Name = "boxBilling";

+            boxBilling.Size = new System.Drawing.Size(320, 58);

+            boxBilling.TabIndex = 0;

+            boxBilling.TabStop = false;

+            boxBilling.Text = "Billing";

+            // 

+            // rdoBill

+            // 

+            rdoBill.AutoSize = true;

+            rdoBill.Location = new System.Drawing.Point(189, 22);

+            rdoBill.Name = "rdoBill";

+            rdoBill.Size = new System.Drawing.Size(94, 19);

+            rdoBill.TabIndex = 1;

+            rdoBill.Text = "Bill customer";

+            rdoBill.UseVisualStyleBackColor = true;

+            rdoBill.CheckedChanged += Billing_CheckedChanged;

+            // 

+            // rdoCreditCard

+            // 

+            rdoCreditCard.AutoSize = true;

+            rdoCreditCard.Checked = true;

+            rdoCreditCard.Location = new System.Drawing.Point(33, 22);

+            rdoCreditCard.Name = "rdoCreditCard";

+            rdoCreditCard.Size = new System.Drawing.Size(83, 19);

+            rdoCreditCard.TabIndex = 0;

+            rdoCreditCard.TabStop = true;

+            rdoCreditCard.Text = "Credit card";

+            rdoCreditCard.UseVisualStyleBackColor = true;

+            rdoCreditCard.CheckedChanged += Billing_CheckedChanged;

+            // 

+            // lblCard

+            // 

+            lblCard.AutoSize = true;

+            lblCard.Location = new System.Drawing.Point(8, 86);

+            lblCard.Name = "lblCard";

+            lblCard.Size = new System.Drawing.Size(94, 15);

+            lblCard.TabIndex = 1;

+            lblCard.Text = "Credit card type:";

+            // 

+            // lstCreditCardType

+            // 

+            lstCreditCardType.FormattingEnabled = true;

+            lstCreditCardType.ItemHeight = 15;

+            lstCreditCardType.Location = new System.Drawing.Point(105, 86);

+            lstCreditCardType.Name = "lstCreditCardType";

+            lstCreditCardType.Size = new System.Drawing.Size(238, 79);

+            lstCreditCardType.TabIndex = 2;

+            // 

+            // lblNum

+            // 

+            lblNum.AutoSize = true;

+            lblNum.Location = new System.Drawing.Point(8, 174);

+            lblNum.Name = "lblNum";

+            lblNum.Size = new System.Drawing.Size(80, 15);

+            lblNum.TabIndex = 3;

+            lblNum.Text = "Card number:";

+            // 

+            // txtNum

+            // 

+            txtNum.Location = new System.Drawing.Point(105, 174);

+            txtNum.Name = "txtNum";

+            txtNum.Size = new System.Drawing.Size(238, 23);

+            txtNum.TabIndex = 4;

+            // 

+            // lblExpire

+            // 

+            lblExpire.AutoSize = true;

+            lblExpire.Location = new System.Drawing.Point(8, 213);

+            lblExpire.Name = "lblExpire";

+            lblExpire.Size = new System.Drawing.Size(88, 15);

+            lblExpire.TabIndex = 5;

+            lblExpire.Text = "Expiration date:";

+            // 

+            // cboExpirationMonth

+            // 

+            cboExpirationMonth.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;

+            cboExpirationMonth.FormattingEnabled = true;

+            cboExpirationMonth.Location = new System.Drawing.Point(105, 213);

+            cboExpirationMonth.Name = "cboExpirationMonth";

+            cboExpirationMonth.Size = new System.Drawing.Size(116, 23);

+            cboExpirationMonth.TabIndex = 6;

+            // 

+            // cboExpirationYear

+            // 

+            cboExpirationYear.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;

+            cboExpirationYear.FormattingEnabled = true;

+            cboExpirationYear.Location = new System.Drawing.Point(227, 213);

+            cboExpirationYear.Name = "cboExpirationYear";

+            cboExpirationYear.Size = new System.Drawing.Size(116, 23);

+            cboExpirationYear.TabIndex = 7;

+            // 

+            // chkDefault

+            // 

+            chkDefault.AutoSize = true;

+            chkDefault.Checked = true;

+            chkDefault.CheckState = System.Windows.Forms.CheckState.Checked;

+            chkDefault.Location = new System.Drawing.Point(14, 252);

+            chkDefault.Name = "chkDefault";

+            chkDefault.Size = new System.Drawing.Size(177, 19);

+            chkDefault.TabIndex = 8;

+            chkDefault.Text = "Set as default billing method";

+            chkDefault.UseVisualStyleBackColor = true;

+            // 

+            // btnOK

+            // 

+            btnOK.Location = new System.Drawing.Point(177, 286);

+            btnOK.Name = "btnOK";

+            btnOK.Size = new System.Drawing.Size(75, 23);

+            btnOK.TabIndex = 9;

+            btnOK.Text = "OK";

+            btnOK.UseVisualStyleBackColor = true;

+            btnOK.Click += btnOK_Click;

+            // 

+            // btnCancel

+            // 

+            btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;

+            btnCancel.Location = new System.Drawing.Point(259, 286);

+            btnCancel.Name = "btnCancel";

+            btnCancel.Size = new System.Drawing.Size(75, 23);

+            btnCancel.TabIndex = 10;

+            btnCancel.Text = "Cancel";

+            btnCancel.UseVisualStyleBackColor = true;

+            // 

+            // frmPayment

+            // 

+            AcceptButton = btnOK;

+            AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);

+            AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;

+            CancelButton = btnCancel;

+            ClientSize = new System.Drawing.Size(354, 321);

+            ControlBox = false;

+            Controls.Add(btnCancel);

+            Controls.Add(btnOK);

+            Controls.Add(chkDefault);

+            Controls.Add(cboExpirationYear);

+            Controls.Add(cboExpirationMonth);

+            Controls.Add(lblExpire);

+            Controls.Add(txtNum);

+            Controls.Add(lblNum);

+            Controls.Add(lstCreditCardType);

+            Controls.Add(lblCard);

+            Controls.Add(boxBilling);

+            FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;

+            MaximizeBox = false;

+            Name = "frmPayment";

+            StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;

+            Text = "Payment";

+            Load += frmPayment_Load;

+            boxBilling.ResumeLayout(false);

+            boxBilling.PerformLayout();

+            ResumeLayout(false);

+            PerformLayout();

+        }

+

+        #endregion

+

+        private System.Windows.Forms.GroupBox boxBilling;

+        private System.Windows.Forms.RadioButton rdoBill;

+        private System.Windows.Forms.RadioButton rdoCreditCard;

+        private System.Windows.Forms.Label lblCard;

+        private System.Windows.Forms.ListBox lstCreditCardType;

+        private System.Windows.Forms.Label lblNum;

+        private System.Windows.Forms.TextBox txtNum;

+        private System.Windows.Forms.Label lblExpire;

+        private System.Windows.Forms.ComboBox cboExpirationMonth;

+        private System.Windows.Forms.ComboBox cboExpirationYear;

+        private System.Windows.Forms.CheckBox chkDefault;

+        private System.Windows.Forms.Button btnOK;

+        private System.Windows.Forms.Button btnCancel;

+    }

+}
\ No newline at end of file
diff --git a/payment/Payment/frmPayment.cs b/payment/Payment/frmPayment.cs
new file mode 100644
index 0000000..21a1b70
--- /dev/null
+++ b/payment/Payment/frmPayment.cs
@@ -0,0 +1,120 @@
+using System;

+using System.Collections.Generic;

+using System.ComponentModel;

+using System.Data;

+using System.Drawing;

+using System.Text;

+using System.Windows.Forms;

+

+namespace Payment

+{

+	public partial class frmPayment : Form

+	{

+		public frmPayment()

+		{

+			InitializeComponent();

+		}

+

+		private void frmPayment_Load(object sender, EventArgs e)

+		{

+			lstCreditCardType.Items.Add("Visa");

+			lstCreditCardType.Items.Add("Mastercard");

+			lstCreditCardType.Items.Add("American Express");

+			lstCreditCardType.SelectedIndex = 0;

+

+			string[] months = {"Select a month...",

+				"January", "February", "March",

+				"April", "May", "June",

+				"July", "August", "September",

+				"October", "November", "December"};

+			foreach (string month in months)

+				cboExpirationMonth.Items.Add(month);

+			cboExpirationMonth.SelectedIndex = 0;

+

+			int year = DateTime.Today.Year;

+			int endYear = year+8;

+			cboExpirationYear.Items.Add("Select a year...");

+			while (year < endYear) {

+				cboExpirationYear.Items.Add(year);

+				++year;

+			}

+			cboExpirationYear.SelectedIndex = 0;

+		}

+

+		private void btnOK_Click(object sender, EventArgs e)

+		{

+			if (IsValidData())

+				this.SaveData();

+		}

+

+		private void Billing_CheckedChanged(object sender, EventArgs e)

+		{

+			if (rdoCreditCard.Checked)

+				EnableControls();

+			else

+				DisableControls();

+		}

+

+		private void EnableControls()

+		{

+			lstCreditCardType.Enabled = true;

+			txtNum.Enabled = true;

+			cboExpirationMonth.Enabled = true;

+			cboExpirationYear.Enabled = true;

+		}

+

+		private void DisableControls()

+		{

+			lstCreditCardType.Enabled = false;

+			txtNum.Enabled = false;

+			cboExpirationMonth.Enabled = false;

+			cboExpirationYear.Enabled = false;

+		}

+

+		private bool IsValidData()

+		{

+			if (rdoCreditCard.Checked) {

+				if (lstCreditCardType.SelectedIndex == -1) {

+					MessageBox.Show("You must select a credit card type",

+						"Entry Error");

+					lstCreditCardType.Focus();

+					return false;

+				}

+				if (txtNum.Text == "") {

+					MessageBox.Show("You must enter a credit card number",

+						"Entry Error");

+					txtNum.Focus();

+					return false;

+				}

+				if (cboExpirationMonth.SelectedIndex == 0) {

+					MessageBox.Show("You must select a month", "Entry Error");

+					cboExpirationMonth.Focus();

+					return false;

+				}

+				if (cboExpirationYear.SelectedIndex == 0) {

+					MessageBox.Show("You must select a year", "Entry Error");

+					cboExpirationYear.Focus();

+					return false;

+				}

+			}

+			return true;

+		}

+

+		private void SaveData()

+		{

+			string msg = null;

+			if (rdoCreditCard.Checked)

+				msg = "Charge to credit card"

+					+ "\n\nCard type: " + lstCreditCardType.Text

+					+ "\nCard number: " + txtNum.Text

+					+ "\nExpiration date: " + cboExpirationMonth.Text

+					+ "/" + cboExpirationYear.Text + "\n";

+			else

+				msg = "Send bill to customer" + "\n\n";

+			msg += "Default billing: " + (bool)chkDefault.Checked;

+

+			this.Tag = msg;

+			this.DialogResult = DialogResult.OK;

+		}

+	}

+}

diff --git a/payment/Payment/frmPayment.resx b/payment/Payment/frmPayment.resx
new file mode 100644
index 0000000..b92c163
--- /dev/null
+++ b/payment/Payment/frmPayment.resx
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="utf-8"?>

+<root>

+  <!--

+    Microsoft ResX Schema 

+

+    Version 2.0

+

+    The primary goals of this format is to allow a simple XML format

+    that is mostly human readable. The generation and parsing of the

+    various data types are done through the TypeConverter classes

+    associated with the data types.

+

+    Example:

+

+    ... ado.net/XML headers & schema ...

+    <resheader name="resmimetype">text/microsoft-resx</resheader>

+    <resheader name="version">2.0</resheader>

+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>

+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>

+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>

+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>

+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">

+        <value>[base64 mime encoded serialized .NET Framework object]</value>

+    </data>

+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">

+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>

+        <comment>This is a comment</comment>

+    </data>

+

+    There are any number of "resheader" rows that contain simple

+    name/value pairs.

+

+    Each data row contains a name, and value. The row also contains a

+    type or mimetype. Type corresponds to a .NET class that support

+    text/value conversion through the TypeConverter architecture.

+    Classes that don't support this are serialized and stored with the

+    mimetype set.

+

+    The mimetype is used for serialized objects, and tells the

+    ResXResourceReader how to depersist the object. This is currently not

+    extensible. For a given mimetype the value must be set accordingly:

+

+    Note - application/x-microsoft.net.object.binary.base64 is the format

+    that the ResXResourceWriter will generate, however the reader can

+    read any of the formats listed below.

+

+    mimetype: application/x-microsoft.net.object.binary.base64

+    value   : The object must be serialized with

+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter

+            : and then encoded with base64 encoding.

+    

+    mimetype: application/x-microsoft.net.object.soap.base64

+    value   : The object must be serialized with

+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter

+            : and then encoded with base64 encoding.

+

+    mimetype: application/x-microsoft.net.object.bytearray.base64

+    value   : The object must be serialized into a byte array

+            : using a System.ComponentModel.TypeConverter

+            : and then encoded with base64 encoding.

+    -->

+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">

+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />

+    <xsd:element name="root" msdata:IsDataSet="true">

+      <xsd:complexType>

+        <xsd:choice maxOccurs="unbounded">

+          <xsd:element name="metadata">

+            <xsd:complexType>

+              <xsd:sequence>

+                <xsd:element name="value" type="xsd:string" minOccurs="0" />

+              </xsd:sequence>

+              <xsd:attribute name="name" use="required" type="xsd:string" />

+              <xsd:attribute name="type" type="xsd:string" />

+              <xsd:attribute name="mimetype" type="xsd:string" />

+              <xsd:attribute ref="xml:space" />

+            </xsd:complexType>

+          </xsd:element>

+          <xsd:element name="assembly">

+            <xsd:complexType>

+              <xsd:attribute name="alias" type="xsd:string" />

+              <xsd:attribute name="name" type="xsd:string" />

+            </xsd:complexType>

+          </xsd:element>

+          <xsd:element name="data">

+            <xsd:complexType>

+              <xsd:sequence>

+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />

+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />

+              </xsd:sequence>

+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />

+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />

+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />

+              <xsd:attribute ref="xml:space" />

+            </xsd:complexType>

+          </xsd:element>

+          <xsd:element name="resheader">

+            <xsd:complexType>

+              <xsd:sequence>

+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />

+              </xsd:sequence>

+              <xsd:attribute name="name" type="xsd:string" use="required" />

+            </xsd:complexType>

+          </xsd:element>

+        </xsd:choice>

+      </xsd:complexType>

+    </xsd:element>

+  </xsd:schema>

+  <resheader name="resmimetype">

+    <value>text/microsoft-resx</value>

+  </resheader>

+  <resheader name="version">

+    <value>2.0</value>

+  </resheader>

+  <resheader name="reader">

+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>

+  </resheader>

+  <resheader name="writer">

+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>

+  </resheader>

+</root>
\ No newline at end of file
diff --git a/payment/Payment/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs b/payment/Payment/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs
new file mode 100644
index 0000000..3364fdf
--- /dev/null
+++ b/payment/Payment/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs
@@ -0,0 +1,4 @@
+// <autogenerated />

+using System;

+using System.Reflection;

+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v3.1", FrameworkDisplayName = ".NET Core 3.1")]

diff --git a/payment/Payment/obj/Debug/netcoreapp3.1/Payment.AssemblyInfo.cs b/payment/Payment/obj/Debug/netcoreapp3.1/Payment.AssemblyInfo.cs
new file mode 100644
index 0000000..f49f8d5
--- /dev/null
+++ b/payment/Payment/obj/Debug/netcoreapp3.1/Payment.AssemblyInfo.cs
@@ -0,0 +1,23 @@
+//------------------------------------------------------------------------------

+// <auto-generated>

+//     This code was generated by a tool.

+//     Runtime Version:4.0.30319.42000

+//

+//     Changes to this file may cause incorrect behavior and will be lost if

+//     the code is regenerated.

+// </auto-generated>

+//------------------------------------------------------------------------------

+

+using System;

+using System.Reflection;

+

+[assembly: System.Reflection.AssemblyCompanyAttribute("Payment")]

+[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]

+[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]

+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]

+[assembly: System.Reflection.AssemblyProductAttribute("Payment")]

+[assembly: System.Reflection.AssemblyTitleAttribute("Payment")]

+[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

+

+// Generated by the MSBuild WriteCodeFragment class.

+

diff --git a/payment/Payment/obj/Debug/netcoreapp3.1/Payment.AssemblyInfoInputs.cache b/payment/Payment/obj/Debug/netcoreapp3.1/Payment.AssemblyInfoInputs.cache
new file mode 100644
index 0000000..e0c0644
--- /dev/null
+++ b/payment/Payment/obj/Debug/netcoreapp3.1/Payment.AssemblyInfoInputs.cache
@@ -0,0 +1 @@
+1e3ee67fac03031cd8b196de0a8b390572ae5dc033749e8ff7a508e7ba157be5

diff --git a/payment/Payment/obj/Debug/netcoreapp3.1/Payment.GeneratedMSBuildEditorConfig.editorconfig b/payment/Payment/obj/Debug/netcoreapp3.1/Payment.GeneratedMSBuildEditorConfig.editorconfig
new file mode 100644
index 0000000..7a91564
--- /dev/null
+++ b/payment/Payment/obj/Debug/netcoreapp3.1/Payment.GeneratedMSBuildEditorConfig.editorconfig
@@ -0,0 +1,11 @@
+is_global = true

+build_property.ApplicationManifest = 

+build_property.StartupObject = 

+build_property.ApplicationDefaultFont = 

+build_property.ApplicationHighDpiMode = 

+build_property.ApplicationUseCompatibleTextRendering = 

+build_property.ApplicationVisualStyles = 

+build_property.RootNamespace = Payment

+build_property.ProjectDir = C:\Users\User\Documents\cs\Exercise Starts\Chapter 10\Payment\Payment\

+build_property.EnableComHosting = 

+build_property.EnableGeneratedComInterfaceComImportInterop = 

diff --git a/payment/Payment/obj/Debug/netcoreapp3.1/Payment.assets.cache b/payment/Payment/obj/Debug/netcoreapp3.1/Payment.assets.cache
new file mode 100644
index 0000000..e317cfd
--- /dev/null
+++ b/payment/Payment/obj/Debug/netcoreapp3.1/Payment.assets.cache
Binary files differdiff --git a/payment/Payment/obj/Debug/netcoreapp3.1/Payment.csproj.BuildWithSkipAnalyzers b/payment/Payment/obj/Debug/netcoreapp3.1/Payment.csproj.BuildWithSkipAnalyzers
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/payment/Payment/obj/Debug/netcoreapp3.1/Payment.csproj.BuildWithSkipAnalyzers
diff --git a/payment/Payment/obj/Debug/netcoreapp3.1/Payment.csproj.CoreCompileInputs.cache b/payment/Payment/obj/Debug/netcoreapp3.1/Payment.csproj.CoreCompileInputs.cache
new file mode 100644
index 0000000..b985ddf
--- /dev/null
+++ b/payment/Payment/obj/Debug/netcoreapp3.1/Payment.csproj.CoreCompileInputs.cache
@@ -0,0 +1 @@
+ee20666ace94adf399bbb90e0e52b7804f48dcd9f757e3e003166527b3a34db8

diff --git a/payment/Payment/obj/Debug/netcoreapp3.1/Payment.csproj.FileListAbsolute.txt b/payment/Payment/obj/Debug/netcoreapp3.1/Payment.csproj.FileListAbsolute.txt
new file mode 100644
index 0000000..30aeadd
--- /dev/null
+++ b/payment/Payment/obj/Debug/netcoreapp3.1/Payment.csproj.FileListAbsolute.txt
@@ -0,0 +1,16 @@
+C:\Users\User\Documents\cs\Exercise Starts\Chapter 10\Payment\Payment\bin\Debug\netcoreapp3.1\Payment.exe

+C:\Users\User\Documents\cs\Exercise Starts\Chapter 10\Payment\Payment\bin\Debug\netcoreapp3.1\Payment.deps.json

+C:\Users\User\Documents\cs\Exercise Starts\Chapter 10\Payment\Payment\bin\Debug\netcoreapp3.1\Payment.runtimeconfig.json

+C:\Users\User\Documents\cs\Exercise Starts\Chapter 10\Payment\Payment\bin\Debug\netcoreapp3.1\Payment.runtimeconfig.dev.json

+C:\Users\User\Documents\cs\Exercise Starts\Chapter 10\Payment\Payment\bin\Debug\netcoreapp3.1\Payment.dll

+C:\Users\User\Documents\cs\Exercise Starts\Chapter 10\Payment\Payment\bin\Debug\netcoreapp3.1\Payment.pdb

+C:\Users\User\Documents\cs\Exercise Starts\Chapter 10\Payment\Payment\obj\Debug\netcoreapp3.1\Payment.frmCustomer.resources

+C:\Users\User\Documents\cs\Exercise Starts\Chapter 10\Payment\Payment\obj\Debug\netcoreapp3.1\Payment.frmPayment.resources

+C:\Users\User\Documents\cs\Exercise Starts\Chapter 10\Payment\Payment\obj\Debug\netcoreapp3.1\Payment.csproj.GenerateResource.cache

+C:\Users\User\Documents\cs\Exercise Starts\Chapter 10\Payment\Payment\obj\Debug\netcoreapp3.1\Payment.GeneratedMSBuildEditorConfig.editorconfig

+C:\Users\User\Documents\cs\Exercise Starts\Chapter 10\Payment\Payment\obj\Debug\netcoreapp3.1\Payment.AssemblyInfoInputs.cache

+C:\Users\User\Documents\cs\Exercise Starts\Chapter 10\Payment\Payment\obj\Debug\netcoreapp3.1\Payment.AssemblyInfo.cs

+C:\Users\User\Documents\cs\Exercise Starts\Chapter 10\Payment\Payment\obj\Debug\netcoreapp3.1\Payment.csproj.CoreCompileInputs.cache

+C:\Users\User\Documents\cs\Exercise Starts\Chapter 10\Payment\Payment\obj\Debug\netcoreapp3.1\Payment.dll

+C:\Users\User\Documents\cs\Exercise Starts\Chapter 10\Payment\Payment\obj\Debug\netcoreapp3.1\Payment.pdb

+C:\Users\User\Documents\cs\Exercise Starts\Chapter 10\Payment\Payment\obj\Debug\netcoreapp3.1\Payment.genruntimeconfig.cache

diff --git a/payment/Payment/obj/Debug/netcoreapp3.1/Payment.csproj.GenerateResource.cache b/payment/Payment/obj/Debug/netcoreapp3.1/Payment.csproj.GenerateResource.cache
new file mode 100644
index 0000000..50aff3b
--- /dev/null
+++ b/payment/Payment/obj/Debug/netcoreapp3.1/Payment.csproj.GenerateResource.cache
Binary files differdiff --git a/payment/Payment/obj/Debug/netcoreapp3.1/Payment.designer.deps.json b/payment/Payment/obj/Debug/netcoreapp3.1/Payment.designer.deps.json
new file mode 100644
index 0000000..9bb9f82
--- /dev/null
+++ b/payment/Payment/obj/Debug/netcoreapp3.1/Payment.designer.deps.json
@@ -0,0 +1,11 @@
+{

+  "runtimeTarget": {

+    "name": ".NETCoreApp,Version=v3.1",

+    "signature": ""

+  },

+  "compilationOptions": {},

+  "targets": {

+    ".NETCoreApp,Version=v3.1": {}

+  },

+  "libraries": {}

+}
\ No newline at end of file
diff --git a/payment/Payment/obj/Debug/netcoreapp3.1/Payment.designer.runtimeconfig.json b/payment/Payment/obj/Debug/netcoreapp3.1/Payment.designer.runtimeconfig.json
new file mode 100644
index 0000000..fdc9c5f
--- /dev/null
+++ b/payment/Payment/obj/Debug/netcoreapp3.1/Payment.designer.runtimeconfig.json
@@ -0,0 +1,16 @@
+{

+  "runtimeOptions": {

+    "tfm": "netcoreapp3.1",

+    "framework": {

+      "name": "Microsoft.WindowsDesktop.App",

+      "version": "3.1.0"

+    },

+    "additionalProbingPaths": [

+      "C:\\Users\\User\\.dotnet\\store\\|arch|\\|tfm|",

+      "C:\\Users\\User\\.nuget\\packages"

+    ],

+    "configProperties": {

+      "Microsoft.NETCore.DotNetHostPolicy.SetAppPaths": true

+    }

+  }

+}
\ No newline at end of file
diff --git a/payment/Payment/obj/Debug/netcoreapp3.1/Payment.dll b/payment/Payment/obj/Debug/netcoreapp3.1/Payment.dll
new file mode 100644
index 0000000..1dd4df3
--- /dev/null
+++ b/payment/Payment/obj/Debug/netcoreapp3.1/Payment.dll
Binary files differdiff --git a/payment/Payment/obj/Debug/netcoreapp3.1/Payment.frmCustomer.resources b/payment/Payment/obj/Debug/netcoreapp3.1/Payment.frmCustomer.resources
new file mode 100644
index 0000000..6c05a97
--- /dev/null
+++ b/payment/Payment/obj/Debug/netcoreapp3.1/Payment.frmCustomer.resources
Binary files differdiff --git a/payment/Payment/obj/Debug/netcoreapp3.1/Payment.frmPayment.resources b/payment/Payment/obj/Debug/netcoreapp3.1/Payment.frmPayment.resources
new file mode 100644
index 0000000..6c05a97
--- /dev/null
+++ b/payment/Payment/obj/Debug/netcoreapp3.1/Payment.frmPayment.resources
Binary files differdiff --git a/payment/Payment/obj/Debug/netcoreapp3.1/Payment.genruntimeconfig.cache b/payment/Payment/obj/Debug/netcoreapp3.1/Payment.genruntimeconfig.cache
new file mode 100644
index 0000000..bf5f66e
--- /dev/null
+++ b/payment/Payment/obj/Debug/netcoreapp3.1/Payment.genruntimeconfig.cache
@@ -0,0 +1 @@
+b5d840977d34059fb63b8294f9e6220768ffad43b277f827558d6f8441ac1791

diff --git a/payment/Payment/obj/Debug/netcoreapp3.1/Payment.pdb b/payment/Payment/obj/Debug/netcoreapp3.1/Payment.pdb
new file mode 100644
index 0000000..b7bd900
--- /dev/null
+++ b/payment/Payment/obj/Debug/netcoreapp3.1/Payment.pdb
Binary files differdiff --git a/payment/Payment/obj/Debug/netcoreapp3.1/apphost.exe b/payment/Payment/obj/Debug/netcoreapp3.1/apphost.exe
new file mode 100644
index 0000000..a4169e4
--- /dev/null
+++ b/payment/Payment/obj/Debug/netcoreapp3.1/apphost.exe
Binary files differdiff --git a/payment/Payment/obj/Payment.csproj.nuget.dgspec.json b/payment/Payment/obj/Payment.csproj.nuget.dgspec.json
new file mode 100644
index 0000000..064ad5c
--- /dev/null
+++ b/payment/Payment/obj/Payment.csproj.nuget.dgspec.json
@@ -0,0 +1,66 @@
+{

+  "format": 1,

+  "restore": {

+    "C:\\Users\\User\\Documents\\cs\\Exercise Starts\\Chapter 10\\Payment\\Payment\\Payment.csproj": {}

+  },

+  "projects": {

+    "C:\\Users\\User\\Documents\\cs\\Exercise Starts\\Chapter 10\\Payment\\Payment\\Payment.csproj": {

+      "version": "1.0.0",

+      "restore": {

+        "projectUniqueName": "C:\\Users\\User\\Documents\\cs\\Exercise Starts\\Chapter 10\\Payment\\Payment\\Payment.csproj",

+        "projectName": "Payment",

+        "projectPath": "C:\\Users\\User\\Documents\\cs\\Exercise Starts\\Chapter 10\\Payment\\Payment\\Payment.csproj",

+        "packagesPath": "C:\\Users\\User\\.nuget\\packages\\",

+        "outputPath": "C:\\Users\\User\\Documents\\cs\\Exercise Starts\\Chapter 10\\Payment\\Payment\\obj\\",

+        "projectStyle": "PackageReference",

+        "configFilePaths": [

+          "C:\\Users\\User\\AppData\\Roaming\\NuGet\\NuGet.Config",

+          "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"

+        ],

+        "originalTargetFrameworks": [

+          "netcoreapp3.1"

+        ],

+        "sources": {

+          "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},

+          "https://api.nuget.org/v3/index.json": {}

+        },

+        "frameworks": {

+          "netcoreapp3.1": {

+            "targetAlias": "netcoreapp3.1",

+            "projectReferences": {}

+          }

+        },

+        "warningProperties": {

+          "warnAsError": [

+            "NU1605"

+          ]

+        }

+      },

+      "frameworks": {

+        "netcoreapp3.1": {

+          "targetAlias": "netcoreapp3.1",

+          "imports": [

+            "net461",

+            "net462",

+            "net47",

+            "net471",

+            "net472",

+            "net48",

+            "net481"

+          ],

+          "assetTargetFallback": true,

+          "warn": true,

+          "frameworkReferences": {

+            "Microsoft.NETCore.App": {

+              "privateAssets": "all"

+            },

+            "Microsoft.WindowsDesktop.App.WindowsForms": {

+              "privateAssets": "none"

+            }

+          },

+          "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.100\\RuntimeIdentifierGraph.json"

+        }

+      }

+    }

+  }

+}
\ No newline at end of file
diff --git a/payment/Payment/obj/Payment.csproj.nuget.g.props b/payment/Payment/obj/Payment.csproj.nuget.g.props
new file mode 100644
index 0000000..af28506
--- /dev/null
+++ b/payment/Payment/obj/Payment.csproj.nuget.g.props
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>

+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

+  <PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">

+    <RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>

+    <RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>

+    <ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>

+    <NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>

+    <NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\User\.nuget\packages\</NuGetPackageFolders>

+    <NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>

+    <NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.8.0</NuGetToolVersion>

+  </PropertyGroup>

+  <ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">

+    <SourceRoot Include="C:\Users\User\.nuget\packages\" />

+  </ItemGroup>

+</Project>
\ No newline at end of file
diff --git a/payment/Payment/obj/Payment.csproj.nuget.g.targets b/payment/Payment/obj/Payment.csproj.nuget.g.targets
new file mode 100644
index 0000000..35a7576
--- /dev/null
+++ b/payment/Payment/obj/Payment.csproj.nuget.g.targets
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>

+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
\ No newline at end of file
diff --git a/payment/Payment/obj/project.assets.json b/payment/Payment/obj/project.assets.json
new file mode 100644
index 0000000..8c760f8
--- /dev/null
+++ b/payment/Payment/obj/project.assets.json
@@ -0,0 +1,71 @@
+{

+  "version": 3,

+  "targets": {

+    ".NETCoreApp,Version=v3.1": {}

+  },

+  "libraries": {},

+  "projectFileDependencyGroups": {

+    ".NETCoreApp,Version=v3.1": []

+  },

+  "packageFolders": {

+    "C:\\Users\\User\\.nuget\\packages\\": {}

+  },

+  "project": {

+    "version": "1.0.0",

+    "restore": {

+      "projectUniqueName": "C:\\Users\\User\\Documents\\cs\\Exercise Starts\\Chapter 10\\Payment\\Payment\\Payment.csproj",

+      "projectName": "Payment",

+      "projectPath": "C:\\Users\\User\\Documents\\cs\\Exercise Starts\\Chapter 10\\Payment\\Payment\\Payment.csproj",

+      "packagesPath": "C:\\Users\\User\\.nuget\\packages\\",

+      "outputPath": "C:\\Users\\User\\Documents\\cs\\Exercise Starts\\Chapter 10\\Payment\\Payment\\obj\\",

+      "projectStyle": "PackageReference",

+      "configFilePaths": [

+        "C:\\Users\\User\\AppData\\Roaming\\NuGet\\NuGet.Config",

+        "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"

+      ],

+      "originalTargetFrameworks": [

+        "netcoreapp3.1"

+      ],

+      "sources": {

+        "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},

+        "https://api.nuget.org/v3/index.json": {}

+      },

+      "frameworks": {

+        "netcoreapp3.1": {

+          "targetAlias": "netcoreapp3.1",

+          "projectReferences": {}

+        }

+      },

+      "warningProperties": {

+        "warnAsError": [

+          "NU1605"

+        ]

+      }

+    },

+    "frameworks": {

+      "netcoreapp3.1": {

+        "targetAlias": "netcoreapp3.1",

+        "imports": [

+          "net461",

+          "net462",

+          "net47",

+          "net471",

+          "net472",

+          "net48",

+          "net481"

+        ],

+        "assetTargetFallback": true,

+        "warn": true,

+        "frameworkReferences": {

+          "Microsoft.NETCore.App": {

+            "privateAssets": "all"

+          },

+          "Microsoft.WindowsDesktop.App.WindowsForms": {

+            "privateAssets": "none"

+          }

+        },

+        "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.100\\RuntimeIdentifierGraph.json"

+      }

+    }

+  }

+}
\ No newline at end of file
diff --git a/payment/Payment/obj/project.nuget.cache b/payment/Payment/obj/project.nuget.cache
new file mode 100644
index 0000000..1948e93
--- /dev/null
+++ b/payment/Payment/obj/project.nuget.cache
@@ -0,0 +1,8 @@
+{

+  "version": 2,

+  "dgSpecHash": "wFY3TiQ58fYyaftEGNHtPWatJQSc+w3WO6uZ380jknoSvqTlwpzUBHOkDfF00J/ugmKgacQa6dlf1EJUn9M0UQ==",

+  "success": true,

+  "projectFilePath": "C:\\Users\\User\\Documents\\cs\\Exercise Starts\\Chapter 10\\Payment\\Payment\\Payment.csproj",

+  "expectedPackageFiles": [],

+  "logs": []

+}
\ No newline at end of file