summary refs log tree commit diff
diff options
context:
space:
mode:
author1970-01-01 00:00:00 +0000
committer2025-01-08 04:46:10 +0000
commit1ac90768665c89d64a59f6e9935242fba1514bb9 (patch)
tree271671c7724a2d4f26e85f08df745b8163d6a811
parentinvoice total 3 (diff)
downloadcs-1ac90768665c89d64a59f6e9935242fba1514bb9.tar
cs-1ac90768665c89d64a59f6e9935242fba1514bb9.tar.gz
cs-1ac90768665c89d64a59f6e9935242fba1514bb9.tar.bz2
cs-1ac90768665c89d64a59f6e9935242fba1514bb9.tar.xz
cs-1ac90768665c89d64a59f6e9935242fba1514bb9.zip
invoice total 4
-rw-r--r--invoice_total4/.vs/InvoiceTotal/DesignTimeBuild/.dtbcache.v2bin0 -> 73650 bytes
-rw-r--r--invoice_total4/.vs/InvoiceTotal/FileContentIndex/3a0c93b8-9b91-40b7-87fa-d6f284e14c62.vsidxbin0 -> 29923 bytes
-rw-r--r--invoice_total4/.vs/InvoiceTotal/FileContentIndex/8a590a34-ab89-4192-86d7-4be9cc59a284.vsidxbin0 -> 29942 bytes
-rw-r--r--invoice_total4/.vs/InvoiceTotal/v17/.futdcache.v2bin0 -> 290 bytes
-rw-r--r--invoice_total4/.vs/InvoiceTotal/v17/.suobin0 -> 27648 bytes
-rw-r--r--invoice_total4/.vs/ProjectEvaluation/invoicetotal.metadata.v7.binbin0 -> 177401 bytes
-rw-r--r--invoice_total4/.vs/ProjectEvaluation/invoicetotal.projects.v7.binbin0 -> 293404 bytes
-rw-r--r--invoice_total4/InvoiceTotal.sln25
-rw-r--r--invoice_total4/InvoiceTotal/InvoiceTotal.csproj9
-rw-r--r--invoice_total4/InvoiceTotal/InvoiceTotal.csproj.user8
-rw-r--r--invoice_total4/InvoiceTotal/Program.cs23
-rw-r--r--invoice_total4/InvoiceTotal/bin/Debug/netcoreapp3.1/InvoiceTotal.deps.json23
-rw-r--r--invoice_total4/InvoiceTotal/bin/Debug/netcoreapp3.1/InvoiceTotal.dllbin0 -> 10752 bytes
-rw-r--r--invoice_total4/InvoiceTotal/bin/Debug/netcoreapp3.1/InvoiceTotal.exebin0 -> 158208 bytes
-rw-r--r--invoice_total4/InvoiceTotal/bin/Debug/netcoreapp3.1/InvoiceTotal.pdbbin0 -> 12788 bytes
-rw-r--r--invoice_total4/InvoiceTotal/bin/Debug/netcoreapp3.1/InvoiceTotal.runtimeconfig.dev.json8
-rw-r--r--invoice_total4/InvoiceTotal/bin/Debug/netcoreapp3.1/InvoiceTotal.runtimeconfig.json9
-rw-r--r--invoice_total4/InvoiceTotal/frmInvoiceTotal.Designer.cs174
-rw-r--r--invoice_total4/InvoiceTotal/frmInvoiceTotal.cs99
-rw-r--r--invoice_total4/InvoiceTotal/frmInvoiceTotal.resx120
-rw-r--r--invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs4
-rw-r--r--invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.AssemblyInfo.cs23
-rw-r--r--invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.AssemblyInfoInputs.cache1
-rw-r--r--invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.GeneratedMSBuildEditorConfig.editorconfig11
-rw-r--r--invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.assets.cachebin0 -> 151 bytes
-rw-r--r--invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.csproj.BuildWithSkipAnalyzers0
-rw-r--r--invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.csproj.CoreCompileInputs.cache1
-rw-r--r--invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.csproj.FileListAbsolute.txt30
-rw-r--r--invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.csproj.GenerateResource.cachebin0 -> 74 bytes
-rw-r--r--invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.dllbin0 -> 10752 bytes
-rw-r--r--invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.frmInvoiceTotal.resourcesbin0 -> 180 bytes
-rw-r--r--invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.genruntimeconfig.cache1
-rw-r--r--invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.pdbbin0 -> 12788 bytes
-rw-r--r--invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/apphost.exebin0 -> 158208 bytes
-rw-r--r--invoice_total4/InvoiceTotal/obj/InvoiceTotal.csproj.nuget.dgspec.json66
-rw-r--r--invoice_total4/InvoiceTotal/obj/InvoiceTotal.csproj.nuget.g.props15
-rw-r--r--invoice_total4/InvoiceTotal/obj/InvoiceTotal.csproj.nuget.g.targets2
-rw-r--r--invoice_total4/InvoiceTotal/obj/project.assets.json71
-rw-r--r--invoice_total4/InvoiceTotal/obj/project.nuget.cache8
39 files changed, 731 insertions, 0 deletions
diff --git a/invoice_total4/.vs/InvoiceTotal/DesignTimeBuild/.dtbcache.v2 b/invoice_total4/.vs/InvoiceTotal/DesignTimeBuild/.dtbcache.v2
new file mode 100644
index 0000000..d2f830d
--- /dev/null
+++ b/invoice_total4/.vs/InvoiceTotal/DesignTimeBuild/.dtbcache.v2
Binary files differdiff --git a/invoice_total4/.vs/InvoiceTotal/FileContentIndex/3a0c93b8-9b91-40b7-87fa-d6f284e14c62.vsidx b/invoice_total4/.vs/InvoiceTotal/FileContentIndex/3a0c93b8-9b91-40b7-87fa-d6f284e14c62.vsidx
new file mode 100644
index 0000000..22ae22f
--- /dev/null
+++ b/invoice_total4/.vs/InvoiceTotal/FileContentIndex/3a0c93b8-9b91-40b7-87fa-d6f284e14c62.vsidx
Binary files differdiff --git a/invoice_total4/.vs/InvoiceTotal/FileContentIndex/8a590a34-ab89-4192-86d7-4be9cc59a284.vsidx b/invoice_total4/.vs/InvoiceTotal/FileContentIndex/8a590a34-ab89-4192-86d7-4be9cc59a284.vsidx
new file mode 100644
index 0000000..14f3ad6
--- /dev/null
+++ b/invoice_total4/.vs/InvoiceTotal/FileContentIndex/8a590a34-ab89-4192-86d7-4be9cc59a284.vsidx
Binary files differdiff --git a/invoice_total4/.vs/InvoiceTotal/v17/.futdcache.v2 b/invoice_total4/.vs/InvoiceTotal/v17/.futdcache.v2
new file mode 100644
index 0000000..ec8ae8e
--- /dev/null
+++ b/invoice_total4/.vs/InvoiceTotal/v17/.futdcache.v2
Binary files differdiff --git a/invoice_total4/.vs/InvoiceTotal/v17/.suo b/invoice_total4/.vs/InvoiceTotal/v17/.suo
new file mode 100644
index 0000000..3a1f988
--- /dev/null
+++ b/invoice_total4/.vs/InvoiceTotal/v17/.suo
Binary files differdiff --git a/invoice_total4/.vs/ProjectEvaluation/invoicetotal.metadata.v7.bin b/invoice_total4/.vs/ProjectEvaluation/invoicetotal.metadata.v7.bin
new file mode 100644
index 0000000..7a74817
--- /dev/null
+++ b/invoice_total4/.vs/ProjectEvaluation/invoicetotal.metadata.v7.bin
Binary files differdiff --git a/invoice_total4/.vs/ProjectEvaluation/invoicetotal.projects.v7.bin b/invoice_total4/.vs/ProjectEvaluation/invoicetotal.projects.v7.bin
new file mode 100644
index 0000000..61d1221
--- /dev/null
+++ b/invoice_total4/.vs/ProjectEvaluation/invoicetotal.projects.v7.bin
Binary files differdiff --git a/invoice_total4/InvoiceTotal.sln b/invoice_total4/InvoiceTotal.sln
new file mode 100644
index 0000000..8094442
--- /dev/null
+++ b/invoice_total4/InvoiceTotal.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}") = "InvoiceTotal", "InvoiceTotal\InvoiceTotal.csproj", "{62C30D03-5263-4AE7-9957-ACE86FBAC941}"

+EndProject

+Global

+	GlobalSection(SolutionConfigurationPlatforms) = preSolution

+		Debug|Any CPU = Debug|Any CPU

+		Release|Any CPU = Release|Any CPU

+	EndGlobalSection

+	GlobalSection(ProjectConfigurationPlatforms) = postSolution

+		{62C30D03-5263-4AE7-9957-ACE86FBAC941}.Debug|Any CPU.ActiveCfg = Debug|Any CPU

+		{62C30D03-5263-4AE7-9957-ACE86FBAC941}.Debug|Any CPU.Build.0 = Debug|Any CPU

+		{62C30D03-5263-4AE7-9957-ACE86FBAC941}.Release|Any CPU.ActiveCfg = Release|Any CPU

+		{62C30D03-5263-4AE7-9957-ACE86FBAC941}.Release|Any CPU.Build.0 = Release|Any CPU

+	EndGlobalSection

+	GlobalSection(SolutionProperties) = preSolution

+		HideSolutionNode = FALSE

+	EndGlobalSection

+	GlobalSection(ExtensibilityGlobals) = postSolution

+		SolutionGuid = {DED592E4-DDBE-4F6C-84F5-D690C8785991}

+	EndGlobalSection

+EndGlobal

diff --git a/invoice_total4/InvoiceTotal/InvoiceTotal.csproj b/invoice_total4/InvoiceTotal/InvoiceTotal.csproj
new file mode 100644
index 0000000..7b05c62
--- /dev/null
+++ b/invoice_total4/InvoiceTotal/InvoiceTotal.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/invoice_total4/InvoiceTotal/InvoiceTotal.csproj.user b/invoice_total4/InvoiceTotal/InvoiceTotal.csproj.user
new file mode 100644
index 0000000..5b660da
--- /dev/null
+++ b/invoice_total4/InvoiceTotal/InvoiceTotal.csproj.user
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>

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

+  <ItemGroup>

+    <Compile Update="frmInvoiceTotal.cs">

+      <SubType>Form</SubType>

+    </Compile>

+  </ItemGroup>

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

+using System.Collections.Generic;

+using System.Linq;

+using System.Threading.Tasks;

+using System.Windows.Forms;

+

+namespace InvoiceTotal

+{

+    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 frmInvoiceTotal());

+        }

+    }

+}

diff --git a/invoice_total4/InvoiceTotal/bin/Debug/netcoreapp3.1/InvoiceTotal.deps.json b/invoice_total4/InvoiceTotal/bin/Debug/netcoreapp3.1/InvoiceTotal.deps.json
new file mode 100644
index 0000000..4cb5c27
--- /dev/null
+++ b/invoice_total4/InvoiceTotal/bin/Debug/netcoreapp3.1/InvoiceTotal.deps.json
@@ -0,0 +1,23 @@
+{

+  "runtimeTarget": {

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

+    "signature": ""

+  },

+  "compilationOptions": {},

+  "targets": {

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

+      "InvoiceTotal/1.0.0": {

+        "runtime": {

+          "InvoiceTotal.dll": {}

+        }

+      }

+    }

+  },

+  "libraries": {

+    "InvoiceTotal/1.0.0": {

+      "type": "project",

+      "serviceable": false,

+      "sha512": ""

+    }

+  }

+}
\ No newline at end of file
diff --git a/invoice_total4/InvoiceTotal/bin/Debug/netcoreapp3.1/InvoiceTotal.dll b/invoice_total4/InvoiceTotal/bin/Debug/netcoreapp3.1/InvoiceTotal.dll
new file mode 100644
index 0000000..fdad189
--- /dev/null
+++ b/invoice_total4/InvoiceTotal/bin/Debug/netcoreapp3.1/InvoiceTotal.dll
Binary files differdiff --git a/invoice_total4/InvoiceTotal/bin/Debug/netcoreapp3.1/InvoiceTotal.exe b/invoice_total4/InvoiceTotal/bin/Debug/netcoreapp3.1/InvoiceTotal.exe
new file mode 100644
index 0000000..ec8238d
--- /dev/null
+++ b/invoice_total4/InvoiceTotal/bin/Debug/netcoreapp3.1/InvoiceTotal.exe
Binary files differdiff --git a/invoice_total4/InvoiceTotal/bin/Debug/netcoreapp3.1/InvoiceTotal.pdb b/invoice_total4/InvoiceTotal/bin/Debug/netcoreapp3.1/InvoiceTotal.pdb
new file mode 100644
index 0000000..56cf232
--- /dev/null
+++ b/invoice_total4/InvoiceTotal/bin/Debug/netcoreapp3.1/InvoiceTotal.pdb
Binary files differdiff --git a/invoice_total4/InvoiceTotal/bin/Debug/netcoreapp3.1/InvoiceTotal.runtimeconfig.dev.json b/invoice_total4/InvoiceTotal/bin/Debug/netcoreapp3.1/InvoiceTotal.runtimeconfig.dev.json
new file mode 100644
index 0000000..214bf78
--- /dev/null
+++ b/invoice_total4/InvoiceTotal/bin/Debug/netcoreapp3.1/InvoiceTotal.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/invoice_total4/InvoiceTotal/bin/Debug/netcoreapp3.1/InvoiceTotal.runtimeconfig.json b/invoice_total4/InvoiceTotal/bin/Debug/netcoreapp3.1/InvoiceTotal.runtimeconfig.json
new file mode 100644
index 0000000..9b3a644
--- /dev/null
+++ b/invoice_total4/InvoiceTotal/bin/Debug/netcoreapp3.1/InvoiceTotal.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/invoice_total4/InvoiceTotal/frmInvoiceTotal.Designer.cs b/invoice_total4/InvoiceTotal/frmInvoiceTotal.Designer.cs
new file mode 100644
index 0000000..4909f59
--- /dev/null
+++ b/invoice_total4/InvoiceTotal/frmInvoiceTotal.Designer.cs
@@ -0,0 +1,174 @@
+namespace InvoiceTotal

+{

+    partial class frmInvoiceTotal

+    {

+        /// <summary>

+        ///  Required designer variable.

+        /// </summary>

+        private System.ComponentModel.IContainer components = null;

+

+        /// <summary>

+        ///  Clean up any resources being used.

+        /// </summary>

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

+        protected override void Dispose(bool disposing)

+        {

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

+            {

+                components.Dispose();

+            }

+            base.Dispose(disposing);

+        }

+

+        #region Windows Form Designer generated code

+

+        /// <summary>

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

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

+        /// </summary>

+        private void InitializeComponent()

+        {

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

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

+            this.label3 = new System.Windows.Forms.Label();

+            this.label4 = new System.Windows.Forms.Label();

+            this.txtSubtotal = new System.Windows.Forms.TextBox();

+            this.btnCalculate = new System.Windows.Forms.Button();

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

+            this.txtDiscountPercent = new System.Windows.Forms.TextBox();

+            this.txtDiscountAmount = new System.Windows.Forms.TextBox();

+            this.txtTotal = new System.Windows.Forms.TextBox();

+            this.SuspendLayout();

+            // 

+            // label1

+            // 

+            this.label1.AutoSize = true;

+            this.label1.Location = new System.Drawing.Point(20, 12);

+            this.label1.Name = "label1";

+            this.label1.Size = new System.Drawing.Size(49, 13);

+            this.label1.TabIndex = 0;

+            this.label1.Text = "&Subtotal:";

+            this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;

+            // 

+            // label2

+            // 

+            this.label2.AutoSize = true;

+            this.label2.Location = new System.Drawing.Point(20, 38);

+            this.label2.Name = "label2";

+            this.label2.Size = new System.Drawing.Size(92, 13);

+            this.label2.TabIndex = 1;

+            this.label2.Text = "Discount Percent:";

+            this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;

+            // 

+            // label3

+            // 

+            this.label3.AutoSize = true;

+            this.label3.Location = new System.Drawing.Point(21, 65);

+            this.label3.Name = "label3";

+            this.label3.Size = new System.Drawing.Size(91, 13);

+            this.label3.TabIndex = 2;

+            this.label3.Text = "Discount Amount:";

+            this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;

+            // 

+            // label4

+            // 

+            this.label4.AutoSize = true;

+            this.label4.Location = new System.Drawing.Point(21, 91);

+            this.label4.Name = "label4";

+            this.label4.Size = new System.Drawing.Size(34, 13);

+            this.label4.TabIndex = 3;

+            this.label4.Text = "Total:";

+            this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;

+            // 

+            // txtSubtotal

+            // 

+            this.txtSubtotal.Location = new System.Drawing.Point(115, 9);

+            this.txtSubtotal.Name = "txtSubtotal";

+            this.txtSubtotal.Size = new System.Drawing.Size(100, 20);

+            this.txtSubtotal.TabIndex = 1;

+            // 

+            // btnCalculate

+            // 

+            this.btnCalculate.Location = new System.Drawing.Point(53, 122);

+            this.btnCalculate.Name = "btnCalculate";

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

+            this.btnCalculate.TabIndex = 2;

+            this.btnCalculate.Text = "&Calculate";

+            this.btnCalculate.Click += new System.EventHandler(this.btnCalculate_Click);

+            // 

+            // btnExit

+            // 

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

+            this.btnExit.Location = new System.Drawing.Point(140, 122);

+            this.btnExit.Name = "btnExit";

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

+            this.btnExit.TabIndex = 3;

+            this.btnExit.Text = "E&xit";

+            this.btnExit.Click += new System.EventHandler(this.btnExit_Click);

+            // 

+            // txtDiscountPercent

+            // 

+            this.txtDiscountPercent.Location = new System.Drawing.Point(115, 35);

+            this.txtDiscountPercent.Name = "txtDiscountPercent";

+            this.txtDiscountPercent.ReadOnly = true;

+            this.txtDiscountPercent.Size = new System.Drawing.Size(100, 20);

+            this.txtDiscountPercent.TabIndex = 10;

+            this.txtDiscountPercent.TabStop = false;

+            // 

+            // txtDiscountAmount

+            // 

+            this.txtDiscountAmount.Location = new System.Drawing.Point(115, 62);

+            this.txtDiscountAmount.Name = "txtDiscountAmount";

+            this.txtDiscountAmount.ReadOnly = true;

+            this.txtDiscountAmount.Size = new System.Drawing.Size(100, 20);

+            this.txtDiscountAmount.TabIndex = 11;

+            this.txtDiscountAmount.TabStop = false;

+            // 

+            // txtTotal

+            // 

+            this.txtTotal.Location = new System.Drawing.Point(115, 88);

+            this.txtTotal.Name = "txtTotal";

+            this.txtTotal.ReadOnly = true;

+            this.txtTotal.Size = new System.Drawing.Size(100, 20);

+            this.txtTotal.TabIndex = 12;

+            this.txtTotal.TabStop = false;

+            // 

+            // frmInvoiceTotal

+            // 

+            this.AcceptButton = this.btnCalculate;

+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);

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

+            this.CancelButton = this.btnExit;

+            this.ClientSize = new System.Drawing.Size(237, 159);

+            this.Controls.Add(this.txtTotal);

+            this.Controls.Add(this.txtDiscountAmount);

+            this.Controls.Add(this.txtDiscountPercent);

+            this.Controls.Add(this.btnExit);

+            this.Controls.Add(this.btnCalculate);

+            this.Controls.Add(this.txtSubtotal);

+            this.Controls.Add(this.label4);

+            this.Controls.Add(this.label3);

+            this.Controls.Add(this.label2);

+            this.Controls.Add(this.label1);

+            this.Name = "frmInvoiceTotal";

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

+            this.Text = "Invoice Total";

+            this.ResumeLayout(false);

+            this.PerformLayout();

+        }

+

+        #endregion

+

+        private System.Windows.Forms.Label label1;

+        private System.Windows.Forms.Label label2;

+        private System.Windows.Forms.Label label3;

+        private System.Windows.Forms.Label label4;

+        private System.Windows.Forms.TextBox txtSubtotal;

+        private System.Windows.Forms.Button btnCalculate;

+        private System.Windows.Forms.Button btnExit;

+        private System.Windows.Forms.TextBox txtDiscountPercent;

+        private System.Windows.Forms.TextBox txtDiscountAmount;

+        private System.Windows.Forms.TextBox txtTotal;

+    }

+}

+

diff --git a/invoice_total4/InvoiceTotal/frmInvoiceTotal.cs b/invoice_total4/InvoiceTotal/frmInvoiceTotal.cs
new file mode 100644
index 0000000..0f0448f
--- /dev/null
+++ b/invoice_total4/InvoiceTotal/frmInvoiceTotal.cs
@@ -0,0 +1,99 @@
+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 InvoiceTotal

+{

+	public partial class frmInvoiceTotal : Form

+	{

+		public frmInvoiceTotal()

+		{

+			InitializeComponent();

+		}

+

+		// DONE: declare class variables for array and list here

+		decimal[] rayInvoices = new decimal[5];

+		int invoice = 0;

+		List<decimal> listInvoices = new List<decimal>(5);

+

+		private void btnCalculate_Click(object sender, EventArgs e)

+		{

+			try {

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

+					MessageBox.Show(

+						"Subtotal is a required field.", "Entry Error");

+				}

+				else {

+					decimal subtotal = Decimal.Parse(txtSubtotal.Text);

+					if (subtotal > 0 && subtotal < 10000) {

+						decimal discountPercent = 0m;

+						if (subtotal >= 500)

+							discountPercent = .2m;

+						else if (subtotal >= 250 & subtotal < 500)

+							discountPercent = .15m;

+						else if (subtotal >= 100 & subtotal < 250)

+							discountPercent = .1m;

+						decimal discountAmount = subtotal * discountPercent;

+						decimal invoiceTotal = subtotal - discountAmount;

+

+						discountAmount = Math.Round(discountAmount, 2);

+						invoiceTotal = Math.Round(invoiceTotal, 2);

+

+						rayInvoices[invoice] = invoiceTotal;

+						invoice++;

+						listInvoices.Add(invoiceTotal);

+

+						txtDiscountPercent.Text = discountPercent.ToString("p1");

+						txtDiscountAmount.Text = discountAmount.ToString();

+						txtTotal.Text = invoiceTotal.ToString();

+					}

+					else {

+						MessageBox.Show(

+							"Subtotal must be greater than 0 and less than 10,000.",

+							"Entry Error");

+					}

+				}

+			}

+			catch (FormatException) {

+				MessageBox.Show(

+					"Please enter a valid number for the Subtotal field.",

+					"Entry Error");

+			}

+			catch (IndexOutOfRangeException) {

+				MessageBox.Show(

+					"You have already reached the maximum amount of invoices",

+					"Out of Range Error");

+			}

+			txtSubtotal.Focus();

+		}

+

+		private void btnExit_Click(object sender, EventArgs e)

+		{

+			// DONE: add code that displays dialog boxes here

+			if (invoice > 0) {

+				string msg = "";

+

+				Array.Sort(rayInvoices);

+				foreach (decimal i in rayInvoices)

+					if (i != 0)

+						msg += i.ToString("c") + "\n";

+				MessageBox.Show(msg, "Order Totals - Array");

+

+				msg = "";

+				listInvoices.Sort();

+				foreach (decimal i in listInvoices)

+					if (i != 0)

+						msg += i.ToString("c") + "\n";

+				MessageBox.Show(msg, "Order Totals - List");

+			}

+			this.Close();

+		}

+

+	}

+}

diff --git a/invoice_total4/InvoiceTotal/frmInvoiceTotal.resx b/invoice_total4/InvoiceTotal/frmInvoiceTotal.resx
new file mode 100644
index 0000000..29dcb1b
--- /dev/null
+++ b/invoice_total4/InvoiceTotal/frmInvoiceTotal.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/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs b/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs
new file mode 100644
index 0000000..3364fdf
--- /dev/null
+++ b/invoice_total4/InvoiceTotal/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/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.AssemblyInfo.cs b/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.AssemblyInfo.cs
new file mode 100644
index 0000000..dae16de
--- /dev/null
+++ b/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.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("InvoiceTotal")]

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

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

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

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

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

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

+

+// Generated by the MSBuild WriteCodeFragment class.

+

diff --git a/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.AssemblyInfoInputs.cache b/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.AssemblyInfoInputs.cache
new file mode 100644
index 0000000..9f9f76b
--- /dev/null
+++ b/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.AssemblyInfoInputs.cache
@@ -0,0 +1 @@
+38787f95c4c7a010cd22fbf18ea9bafeee387c31d89b10d9febfc3e376271006

diff --git a/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.GeneratedMSBuildEditorConfig.editorconfig b/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.GeneratedMSBuildEditorConfig.editorconfig
new file mode 100644
index 0000000..37a7d10
--- /dev/null
+++ b/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.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 = InvoiceTotal

+build_property.ProjectDir = C:\Users\User\Documents\cs\ex8-1\InvoiceTotal\

+build_property.EnableComHosting = 

+build_property.EnableGeneratedComInterfaceComImportInterop = 

diff --git a/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.assets.cache b/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.assets.cache
new file mode 100644
index 0000000..528e381
--- /dev/null
+++ b/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.assets.cache
Binary files differdiff --git a/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.csproj.BuildWithSkipAnalyzers b/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.csproj.BuildWithSkipAnalyzers
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.csproj.BuildWithSkipAnalyzers
diff --git a/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.csproj.CoreCompileInputs.cache b/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.csproj.CoreCompileInputs.cache
new file mode 100644
index 0000000..6eeef5a
--- /dev/null
+++ b/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.csproj.CoreCompileInputs.cache
@@ -0,0 +1 @@
+80609892fc2cb80b71c17a0ed3a74be9347ec4ce46f37b026cec749674c65c84

diff --git a/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.csproj.FileListAbsolute.txt b/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.csproj.FileListAbsolute.txt
new file mode 100644
index 0000000..2e2e225
--- /dev/null
+++ b/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.csproj.FileListAbsolute.txt
@@ -0,0 +1,30 @@
+C:\Users\User\Documents\cs\Exercise Starts\Chapter 08\InvoiceTotal\InvoiceTotal\bin\Debug\netcoreapp3.1\InvoiceTotal.exe

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

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

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

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

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

+C:\Users\User\Documents\cs\Exercise Starts\Chapter 08\InvoiceTotal\InvoiceTotal\obj\Debug\netcoreapp3.1\InvoiceTotal.frmInvoiceTotal.resources

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

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

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

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

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

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

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

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

+C:\Users\User\Documents\cs\ex8-1\InvoiceTotal\bin\Debug\netcoreapp3.1\InvoiceTotal.exe

+C:\Users\User\Documents\cs\ex8-1\InvoiceTotal\bin\Debug\netcoreapp3.1\InvoiceTotal.deps.json

+C:\Users\User\Documents\cs\ex8-1\InvoiceTotal\bin\Debug\netcoreapp3.1\InvoiceTotal.runtimeconfig.json

+C:\Users\User\Documents\cs\ex8-1\InvoiceTotal\bin\Debug\netcoreapp3.1\InvoiceTotal.runtimeconfig.dev.json

+C:\Users\User\Documents\cs\ex8-1\InvoiceTotal\bin\Debug\netcoreapp3.1\InvoiceTotal.dll

+C:\Users\User\Documents\cs\ex8-1\InvoiceTotal\bin\Debug\netcoreapp3.1\InvoiceTotal.pdb

+C:\Users\User\Documents\cs\ex8-1\InvoiceTotal\obj\Debug\netcoreapp3.1\InvoiceTotal.frmInvoiceTotal.resources

+C:\Users\User\Documents\cs\ex8-1\InvoiceTotal\obj\Debug\netcoreapp3.1\InvoiceTotal.csproj.GenerateResource.cache

+C:\Users\User\Documents\cs\ex8-1\InvoiceTotal\obj\Debug\netcoreapp3.1\InvoiceTotal.GeneratedMSBuildEditorConfig.editorconfig

+C:\Users\User\Documents\cs\ex8-1\InvoiceTotal\obj\Debug\netcoreapp3.1\InvoiceTotal.AssemblyInfoInputs.cache

+C:\Users\User\Documents\cs\ex8-1\InvoiceTotal\obj\Debug\netcoreapp3.1\InvoiceTotal.AssemblyInfo.cs

+C:\Users\User\Documents\cs\ex8-1\InvoiceTotal\obj\Debug\netcoreapp3.1\InvoiceTotal.csproj.CoreCompileInputs.cache

+C:\Users\User\Documents\cs\ex8-1\InvoiceTotal\obj\Debug\netcoreapp3.1\InvoiceTotal.dll

+C:\Users\User\Documents\cs\ex8-1\InvoiceTotal\obj\Debug\netcoreapp3.1\InvoiceTotal.pdb

+C:\Users\User\Documents\cs\ex8-1\InvoiceTotal\obj\Debug\netcoreapp3.1\InvoiceTotal.genruntimeconfig.cache

diff --git a/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.csproj.GenerateResource.cache b/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.csproj.GenerateResource.cache
new file mode 100644
index 0000000..d225bd7
--- /dev/null
+++ b/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.csproj.GenerateResource.cache
Binary files differdiff --git a/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.dll b/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.dll
new file mode 100644
index 0000000..fdad189
--- /dev/null
+++ b/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.dll
Binary files differdiff --git a/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.frmInvoiceTotal.resources b/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.frmInvoiceTotal.resources
new file mode 100644
index 0000000..6c05a97
--- /dev/null
+++ b/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.frmInvoiceTotal.resources
Binary files differdiff --git a/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.genruntimeconfig.cache b/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.genruntimeconfig.cache
new file mode 100644
index 0000000..a88b97b
--- /dev/null
+++ b/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.genruntimeconfig.cache
@@ -0,0 +1 @@
+77aa13902a0919ec1e533c3e2d9ec295b0c2650bcb4c0bc1238dad30bdaf1761

diff --git a/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.pdb b/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.pdb
new file mode 100644
index 0000000..56cf232
--- /dev/null
+++ b/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/InvoiceTotal.pdb
Binary files differdiff --git a/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/apphost.exe b/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/apphost.exe
new file mode 100644
index 0000000..ec8238d
--- /dev/null
+++ b/invoice_total4/InvoiceTotal/obj/Debug/netcoreapp3.1/apphost.exe
Binary files differdiff --git a/invoice_total4/InvoiceTotal/obj/InvoiceTotal.csproj.nuget.dgspec.json b/invoice_total4/InvoiceTotal/obj/InvoiceTotal.csproj.nuget.dgspec.json
new file mode 100644
index 0000000..5d9862f
--- /dev/null
+++ b/invoice_total4/InvoiceTotal/obj/InvoiceTotal.csproj.nuget.dgspec.json
@@ -0,0 +1,66 @@
+{

+  "format": 1,

+  "restore": {

+    "C:\\Users\\User\\Documents\\cs\\ex8-1\\InvoiceTotal\\InvoiceTotal.csproj": {}

+  },

+  "projects": {

+    "C:\\Users\\User\\Documents\\cs\\ex8-1\\InvoiceTotal\\InvoiceTotal.csproj": {

+      "version": "1.0.0",

+      "restore": {

+        "projectUniqueName": "C:\\Users\\User\\Documents\\cs\\ex8-1\\InvoiceTotal\\InvoiceTotal.csproj",

+        "projectName": "InvoiceTotal",

+        "projectPath": "C:\\Users\\User\\Documents\\cs\\ex8-1\\InvoiceTotal\\InvoiceTotal.csproj",

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

+        "outputPath": "C:\\Users\\User\\Documents\\cs\\ex8-1\\InvoiceTotal\\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/invoice_total4/InvoiceTotal/obj/InvoiceTotal.csproj.nuget.g.props b/invoice_total4/InvoiceTotal/obj/InvoiceTotal.csproj.nuget.g.props
new file mode 100644
index 0000000..af28506
--- /dev/null
+++ b/invoice_total4/InvoiceTotal/obj/InvoiceTotal.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/invoice_total4/InvoiceTotal/obj/InvoiceTotal.csproj.nuget.g.targets b/invoice_total4/InvoiceTotal/obj/InvoiceTotal.csproj.nuget.g.targets
new file mode 100644
index 0000000..35a7576
--- /dev/null
+++ b/invoice_total4/InvoiceTotal/obj/InvoiceTotal.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/invoice_total4/InvoiceTotal/obj/project.assets.json b/invoice_total4/InvoiceTotal/obj/project.assets.json
new file mode 100644
index 0000000..933b1d6
--- /dev/null
+++ b/invoice_total4/InvoiceTotal/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\\ex8-1\\InvoiceTotal\\InvoiceTotal.csproj",

+      "projectName": "InvoiceTotal",

+      "projectPath": "C:\\Users\\User\\Documents\\cs\\ex8-1\\InvoiceTotal\\InvoiceTotal.csproj",

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

+      "outputPath": "C:\\Users\\User\\Documents\\cs\\ex8-1\\InvoiceTotal\\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/invoice_total4/InvoiceTotal/obj/project.nuget.cache b/invoice_total4/InvoiceTotal/obj/project.nuget.cache
new file mode 100644
index 0000000..09d221b
--- /dev/null
+++ b/invoice_total4/InvoiceTotal/obj/project.nuget.cache
@@ -0,0 +1,8 @@
+{

+  "version": 2,

+  "dgSpecHash": "mD21xU9i9jCslQKLrQjWrPdSJODaGXX8nIX6OGxJnheCnLypnaA7okAao6f8aQsU/YBjkc7o0JOQCXdu3v7WRA==",

+  "success": true,

+  "projectFilePath": "C:\\Users\\User\\Documents\\cs\\ex8-1\\InvoiceTotal\\InvoiceTotal.csproj",

+  "expectedPackageFiles": [],

+  "logs": []

+}
\ No newline at end of file