errors fix

This commit is contained in:
devil_1nc 2023-05-19 18:26:38 +04:00
parent 9d584e2f20
commit d150686576
17 changed files with 656 additions and 117 deletions

View File

@ -17,7 +17,7 @@ namespace ComputerShopContracts.BindingModels
public DateTime? DateImplement { get; set; }
public Dictionary<int, (int, IOrderModel)> SupplyOrders
public Dictionary<int, IOrderModel> SupplyOrders
{
get;
set;

View File

@ -22,7 +22,7 @@ namespace ComputerShopContracts.ViewModels
[DisplayName("Номер")]
public int Id { get; set; }
public Dictionary<int, (int, IOrderModel)> SupplyOrders
public Dictionary<int, IOrderModel> SupplyOrders
{
get;
set;

View File

@ -7,6 +7,6 @@ namespace ComputerShopDataModels.Models
SupplyStatus Status { get; }
DateTime DateCreate { get; }
DateTime? DateImplement { get; }
Dictionary<int, (int, IOrderModel)> SupplyOrders { get; }
Dictionary<int, IOrderModel> SupplyOrders { get; }
}
}

View File

@ -15,7 +15,7 @@ namespace ComputerShopDatabaseImplement
{
if (optionsBuilder.IsConfigured == false)
{
optionsBuilder.UseSqlServer(@"Data Source=DESKTOP-IRUVF5S\SQLEXPRESS;Initial Catalog=ComputerShopDatabaseCW;Integrated Security=True;MultipleActiveResultSets=True;;TrustServerCertificate=True");
optionsBuilder.UseSqlServer(@"Data Source=DESKTOP-QA8P9OJ;Initial Catalog=ComputerShopDatabase;Integrated Security=True;MultipleActiveResultSets=True;;TrustServerCertificate=True");
}
base.OnConfiguring(optionsBuilder);
}

View File

@ -22,4 +22,8 @@
<ProjectReference Include="..\ComputerShopDataModels\ComputerShopDataModels.csproj" />
</ItemGroup>
<ItemGroup>
<Folder Include="Migrations\" />
</ItemGroup>
</Project>

View File

@ -2,6 +2,7 @@
using ComputerShopContracts.SearchModels;
using ComputerShopContracts.StorageContracts;
using ComputerShopContracts.ViewModels;
using ComputerShopDatabaseImplement.Models;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
@ -63,12 +64,29 @@ namespace ComputerShopDatabaseImplement.Implements
public OrderViewModel? Insert(OrderBindingModel model)
{
throw new NotImplementedException();
var newOrder = Order.Create(model);
if (newOrder == null)
{
return null;
}
using var context = new ComputerShopDatabase();
context.Orders.Add(newOrder);
context.SaveChanges();
return context.Orders.Include(x => x.Assemblies).Include(x => x.ClientId).FirstOrDefault(x => x.Id == newOrder.Id)?.GetViewModel;
}
public OrderViewModel? Update(OrderBindingModel model)
{
throw new NotImplementedException();
using var context = new ComputerShopDatabase();
var order = context.Orders.FirstOrDefault(x => x.Id == model.Id);
if (order == null)
{
return null;
}
order.Update(model);
context.SaveChanges();
return context.Orders.Include(x => x.Assemblies).FirstOrDefault(x => x.Id == order.Id)?.GetViewModel;
}
}
}

View File

@ -1,95 +0,0 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace ComputerShopDatabaseImplement.Migrations
{
/// <inheritdoc />
public partial class supplymig : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_EquipmentReceivings_Supplies_SupplyId",
table: "EquipmentReceivings");
migrationBuilder.DropIndex(
name: "IX_EquipmentReceivings_SupplyId",
table: "EquipmentReceivings");
migrationBuilder.DropColumn(
name: "SupplyId",
table: "EquipmentReceivings");
migrationBuilder.AlterColumn<int>(
name: "ReceivingId",
table: "Supplies",
type: "int",
nullable: true,
oldClrType: typeof(int),
oldType: "int");
migrationBuilder.CreateIndex(
name: "IX_Supplies_ReceivingId",
table: "Supplies",
column: "ReceivingId");
migrationBuilder.AddForeignKey(
name: "FK_Supplies_EquipmentReceivings_ReceivingId",
table: "Supplies",
column: "ReceivingId",
principalTable: "EquipmentReceivings",
principalColumn: "Id");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_Supplies_EquipmentReceivings_ReceivingId",
table: "Supplies");
migrationBuilder.DropIndex(
name: "IX_Supplies_ReceivingId",
table: "Supplies");
migrationBuilder.AlterColumn<int>(
name: "ReceivingId",
table: "Supplies",
type: "int",
nullable: false,
defaultValue: 0,
oldClrType: typeof(int),
oldType: "int",
oldNullable: true);
migrationBuilder.AddColumn<int>(
name: "SupplyId",
table: "EquipmentReceivings",
type: "int",
nullable: true);
migrationBuilder.AlterColumn<int>(
name: "ClientId",
table: "Assemblies",
type: "int",
nullable: true,
oldClrType: typeof(int),
oldType: "int");
migrationBuilder.CreateIndex(
name: "IX_EquipmentReceivings_SupplyId",
table: "EquipmentReceivings",
column: "SupplyId");
migrationBuilder.AddForeignKey(
name: "FK_EquipmentReceivings_Supplies_SupplyId",
table: "EquipmentReceivings",
column: "SupplyId",
principalTable: "Supplies",
principalColumn: "Id");
}
}
}

View File

@ -12,8 +12,8 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
namespace ComputerShopDatabaseImplement.Migrations
{
[DbContext(typeof(ComputerShopDatabase))]
[Migration("20230518181418_supplymig")]
partial class supplymig
[Migration("20230519134438_Init")]
partial class Init
{
/// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder)
@ -294,7 +294,7 @@ namespace ComputerShopDatabaseImplement.Migrations
b.Property<int>("OrderId")
.HasColumnType("int");
b.Property<int?>("ReceivingId")
b.Property<int>("ReceivingId")
.HasColumnType("int");
b.Property<int>("Status")
@ -453,7 +453,9 @@ namespace ComputerShopDatabaseImplement.Migrations
b.HasOne("ComputerShopDatabaseImplement.Models.EquipmentReceiving", null)
.WithMany("Supplies")
.HasForeignKey("ReceivingId");
.HasForeignKey("ReceivingId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("ComputerShopDatabaseImplement.Models.SupplyOrder", b =>

View File

@ -0,0 +1,400 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace ComputerShopDatabaseImplement.Migrations
{
/// <inheritdoc />
public partial class Init : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "Clients",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
ClientFIO = table.Column<string>(type: "nvarchar(max)", nullable: false),
Email = table.Column<string>(type: "nvarchar(max)", nullable: false),
Password = table.Column<string>(type: "nvarchar(max)", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Clients", x => x.Id);
});
migrationBuilder.CreateTable(
name: "Assemblies",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
AssemblyName = table.Column<string>(type: "nvarchar(max)", nullable: false),
Price = table.Column<double>(type: "float", nullable: false),
ClientId = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Assemblies", x => x.Id);
table.ForeignKey(
name: "FK_Assemblies_Clients_ClientId",
column: x => x.ClientId,
principalTable: "Clients",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "Components",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
ComponentName = table.Column<string>(type: "nvarchar(max)", nullable: false),
Cost = table.Column<double>(type: "float", nullable: false),
ClientId = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Components", x => x.Id);
table.ForeignKey(
name: "FK_Components_Clients_ClientId",
column: x => x.ClientId,
principalTable: "Clients",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "EquipmentReceivings",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
DateImplement = table.Column<DateTime>(type: "datetime2", nullable: true),
Status = table.Column<int>(type: "int", nullable: false),
ClientId = table.Column<int>(type: "int", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_EquipmentReceivings", x => x.Id);
table.ForeignKey(
name: "FK_EquipmentReceivings_Clients_ClientId",
column: x => x.ClientId,
principalTable: "Clients",
principalColumn: "Id");
});
migrationBuilder.CreateTable(
name: "Orders",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
Sum = table.Column<double>(type: "float", nullable: false),
Status = table.Column<int>(type: "int", nullable: false),
DateCreate = table.Column<DateTime>(type: "datetime2", nullable: false),
DateImplement = table.Column<DateTime>(type: "datetime2", nullable: true),
ClientId = table.Column<int>(type: "int", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_Orders", x => x.Id);
table.ForeignKey(
name: "FK_Orders_Clients_ClientId",
column: x => x.ClientId,
principalTable: "Clients",
principalColumn: "Id");
});
migrationBuilder.CreateTable(
name: "AssemblyComponents",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
AssemblyId = table.Column<int>(type: "int", nullable: false),
ComponentId = table.Column<int>(type: "int", nullable: false),
Count = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_AssemblyComponents", x => x.Id);
table.ForeignKey(
name: "FK_AssemblyComponents_Assemblies_AssemblyId",
column: x => x.AssemblyId,
principalTable: "Assemblies",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_AssemblyComponents_Components_ComponentId",
column: x => x.ComponentId,
principalTable: "Components",
principalColumn: "Id",
onDelete: ReferentialAction.NoAction);
});
migrationBuilder.CreateTable(
name: "Purchases",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
ComponentName = table.Column<string>(type: "nvarchar(max)", nullable: false),
ComponentId = table.Column<int>(type: "int", nullable: false),
ClientId = table.Column<int>(type: "int", nullable: false),
Count = table.Column<int>(type: "int", nullable: false),
Sum = table.Column<double>(type: "float", nullable: false),
Status = table.Column<int>(type: "int", nullable: false),
DateCreate = table.Column<DateTime>(type: "datetime2", nullable: false),
DateImplement = table.Column<DateTime>(type: "datetime2", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_Purchases", x => x.Id);
table.ForeignKey(
name: "FK_Purchases_Clients_ClientId",
column: x => x.ClientId,
principalTable: "Clients",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_Purchases_Components_ComponentId",
column: x => x.ComponentId,
principalTable: "Components",
principalColumn: "Id",
onDelete: ReferentialAction.NoAction);
});
migrationBuilder.CreateTable(
name: "Supplies",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
Status = table.Column<int>(type: "int", nullable: false),
DateCreate = table.Column<DateTime>(type: "datetime2", nullable: false),
DateImplement = table.Column<DateTime>(type: "datetime2", nullable: true),
OrderId = table.Column<int>(type: "int", nullable: false),
ReceivingId = table.Column<int>(type: "int", nullable: false),
ClientId = table.Column<int>(type: "int", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_Supplies", x => x.Id);
table.ForeignKey(
name: "FK_Supplies_Clients_ClientId",
column: x => x.ClientId,
principalTable: "Clients",
principalColumn: "Id");
table.ForeignKey(
name: "FK_Supplies_EquipmentReceivings_ReceivingId",
column: x => x.ReceivingId,
principalTable: "EquipmentReceivings",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "AssemblyOrders",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
AssemblyId = table.Column<int>(type: "int", nullable: false),
OrderId = table.Column<int>(type: "int", nullable: false),
Count = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_AssemblyOrders", x => x.Id);
table.ForeignKey(
name: "FK_AssemblyOrders_Assemblies_AssemblyId",
column: x => x.AssemblyId,
principalTable: "Assemblies",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_AssemblyOrders_Orders_OrderId",
column: x => x.OrderId,
principalTable: "Orders",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "ComponentSupplies",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
SupplyId = table.Column<int>(type: "int", nullable: false),
ComponentId = table.Column<int>(type: "int", nullable: false),
Count = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_ComponentSupplies", x => x.Id);
table.ForeignKey(
name: "FK_ComponentSupplies_Components_ComponentId",
column: x => x.ComponentId,
principalTable: "Components",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_ComponentSupplies_Supplies_SupplyId",
column: x => x.SupplyId,
principalTable: "Supplies",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "SupplyOrders",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
OrderId = table.Column<int>(type: "int", nullable: false),
SupplyId = table.Column<int>(type: "int", nullable: false),
Count = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_SupplyOrders", x => x.Id);
table.ForeignKey(
name: "FK_SupplyOrders_Orders_OrderId",
column: x => x.OrderId,
principalTable: "Orders",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_SupplyOrders_Supplies_SupplyId",
column: x => x.SupplyId,
principalTable: "Supplies",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateIndex(
name: "IX_Assemblies_ClientId",
table: "Assemblies",
column: "ClientId");
migrationBuilder.CreateIndex(
name: "IX_AssemblyComponents_AssemblyId",
table: "AssemblyComponents",
column: "AssemblyId");
migrationBuilder.CreateIndex(
name: "IX_AssemblyComponents_ComponentId",
table: "AssemblyComponents",
column: "ComponentId");
migrationBuilder.CreateIndex(
name: "IX_AssemblyOrders_AssemblyId",
table: "AssemblyOrders",
column: "AssemblyId");
migrationBuilder.CreateIndex(
name: "IX_AssemblyOrders_OrderId",
table: "AssemblyOrders",
column: "OrderId");
migrationBuilder.CreateIndex(
name: "IX_Components_ClientId",
table: "Components",
column: "ClientId");
migrationBuilder.CreateIndex(
name: "IX_ComponentSupplies_ComponentId",
table: "ComponentSupplies",
column: "ComponentId");
migrationBuilder.CreateIndex(
name: "IX_ComponentSupplies_SupplyId",
table: "ComponentSupplies",
column: "SupplyId");
migrationBuilder.CreateIndex(
name: "IX_EquipmentReceivings_ClientId",
table: "EquipmentReceivings",
column: "ClientId");
migrationBuilder.CreateIndex(
name: "IX_Orders_ClientId",
table: "Orders",
column: "ClientId");
migrationBuilder.CreateIndex(
name: "IX_Purchases_ClientId",
table: "Purchases",
column: "ClientId");
migrationBuilder.CreateIndex(
name: "IX_Purchases_ComponentId",
table: "Purchases",
column: "ComponentId");
migrationBuilder.CreateIndex(
name: "IX_Supplies_ClientId",
table: "Supplies",
column: "ClientId");
migrationBuilder.CreateIndex(
name: "IX_Supplies_ReceivingId",
table: "Supplies",
column: "ReceivingId");
migrationBuilder.CreateIndex(
name: "IX_SupplyOrders_OrderId",
table: "SupplyOrders",
column: "OrderId");
migrationBuilder.CreateIndex(
name: "IX_SupplyOrders_SupplyId",
table: "SupplyOrders",
column: "SupplyId");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "AssemblyComponents");
migrationBuilder.DropTable(
name: "AssemblyOrders");
migrationBuilder.DropTable(
name: "ComponentSupplies");
migrationBuilder.DropTable(
name: "Purchases");
migrationBuilder.DropTable(
name: "SupplyOrders");
migrationBuilder.DropTable(
name: "Assemblies");
migrationBuilder.DropTable(
name: "Components");
migrationBuilder.DropTable(
name: "Orders");
migrationBuilder.DropTable(
name: "Supplies");
migrationBuilder.DropTable(
name: "EquipmentReceivings");
migrationBuilder.DropTable(
name: "Clients");
}
}
}

View File

@ -291,7 +291,7 @@ namespace ComputerShopDatabaseImplement.Migrations
b.Property<int>("OrderId")
.HasColumnType("int");
b.Property<int?>("ReceivingId")
b.Property<int>("ReceivingId")
.HasColumnType("int");
b.Property<int>("Status")
@ -450,7 +450,9 @@ namespace ComputerShopDatabaseImplement.Migrations
b.HasOne("ComputerShopDatabaseImplement.Models.EquipmentReceiving", null)
.WithMany("Supplies")
.HasForeignKey("ReceivingId");
.HasForeignKey("ReceivingId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("ComputerShopDatabaseImplement.Models.SupplyOrder", b =>

View File

@ -27,6 +27,8 @@ namespace ComputerShopDatabaseImplement.Models
public virtual List<SupplyOrder> SupplyOrders { get; set; } = new();
[ForeignKey("OrderId")]
public virtual List<AssemblyOrder> Assemblies { get; set; } = new();
[Required]
public int ClientId { get; set; }
public static Order? Create(OrderBindingModel model)
{
if (model == null)

View File

@ -26,18 +26,17 @@ namespace ComputerShopDatabaseImplement.Models
public int OrderId { get; set; }
public int ReceivingId { get; set; }
private Dictionary<int, (IOrderModel, int)>? _supplyOrders =
private Dictionary<int, IOrderModel>? _supplyOrders =
null;
[NotMapped]
public Dictionary<int, (int, IOrderModel)> SupplyOrders
public Dictionary<int, IOrderModel> SupplyOrders
{
get
{
if (_supplyOrders == null)
{
_supplyOrders = Orders
.ToDictionary(recPC => recPC.SupplyId, recPC =>
(recPC.OrderId, recPC.Order as IOrderModel));
.ToDictionary(recPC => recPC.SupplyId, recPC => recPC.Order as IOrderModel);
}
return _supplyOrders;
}

View File

@ -0,0 +1,79 @@
using ComputerShopContracts.BindingModels;
using ComputerShopContracts.BusinessLogicContracts;
using ComputerShopContracts.SearchModels;
using ComputerShopContracts.ViewModels;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace ComputerShopRestApi.Controllers
{
public class OrderController : Controller
{
private readonly ILogger _logger;
private readonly IOrderLogic order;
private readonly IComponentLogic component;
public OrderController(ILogger<MainController> logger, IOrderLogic order, IComponentLogic component)
{
_logger = logger;
order = order;
component = component;
}
[HttpGet]
public List<ComponentViewModel>? GetComponentList()
{
try
{
return component.ReadList(null);
}
catch (Exception ex)
{
_logger.LogError(ex, "Ошибка получения списка комплектующих");
throw;
}
}
[HttpGet]
public ComponentViewModel? GetPackage(int componentId)
{
try
{
return component.ReadElement(new ComponentSearchModel { Id = componentId });
}
catch (Exception ex)
{
_logger.LogError(ex, "Ошибка получения продукта по id={Id}", componentId);
throw;
}
}
[HttpGet]
public List<OrderViewModel>? GetOrders(int clientId)
{
try
{
return order.ReadList(new OrderSearchModel {});
}
catch (Exception ex)
{
_logger.LogError(ex, "Ошибка получения списка заказов клиента id={Id}", clientId);
throw;
}
}
[HttpPost]
public void CreateOrder(OrderBindingModel model)
{
try
{
order.CreateOrder(model);
}
catch (Exception ex)
{
_logger.LogError(ex, "Ошибка создания заказа");
throw;
}
}
}
}

View File

@ -0,0 +1,27 @@
@using ComputerShopContracts.ViewModels;
@using ComputerShopDataModels.Models;
@{
ViewData["Title"] = "AddOrderToSupply";
}
@model Dictionary<int, IOrderModel>
<form method="post">
<div class="u-form-group u-form-name u-label-top">
<label class="u-label u-text-custom-color-1 u-label-1">Заказ: </label>
<div class="u-input u-input-rectangle">
<select id="assembly" name="assembly" class="form-control" asp-items="@(new SelectList(@ViewBag.Orders, "Id", "DateCreate"))"></select>
</div>
</div>
<div class="u-form-group u-form-name u-label-top">
<label class="u-label u-text-custom-color-1 u-label-1">Поставка: </label>
<div class="u-input u-input-rectangle">
<select id="component" name="component" class="form-control" asp-items="@(new SelectList(@ViewBag.Supplies, "Id", "DateCreate"))"></select>
</div>
</div>
<div class="u-align-right u-form-group u-form-submit u-label-top">
<div class="col-8"></div>
<div class="col-4"><input type="submit" value="Добавить заказ" class="u-active-custom-color-6 u-border-none u-btn u-btn-submit u-button-style u-custom-color-1 u-hover-custom-color-2 u-btn-1" /></div>
</div>
</form>

View File

@ -0,0 +1,20 @@
@{
ViewData["Title"] = "CreateOrder";
}
<div class="text-center">
<h2 class="display-4">Создание заказа</h2>
</div>
<form method="post">
<div class="row">
<div class="col-4">Сумма:</div>
<div class="col-8"><input type="text" name="sum" id="sum" /></div>
</div>
<div class="row">
<div class="col-4">Цена:</div>
<div class="col-8"><input type="text" name="status" id="status" /></div>
</div>
<div class="row">
<div class="col-8"></div>
<div class="col-4"><input type="submit" value="Создать" class="btn btn-primary" /></div>
</div>
</form>

View File

@ -0,0 +1,75 @@
@using ComputerShopContracts.ViewModels
@model List<OrderViewModel>
@{
ViewData["Title"] = "Order";
}
<div class="text-center">
<h1 class="display-4">Заказы</h1>
</div>
<div class="text-center">
@{
if (Model == null)
{
<h3 class="display-4">Авторизируйтесь</h3>
return;
}
<p>
<a asp-action="CreateComponent">Создать заказ</a>
</p>
<p>
<a asp-action="EditComponent">Изменить заказ</a>
</p>
<p>
<a asp-action="DeleteComponent">Удалить заказ</a>
</p>
<table class="table">
<thead>
<tr>
<th>
Номер
</th>
<th>
Сумма
</th>
<th>
Статус
</th>
<th>
Дата создания
</th>
<th>
Дата выполнения
</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Id)
</td>
<td>
@Html.DisplayFor(modelItem => item.Sum)
</td>
<td>
@Html.DisplayFor(modelItem => item.Status)
</td
<td>
@Html.DisplayFor(modelItem => item.DateCreate)
</td
<td>
@Html.DisplayFor(modelItem => item.DateImplement)
</td>
</tr>
}
</tbody>
</table>
}
</div>

View File

@ -1,6 +1,6 @@
@using ComputerShopContracts.ViewModels
@model List<AssemblyViewModel>
@model List<SupplyViewModel>
@{
ViewData["Title"] = "Supply";
@ -20,7 +20,7 @@
}
<p>
<a asp-action="CreateAssembly">Создать поставку</a>
<a asp-action="CreateSupply">Создать поставку</a>
</p>
<table class="table">
<thead>
@ -29,10 +29,13 @@
Номер
</th>
<th>
Сборка
Статус
</th>
<th>
Цена
Дата создания
</th>
<th>
Дата поставки
</th>
</tr>
</thead>
@ -44,10 +47,13 @@
@Html.DisplayFor(modelItem => item.Id)
</td>
<td>
@Html.DisplayFor(modelItem => item.AssemblyName)
@Html.DisplayFor(modelItem => item.Status)
</td>
<td>
@Html.DisplayFor(modelItem => item.Price)
@Html.DisplayFor(modelItem => item.DateCreate)
</td>
<td>
@Html.DisplayFor(modelItem => item.DateImplement)
</td>
</tr>
}