Paymeant is done

This commit is contained in:
Илья Федотов 2024-06-01 05:23:37 +04:00
parent 0cbba88298
commit c3c37efef6
13 changed files with 54 additions and 15 deletions

View File

@ -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,

View File

@ -17,5 +17,7 @@ namespace ElectronicsShopContracts.BindingModels
public double SumPayment { get; set; }
public PaymeantOption PayOption { get; set; } = PaymeantOption.Неоплачено;
public int ClientID { get; set; }
}
}

View File

@ -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; }
}
}

View File

@ -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; }
}
}

View File

@ -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();

View File

@ -12,7 +12,7 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
namespace ElectronicsShopDataBaseImplement.Migrations
{
[DbContext(typeof(Database))]
[Migration("20240601002930_InitMigration")]
[Migration("20240601012156_InitMigration")]
partial class InitMigration
{
/// <inheritdoc />
@ -191,6 +191,9 @@ namespace ElectronicsShopDataBaseImplement.Migrations
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
b.Property<int>("ClientID")
.HasColumnType("int");
b.Property<int>("OrderID")
.HasColumnType("int");

View File

@ -112,6 +112,7 @@ namespace ElectronicsShopDataBaseImplement.Migrations
ID = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
OrderID = table.Column<int>(type: "int", nullable: false),
ClientID = table.Column<int>(type: "int", nullable: false),
SumPayment = table.Column<double>(type: "float", nullable: false),
PayOption = table.Column<int>(type: "int", nullable: false),
PaymentID = table.Column<int>(type: "int", nullable: true)

View File

@ -188,6 +188,9 @@ namespace ElectronicsShopDataBaseImplement.Migrations
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
b.Property<int>("ClientID")
.HasColumnType("int");
b.Property<int>("OrderID")
.HasColumnType("int");

View File

@ -20,6 +20,9 @@ namespace ElectronicsShopDataBaseImplement.Models
[ForeignKey("OrderID")]
public int OrderID { get; set; }
[Required]
public int ClientID { get; set; }
[Required]
public double SumPayment { get; set; }
@ -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,
};
}
}

View File

@ -13,5 +13,6 @@ namespace ElectronicsShopDataModels.Models
int OrderID { get; }
double SumPayment { get; }
PaymeantOption PayOption { get; }
int ClientID { get; }
}
}

View File

@ -66,5 +66,16 @@ namespace ElectronicsShopRestAPI.Controllers {
_logger.LogError(ex, "Ошибка создания оплаты");
}
}
[HttpPost]
public List<PaymeantViewModel>? GetPaymeants(int _clientID) {
try {
return _payLogic.ReadList(new PaymeantSearchModel { ClientID = _clientID });
}
catch (Exception ex) {
_logger.LogError(ex, $"Ошибка получения списка оплат клиента id = {_clientID}");
throw;
}
}
}
}

View File

@ -29,7 +29,7 @@ namespace ElectronicsShopUserApp.Controllers {
if (APIClient.Client == null) {
return Redirect("~/Home/Enter");
}
return View(APIClient.GetRequset<List<OrderViewModel>>($"api/main/getorders?_clientid={APIClient.Client.ID}"));
return View(APIClient.GetRequset<List<PaymeantViewModel>>($"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");
}

View File

@ -1,6 +1,6 @@
@using ElectronicsShopContracts.ViewModels
@model List<OrderViewModel>
@model List<PaymeantViewModel>
@{
ViewData["Title"] = "Home Page";
@ -20,14 +20,17 @@
<table class="table">
<thead>
<tr>
<th>
Номер
</th>
<th>
Номер заказа
</th>
<th>
Дата создания
Сумма к оплате
</th>
<th>
Сумма
Статус оплаты
</th>
</tr>
</thead>
@ -38,10 +41,13 @@
@Html.DisplayFor(modelItem => item.ID)
</th>
<th>
@Html.DisplayFor(modelItem => item.DateCreate)
@Html.DisplayFor(modelItem => item.OrderID)
</th>
<th>
@Html.DisplayFor(modelItem => item.Sum)
@Html.DisplayFor(modelItem => item.SumPayment)
</th>
<th>
@Html.DisplayFor(modelItem => item.PayOption)
</th>
</tr>
}