diff --git a/ElectronicsShop/ElectronicsShopBusinessLogic/BusinessLogic/ReportClientLogic.cs b/ElectronicsShop/ElectronicsShopBusinessLogic/BusinessLogic/ReportClientLogic.cs
index e6bb4c3..9cf04ff 100644
--- a/ElectronicsShop/ElectronicsShopBusinessLogic/BusinessLogic/ReportClientLogic.cs
+++ b/ElectronicsShop/ElectronicsShopBusinessLogic/BusinessLogic/ReportClientLogic.cs
@@ -29,7 +29,7 @@ namespace ElectronicsShopBusinessLogic.BusinessLogic
var record = new ReportPaymeantsViewModel
{
PaymeantID=paymeant.ID,
- ProductID=paymeant.ProductID,
+ //ProductID=paymeant.ProductID,
OrderID=paymeant.OrderID,
PayOption=paymeant.PayOption,
SumPayment=paymeant.SumPayment,
diff --git a/ElectronicsShop/ElectronicsShopContracts/BindingModels/PaymeantBindingModel.cs b/ElectronicsShop/ElectronicsShopContracts/BindingModels/PaymeantBindingModel.cs
index cd7840f..30c11b3 100644
--- a/ElectronicsShop/ElectronicsShopContracts/BindingModels/PaymeantBindingModel.cs
+++ b/ElectronicsShop/ElectronicsShopContracts/BindingModels/PaymeantBindingModel.cs
@@ -17,5 +17,7 @@ namespace ElectronicsShopContracts.BindingModels
public double SumPayment { get; set; }
public PaymeantOption PayOption { get; set; } = PaymeantOption.Неоплачено;
+
+ public int ClientID { get; set; }
}
}
diff --git a/ElectronicsShop/ElectronicsShopContracts/SearchModels/PaymeantSearchModel.cs b/ElectronicsShop/ElectronicsShopContracts/SearchModels/PaymeantSearchModel.cs
index 6332616..450909c 100644
--- a/ElectronicsShop/ElectronicsShopContracts/SearchModels/PaymeantSearchModel.cs
+++ b/ElectronicsShop/ElectronicsShopContracts/SearchModels/PaymeantSearchModel.cs
@@ -12,5 +12,6 @@ namespace ElectronicsShopContracts.SearchModels
public int? ProductID { get; set; }
public int? OrderID { get; set; }
public double? SumPay { get; set; }
+ public int? ClientID { get; set; }
}
}
diff --git a/ElectronicsShop/ElectronicsShopContracts/ViewModels/PaymeantViewModel.cs b/ElectronicsShop/ElectronicsShopContracts/ViewModels/PaymeantViewModel.cs
index 995f035..b26ba1e 100644
--- a/ElectronicsShop/ElectronicsShopContracts/ViewModels/PaymeantViewModel.cs
+++ b/ElectronicsShop/ElectronicsShopContracts/ViewModels/PaymeantViewModel.cs
@@ -12,8 +12,6 @@ namespace ElectronicsShopContracts.ViewModels
public class PaymeantViewModel : IPaymentModel {
public int ID { get; set; }
- public int ProductID { get; set; }
-
public int OrderID { get; set; }
[DisplayName("Cумма оплаты продукта")]
@@ -21,5 +19,8 @@ namespace ElectronicsShopContracts.ViewModels
[DisplayName("Статус оплаты")]
public PaymeantOption PayOption { get; set; } = PaymeantOption.Неоплачено;
- }
+
+ [DisplayName("Клиент")]
+ public int ClientID { get; set; }
+ }
}
diff --git a/ElectronicsShop/ElectronicsShopDataBaseImplement/Implements/PaymeantStorage.cs b/ElectronicsShop/ElectronicsShopDataBaseImplement/Implements/PaymeantStorage.cs
index f3d10a9..0445b3d 100644
--- a/ElectronicsShop/ElectronicsShopDataBaseImplement/Implements/PaymeantStorage.cs
+++ b/ElectronicsShop/ElectronicsShopDataBaseImplement/Implements/PaymeantStorage.cs
@@ -48,6 +48,11 @@ namespace ElectronicsShopDataBaseImplement.Implements {
return new();
}
using var context = new Database();
+ if (model.ClientID.HasValue) {
+ return context.Paymeants
+ .Where(x => x.ClientID == model.ClientID)
+ .Select(x => x.GetViewModel).ToList();
+ }
return context.Paymeants
.Where(x => x.ID == model.ID)
.Select(x => x.GetViewModel).ToList();
diff --git a/ElectronicsShop/ElectronicsShopDataBaseImplement/Migrations/20240601002930_InitMigration.Designer.cs b/ElectronicsShop/ElectronicsShopDataBaseImplement/Migrations/20240601012156_InitMigration.Designer.cs
similarity index 98%
rename from ElectronicsShop/ElectronicsShopDataBaseImplement/Migrations/20240601002930_InitMigration.Designer.cs
rename to ElectronicsShop/ElectronicsShopDataBaseImplement/Migrations/20240601012156_InitMigration.Designer.cs
index a04775f..31a2e6b 100644
--- a/ElectronicsShop/ElectronicsShopDataBaseImplement/Migrations/20240601002930_InitMigration.Designer.cs
+++ b/ElectronicsShop/ElectronicsShopDataBaseImplement/Migrations/20240601012156_InitMigration.Designer.cs
@@ -12,7 +12,7 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
namespace ElectronicsShopDataBaseImplement.Migrations
{
[DbContext(typeof(Database))]
- [Migration("20240601002930_InitMigration")]
+ [Migration("20240601012156_InitMigration")]
partial class InitMigration
{
///
@@ -191,6 +191,9 @@ namespace ElectronicsShopDataBaseImplement.Migrations
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID"));
+ b.Property("ClientID")
+ .HasColumnType("int");
+
b.Property("OrderID")
.HasColumnType("int");
diff --git a/ElectronicsShop/ElectronicsShopDataBaseImplement/Migrations/20240601002930_InitMigration.cs b/ElectronicsShop/ElectronicsShopDataBaseImplement/Migrations/20240601012156_InitMigration.cs
similarity index 99%
rename from ElectronicsShop/ElectronicsShopDataBaseImplement/Migrations/20240601002930_InitMigration.cs
rename to ElectronicsShop/ElectronicsShopDataBaseImplement/Migrations/20240601012156_InitMigration.cs
index d34bb38..780ffb3 100644
--- a/ElectronicsShop/ElectronicsShopDataBaseImplement/Migrations/20240601002930_InitMigration.cs
+++ b/ElectronicsShop/ElectronicsShopDataBaseImplement/Migrations/20240601012156_InitMigration.cs
@@ -112,6 +112,7 @@ namespace ElectronicsShopDataBaseImplement.Migrations
ID = table.Column(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
OrderID = table.Column(type: "int", nullable: false),
+ ClientID = table.Column(type: "int", nullable: false),
SumPayment = table.Column(type: "float", nullable: false),
PayOption = table.Column(type: "int", nullable: false),
PaymentID = table.Column(type: "int", nullable: true)
diff --git a/ElectronicsShop/ElectronicsShopDataBaseImplement/Migrations/DatabaseModelSnapshot.cs b/ElectronicsShop/ElectronicsShopDataBaseImplement/Migrations/DatabaseModelSnapshot.cs
index bafcd57..0869eef 100644
--- a/ElectronicsShop/ElectronicsShopDataBaseImplement/Migrations/DatabaseModelSnapshot.cs
+++ b/ElectronicsShop/ElectronicsShopDataBaseImplement/Migrations/DatabaseModelSnapshot.cs
@@ -188,6 +188,9 @@ namespace ElectronicsShopDataBaseImplement.Migrations
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("ID"));
+ b.Property("ClientID")
+ .HasColumnType("int");
+
b.Property("OrderID")
.HasColumnType("int");
diff --git a/ElectronicsShop/ElectronicsShopDataBaseImplement/Models/Paymeant.cs b/ElectronicsShop/ElectronicsShopDataBaseImplement/Models/Paymeant.cs
index 8005f9f..851e53c 100644
--- a/ElectronicsShop/ElectronicsShopDataBaseImplement/Models/Paymeant.cs
+++ b/ElectronicsShop/ElectronicsShopDataBaseImplement/Models/Paymeant.cs
@@ -21,6 +21,9 @@ namespace ElectronicsShopDataBaseImplement.Models
public int OrderID { get; set; }
[Required]
+ public int ClientID { get; set; }
+
+ [Required]
public double SumPayment { get; set; }
[Required]
@@ -38,6 +41,7 @@ namespace ElectronicsShopDataBaseImplement.Models
OrderID = model.OrderID,
SumPayment = model.SumPayment,
PayOption = model.PayOption,
+ ClientID = model.ClientID,
};
}
public void Update(PaymeantBindingModel? model)
@@ -57,7 +61,7 @@ namespace ElectronicsShopDataBaseImplement.Models
OrderID = OrderID,
SumPayment = SumPayment,
PayOption = PayOption,
+ ClientID = ClientID,
};
-
- }
+ }
}
diff --git a/ElectronicsShop/ElectronicsShopDataModels/Models/IPaymentModel.cs b/ElectronicsShop/ElectronicsShopDataModels/Models/IPaymentModel.cs
index 77e5897..1170593 100644
--- a/ElectronicsShop/ElectronicsShopDataModels/Models/IPaymentModel.cs
+++ b/ElectronicsShop/ElectronicsShopDataModels/Models/IPaymentModel.cs
@@ -13,5 +13,6 @@ namespace ElectronicsShopDataModels.Models
int OrderID { get; }
double SumPayment { get; }
PaymeantOption PayOption { get; }
+ int ClientID { get; }
}
}
diff --git a/ElectronicsShop/ElectronicsShopRestAPI/Controllers/ClientController.cs b/ElectronicsShop/ElectronicsShopRestAPI/Controllers/ClientController.cs
index 843d622..8598ce9 100644
--- a/ElectronicsShop/ElectronicsShopRestAPI/Controllers/ClientController.cs
+++ b/ElectronicsShop/ElectronicsShopRestAPI/Controllers/ClientController.cs
@@ -66,5 +66,16 @@ namespace ElectronicsShopRestAPI.Controllers {
_logger.LogError(ex, "Ошибка создания оплаты");
}
}
+
+ [HttpPost]
+ public List? GetPaymeants(int _clientID) {
+ try {
+ return _payLogic.ReadList(new PaymeantSearchModel { ClientID = _clientID });
+ }
+ catch (Exception ex) {
+ _logger.LogError(ex, $"Ошибка получения списка оплат клиента id = {_clientID}");
+ throw;
+ }
+ }
}
}
diff --git a/ElectronicsShop/ElectronicsShopShopClientApp/Controllers/HomeController.cs b/ElectronicsShop/ElectronicsShopShopClientApp/Controllers/HomeController.cs
index 59c1b26..2ceec77 100644
--- a/ElectronicsShop/ElectronicsShopShopClientApp/Controllers/HomeController.cs
+++ b/ElectronicsShop/ElectronicsShopShopClientApp/Controllers/HomeController.cs
@@ -29,7 +29,7 @@ namespace ElectronicsShopUserApp.Controllers {
if (APIClient.Client == null) {
return Redirect("~/Home/Enter");
}
- return View(APIClient.GetRequset>($"api/main/getorders?_clientid={APIClient.Client.ID}"));
+ return View(APIClient.GetRequset>($"api/client/getpaymeants?_clientid={APIClient.Client.ID}"));
}
[HttpGet]
@@ -267,8 +267,9 @@ namespace ElectronicsShopUserApp.Controllers {
}
APIClient.PostRequest("api/client/createpaymeant", new PaymeantBindingModel {
OrderID = id,
- SumPayment = sum,
- PayOption = PayOptionCalc(sum, paysum)
+ SumPayment = paysum,
+ PayOption = PayOptionCalc(sum, paysum),
+ ClientID = APIClient.Client.ID
});
Response.Redirect("Index");
}
diff --git a/ElectronicsShop/ElectronicsShopShopClientApp/Views/Home/Index.cshtml b/ElectronicsShop/ElectronicsShopShopClientApp/Views/Home/Index.cshtml
index 3464ddf..ff68e3e 100644
--- a/ElectronicsShop/ElectronicsShopShopClientApp/Views/Home/Index.cshtml
+++ b/ElectronicsShop/ElectronicsShopShopClientApp/Views/Home/Index.cshtml
@@ -1,6 +1,6 @@
@using ElectronicsShopContracts.ViewModels
-@model List
+@model List
@{
ViewData["Title"] = "Home Page";
@@ -20,14 +20,17 @@
+
+ Номер
+ |
Номер заказа
|
- Дата создания
+ Сумма к оплате
|
- Сумма
+ Статус оплаты
|
@@ -38,10 +41,13 @@
@Html.DisplayFor(modelItem => item.ID)
- @Html.DisplayFor(modelItem => item.DateCreate)
+ @Html.DisplayFor(modelItem => item.OrderID)
|
- @Html.DisplayFor(modelItem => item.Sum)
+ @Html.DisplayFor(modelItem => item.SumPayment)
+ |
+
+ @Html.DisplayFor(modelItem => item.PayOption)
|
}