gr672_pgv vor 4 Jahren
Commit
8ef8704676
42 geänderte Dateien mit 105416 neuen und 0 gelöschten Zeilen
  1. 25 0
      BankServer.sln
  2. 6 0
      BankServer/App.config
  3. 59 0
      BankServer/BankServer.csproj
  4. 21 0
      BankServer/DataOfPayment.cs
  5. 15 0
      BankServer/DataOfRefund.cs
  6. 80 0
      BankServer/Program.cs
  7. 36 0
      BankServer/Properties/AssemblyInfo.cs
  8. BIN
      BankServer/bin/Debug/BankServer.exe
  9. 6 0
      BankServer/bin/Debug/BankServer.exe.config
  10. BIN
      BankServer/bin/Debug/BankServer.pdb
  11. BIN
      BankServer/bin/Debug/Newtonsoft.Json.dll
  12. 11262 0
      BankServer/bin/Debug/Newtonsoft.Json.xml
  13. 0 0
      BankServer/obj/Debug/BankServer.csproj.CopyComplete
  14. 1 0
      BankServer/obj/Debug/BankServer.csproj.CoreCompileInputs.cache
  15. 10 0
      BankServer/obj/Debug/BankServer.csproj.FileListAbsolute.txt
  16. BIN
      BankServer/obj/Debug/BankServer.csprojAssemblyReference.cache
  17. BIN
      BankServer/obj/Debug/BankServer.exe
  18. BIN
      BankServer/obj/Debug/BankServer.pdb
  19. BIN
      BankServer/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
  20. 4 0
      BankServer/packages.config
  21. BIN
      packages/Newtonsoft.Json.12.0.3/.signature.p7s
  22. 20 0
      packages/Newtonsoft.Json.12.0.3/LICENSE.md
  23. BIN
      packages/Newtonsoft.Json.12.0.3/Newtonsoft.Json.12.0.3.nupkg
  24. BIN
      packages/Newtonsoft.Json.12.0.3/lib/net20/Newtonsoft.Json.dll
  25. 10298 0
      packages/Newtonsoft.Json.12.0.3/lib/net20/Newtonsoft.Json.xml
  26. BIN
      packages/Newtonsoft.Json.12.0.3/lib/net35/Newtonsoft.Json.dll
  27. 9446 0
      packages/Newtonsoft.Json.12.0.3/lib/net35/Newtonsoft.Json.xml
  28. BIN
      packages/Newtonsoft.Json.12.0.3/lib/net40/Newtonsoft.Json.dll
  29. 9646 0
      packages/Newtonsoft.Json.12.0.3/lib/net40/Newtonsoft.Json.xml
  30. BIN
      packages/Newtonsoft.Json.12.0.3/lib/net45/Newtonsoft.Json.dll
  31. 11262 0
      packages/Newtonsoft.Json.12.0.3/lib/net45/Newtonsoft.Json.xml
  32. BIN
      packages/Newtonsoft.Json.12.0.3/lib/netstandard1.0/Newtonsoft.Json.dll
  33. 10950 0
      packages/Newtonsoft.Json.12.0.3/lib/netstandard1.0/Newtonsoft.Json.xml
  34. BIN
      packages/Newtonsoft.Json.12.0.3/lib/netstandard1.3/Newtonsoft.Json.dll
  35. 11072 0
      packages/Newtonsoft.Json.12.0.3/lib/netstandard1.3/Newtonsoft.Json.xml
  36. BIN
      packages/Newtonsoft.Json.12.0.3/lib/netstandard2.0/Newtonsoft.Json.dll
  37. 11237 0
      packages/Newtonsoft.Json.12.0.3/lib/netstandard2.0/Newtonsoft.Json.xml
  38. BIN
      packages/Newtonsoft.Json.12.0.3/lib/portable-net40+sl5+win8+wp8+wpa81/Newtonsoft.Json.dll
  39. 9010 0
      packages/Newtonsoft.Json.12.0.3/lib/portable-net40+sl5+win8+wp8+wpa81/Newtonsoft.Json.xml
  40. BIN
      packages/Newtonsoft.Json.12.0.3/lib/portable-net45+win8+wp8+wpa81/Newtonsoft.Json.dll
  41. 10950 0
      packages/Newtonsoft.Json.12.0.3/lib/portable-net45+win8+wp8+wpa81/Newtonsoft.Json.xml
  42. BIN
      packages/Newtonsoft.Json.12.0.3/packageIcon.png

+ 25 - 0
BankServer.sln

@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.29102.190
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BankServer", "BankServer\BankServer.csproj", "{791E470B-4025-4410-954C-68A7101587B1}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{791E470B-4025-4410-954C-68A7101587B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{791E470B-4025-4410-954C-68A7101587B1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{791E470B-4025-4410-954C-68A7101587B1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{791E470B-4025-4410-954C-68A7101587B1}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {01544443-2CA0-45C2-91B4-CFCCDD8AEBC5}
+	EndGlobalSection
+EndGlobal

+ 6 - 0
BankServer/App.config

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+    <startup> 
+        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
+    </startup>
+</configuration>

+ 59 - 0
BankServer/BankServer.csproj

@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{791E470B-4025-4410-954C-68A7101587B1}</ProjectGuid>
+    <OutputType>Exe</OutputType>
+    <RootNamespace>BankServer</RootNamespace>
+    <AssemblyName>BankServer</AssemblyName>
+    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
+    <Deterministic>true</Deterministic>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
+      <HintPath>..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
+    </Reference>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Xml.Linq" />
+    <Reference Include="System.Data.DataSetExtensions" />
+    <Reference Include="Microsoft.CSharp" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Net.Http" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="DataOfPayment.cs" />
+    <Compile Include="DataOfRefund.cs" />
+    <Compile Include="Program.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="App.config" />
+    <None Include="packages.config" />
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project>

+ 21 - 0
BankServer/DataOfPayment.cs

@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BankServer
+{
+    public class DataOfPayment
+    {
+        public decimal PriceRefueling { get; set; }
+        public string NumberCard { get; set; }
+        public string CardExpDate { get; set; }
+        public decimal Balance { get; set; }
+        public string CardHolder { get; set; }
+        public string PIN { get; set; }
+        public string KeySession { get; set; }
+        public int IDGasStation { get; set; }
+
+    }
+}

+ 15 - 0
BankServer/DataOfRefund.cs

@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BankServer
+{
+    public class DataOfRefund
+    {
+        public string NumberCard { get; set; }
+        public string TransactionCode { get; set; }
+        public decimal AmountOfRefund { get; set; }
+    }
+}

+ 80 - 0
BankServer/Program.cs

@@ -0,0 +1,80 @@
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Net;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BankServer
+{
+    class Program
+    {
+        static void Main(string[] args)
+        {
+            Listen();
+            Console.Read();
+        }
+
+        public static async Task<string> Pay(HttpListenerContext context, HttpListenerRequest request)
+        {
+            StreamReader reader = new StreamReader(request.InputStream, Encoding.UTF8);
+            string Json = await reader.ReadToEndAsync();
+            DataOfPayment dataOfPayment = JsonConvert.DeserializeObject<DataOfPayment>(Json);
+            HttpListenerResponse response = context.Response;
+            byte[] buffer;
+            if (dataOfPayment.PIN == "0000")
+            {
+                buffer = Encoding.UTF8.GetBytes("Отклонено.Код транзакции: 00000000 - 000000. Неверный PIN.");
+                response.ContentLength64 = buffer.Length;
+                Stream outputErrorePIN = response.OutputStream;
+                outputErrorePIN.Write(buffer, 0, buffer.Length);
+                outputErrorePIN.Close();
+                return buffer.ToString();
+            }
+            if (dataOfPayment.PriceRefueling > dataOfPayment.Balance)
+            {
+                buffer = Encoding.UTF8.GetBytes("Отклонено.Код транзакции: 00000000 - 000000. Не достаточно средств.");
+                response.ContentLength64 = buffer.Length;
+                Stream outputErroreBalance = response.OutputStream;
+                outputErroreBalance.Write(buffer, 0, buffer.Length);
+                outputErroreBalance.Close();
+                return buffer.ToString();
+            }
+            buffer = Encoding.UTF8.GetBytes($"Одобрено. Код транзакции: {DateTime.Now.ToString("ddMMyyyy - hhmmss")}") ;
+            response.ContentLength64 = buffer.Length;
+            Stream output = response.OutputStream;
+            output.Write(buffer, 0, buffer.Length);
+            output.Close();
+            return buffer.ToString();
+        }
+
+        public static async void Listen()
+        {
+            HttpListener listener = new HttpListener();
+            listener.Prefixes.Add("http://127.0.0.1:8081/");
+            listener.Start();
+            Console.WriteLine("Ожидание подключений");
+            while (true)
+            {
+                HttpListenerContext context = await listener.GetContextAsync();
+                HttpListenerRequest request = context.Request;
+                if (request.RawUrl.Contains("/pay") && request.HttpMethod == "POST")
+                {
+                   string State = await Pay(context, request);
+                   Console.WriteLine(State);
+                }
+                if (request.RawUrl.Contains("/refund") && request.HttpMethod == "POST")
+                {
+                    HttpListenerResponse response = context.Response;
+                    byte[] buffer = Encoding.UTF8.GetBytes($"Средства возвращены.");
+                    response.ContentLength64 = buffer.Length;
+                    Stream output = response.OutputStream;
+                    output.Write(buffer, 0, buffer.Length);
+                    output.Close();
+                }
+            }
+        }
+    }
+}

+ 36 - 0
BankServer/Properties/AssemblyInfo.cs

@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// Общие сведения об этой сборке предоставляются следующим набором
+// набора атрибутов. Измените значения этих атрибутов для изменения сведений,
+// связанные с этой сборкой.
+[assembly: AssemblyTitle("BankServer")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("BankServer")]
+[assembly: AssemblyCopyright("Copyright ©  2021")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Установка значения False для параметра ComVisible делает типы в этой сборке невидимыми
+// для компонентов COM. Если необходимо обратиться к типу в этой сборке через
+// из модели COM задайте для атрибута ComVisible этого типа значение true.
+[assembly: ComVisible(false)]
+
+// Следующий GUID представляет идентификатор typelib, если этот проект доступен из модели COM
+[assembly: Guid("791e470b-4025-4410-954c-68a7101587b1")]
+
+// Сведения о версии сборки состоят из указанных ниже четырех значений:
+//
+//      Основной номер версии
+//      Дополнительный номер версии
+//      Номер сборки
+//      Номер редакции
+//
+// Можно задать все значения или принять номера сборки и редакции по умолчанию 
+// используя "*", как показано ниже:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

BIN
BankServer/bin/Debug/BankServer.exe


+ 6 - 0
BankServer/bin/Debug/BankServer.exe.config

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+    <startup> 
+        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
+    </startup>
+</configuration>

BIN
BankServer/bin/Debug/BankServer.pdb


BIN
BankServer/bin/Debug/Newtonsoft.Json.dll


Datei-Diff unterdrückt, da er zu groß ist
+ 11262 - 0
BankServer/bin/Debug/Newtonsoft.Json.xml


+ 0 - 0
BankServer/obj/Debug/BankServer.csproj.CopyComplete


+ 1 - 0
BankServer/obj/Debug/BankServer.csproj.CoreCompileInputs.cache

@@ -0,0 +1 @@
+7b56100e71b7afb7188bb7854b7ed670c8165c40

+ 10 - 0
BankServer/obj/Debug/BankServer.csproj.FileListAbsolute.txt

@@ -0,0 +1,10 @@
+C:\Users\gr672_pgv\source\repos\BankServer\BankServer\bin\Debug\BankServer.exe.config
+C:\Users\gr672_pgv\source\repos\BankServer\BankServer\bin\Debug\BankServer.exe
+C:\Users\gr672_pgv\source\repos\BankServer\BankServer\bin\Debug\BankServer.pdb
+C:\Users\gr672_pgv\source\repos\BankServer\BankServer\bin\Debug\Newtonsoft.Json.dll
+C:\Users\gr672_pgv\source\repos\BankServer\BankServer\bin\Debug\Newtonsoft.Json.xml
+C:\Users\gr672_pgv\source\repos\BankServer\BankServer\obj\Debug\BankServer.csprojAssemblyReference.cache
+C:\Users\gr672_pgv\source\repos\BankServer\BankServer\obj\Debug\BankServer.csproj.CoreCompileInputs.cache
+C:\Users\gr672_pgv\source\repos\BankServer\BankServer\obj\Debug\BankServer.csproj.CopyComplete
+C:\Users\gr672_pgv\source\repos\BankServer\BankServer\obj\Debug\BankServer.exe
+C:\Users\gr672_pgv\source\repos\BankServer\BankServer\obj\Debug\BankServer.pdb

BIN
BankServer/obj/Debug/BankServer.csprojAssemblyReference.cache


BIN
BankServer/obj/Debug/BankServer.exe


BIN
BankServer/obj/Debug/BankServer.pdb


BIN
BankServer/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache


+ 4 - 0
BankServer/packages.config

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+  <package id="Newtonsoft.Json" version="12.0.3" targetFramework="net472" />
+</packages>

BIN
packages/Newtonsoft.Json.12.0.3/.signature.p7s


+ 20 - 0
packages/Newtonsoft.Json.12.0.3/LICENSE.md

@@ -0,0 +1,20 @@
+The MIT License (MIT)
+
+Copyright (c) 2007 James Newton-King
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

BIN
packages/Newtonsoft.Json.12.0.3/Newtonsoft.Json.12.0.3.nupkg


BIN
packages/Newtonsoft.Json.12.0.3/lib/net20/Newtonsoft.Json.dll


Datei-Diff unterdrückt, da er zu groß ist
+ 10298 - 0
packages/Newtonsoft.Json.12.0.3/lib/net20/Newtonsoft.Json.xml


BIN
packages/Newtonsoft.Json.12.0.3/lib/net35/Newtonsoft.Json.dll


Datei-Diff unterdrückt, da er zu groß ist
+ 9446 - 0
packages/Newtonsoft.Json.12.0.3/lib/net35/Newtonsoft.Json.xml


BIN
packages/Newtonsoft.Json.12.0.3/lib/net40/Newtonsoft.Json.dll


Datei-Diff unterdrückt, da er zu groß ist
+ 9646 - 0
packages/Newtonsoft.Json.12.0.3/lib/net40/Newtonsoft.Json.xml


BIN
packages/Newtonsoft.Json.12.0.3/lib/net45/Newtonsoft.Json.dll


Datei-Diff unterdrückt, da er zu groß ist
+ 11262 - 0
packages/Newtonsoft.Json.12.0.3/lib/net45/Newtonsoft.Json.xml


BIN
packages/Newtonsoft.Json.12.0.3/lib/netstandard1.0/Newtonsoft.Json.dll


Datei-Diff unterdrückt, da er zu groß ist
+ 10950 - 0
packages/Newtonsoft.Json.12.0.3/lib/netstandard1.0/Newtonsoft.Json.xml


BIN
packages/Newtonsoft.Json.12.0.3/lib/netstandard1.3/Newtonsoft.Json.dll


Datei-Diff unterdrückt, da er zu groß ist
+ 11072 - 0
packages/Newtonsoft.Json.12.0.3/lib/netstandard1.3/Newtonsoft.Json.xml


BIN
packages/Newtonsoft.Json.12.0.3/lib/netstandard2.0/Newtonsoft.Json.dll


Datei-Diff unterdrückt, da er zu groß ist
+ 11237 - 0
packages/Newtonsoft.Json.12.0.3/lib/netstandard2.0/Newtonsoft.Json.xml


BIN
packages/Newtonsoft.Json.12.0.3/lib/portable-net40+sl5+win8+wp8+wpa81/Newtonsoft.Json.dll


Datei-Diff unterdrückt, da er zu groß ist
+ 9010 - 0
packages/Newtonsoft.Json.12.0.3/lib/portable-net40+sl5+win8+wp8+wpa81/Newtonsoft.Json.xml


BIN
packages/Newtonsoft.Json.12.0.3/lib/portable-net45+win8+wp8+wpa81/Newtonsoft.Json.dll


Datei-Diff unterdrückt, da er zu groß ist
+ 10950 - 0
packages/Newtonsoft.Json.12.0.3/lib/portable-net45+win8+wp8+wpa81/Newtonsoft.Json.xml


BIN
packages/Newtonsoft.Json.12.0.3/packageIcon.png