poi
This commit is contained in:
parent
936f33d59a
commit
8337e7d847
@ -40,19 +40,20 @@ namespace ZooView
|
||||
services.AddTransient<IEmployeeStorage, EmployeeStorage>();
|
||||
services.AddTransient<IPreserveStorage, PreserveStorage>();
|
||||
services.AddTransient<IRouteStorage, RouteStorage>();
|
||||
services.AddTransient<ICostStorage, CostStorage>();
|
||||
|
||||
|
||||
|
||||
services.AddTransient<IClientLogic, ClientLogic>();
|
||||
services.AddTransient<IClientLogic, ClientLogic>();
|
||||
services.AddTransient<IClientLogic, ClientLogic>();
|
||||
services.AddTransient<IPreserveLogic, PreserveLogic>();
|
||||
services.AddTransient<IEmployeeLogic, EmployeeLogic>();
|
||||
services.AddTransient<IRouteLogic, RouteLogic>();
|
||||
|
||||
services.AddTransient<ICostLogic, CostLogic>();
|
||||
|
||||
|
||||
|
||||
services.AddTransient<FormRoutes>();
|
||||
services.AddTransient<FormRoutes>();
|
||||
services.AddTransient<FormRoute>();
|
||||
services.AddTransient<FormRoutePreserves>();
|
||||
services.AddTransient<FormPreserves>();
|
||||
|
@ -11,7 +11,7 @@ using ZooDataBaseImplement.Models;
|
||||
|
||||
namespace ZooDataBaseImplement.Implements
|
||||
{
|
||||
internal class CostStorage : ICostStorage
|
||||
public class CostStorage : ICostStorage
|
||||
{
|
||||
public List<CostViewModel> GetFullList()
|
||||
{
|
||||
|
@ -28,12 +28,12 @@ namespace ZooDataBaseImplement.Implements
|
||||
return new();
|
||||
}
|
||||
using var context = new ZooDatabase();
|
||||
return context.Preserves
|
||||
.Where(x => x.PreserveName.Contains(model.PreserveName))
|
||||
.Select(x => x.GetViewModel)
|
||||
.ToList();
|
||||
}
|
||||
public PreserveViewModel? GetElement(PreserveSearchModel model)
|
||||
return context.Preserves.Where(x => x.EmployeeId == model.EmployeeId)
|
||||
.Where(x => String.IsNullOrEmpty(model.PreserveName) || x.PreserveName.Contains(model.PreserveName))
|
||||
.Select(x => x.GetViewModel)
|
||||
.ToList();
|
||||
}
|
||||
public PreserveViewModel? GetElement(PreserveSearchModel model)
|
||||
{
|
||||
if (string.IsNullOrEmpty(model.PreserveName) && !model.Id.HasValue)
|
||||
{
|
||||
|
@ -12,8 +12,8 @@ using ZooDataBaseImplement;
|
||||
namespace ZooDataBaseImplement.Migrations
|
||||
{
|
||||
[DbContext(typeof(ZooDatabase))]
|
||||
[Migration("20240530171709_Initialcreate")]
|
||||
partial class Initialcreate
|
||||
[Migration("20240531085434_initialcreate")]
|
||||
partial class initialcreate
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||
@ -50,6 +50,26 @@ namespace ZooDataBaseImplement.Migrations
|
||||
b.ToTable("Clients");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ZooDataBaseImplement.Models.Cost", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("integer");
|
||||
|
||||
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||
|
||||
b.Property<string>("CostName")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<double>("CostPrice")
|
||||
.HasColumnType("double precision");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Costs");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ZooDataBaseImplement.Models.Employee", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
@ -83,7 +103,7 @@ namespace ZooDataBaseImplement.Migrations
|
||||
|
||||
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||
|
||||
b.Property<int?>("EmployeeId")
|
||||
b.Property<int>("EmployeeId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<string>("PreserveName")
|
||||
@ -111,6 +131,9 @@ namespace ZooDataBaseImplement.Migrations
|
||||
b.Property<int>("ClientId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<int?>("CostID")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<DateTime>("DateFinish")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
@ -131,6 +154,8 @@ namespace ZooDataBaseImplement.Migrations
|
||||
|
||||
b.HasIndex("ClientId");
|
||||
|
||||
b.HasIndex("CostID");
|
||||
|
||||
b.ToTable("Routes");
|
||||
});
|
||||
|
||||
@ -161,7 +186,9 @@ namespace ZooDataBaseImplement.Migrations
|
||||
{
|
||||
b.HasOne("ZooDataBaseImplement.Models.Employee", null)
|
||||
.WithMany("Preserves")
|
||||
.HasForeignKey("EmployeeId");
|
||||
.HasForeignKey("EmployeeId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ZooDataBaseImplement.Models.Route", b =>
|
||||
@ -172,6 +199,10 @@ namespace ZooDataBaseImplement.Migrations
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("ZooDataBaseImplement.Models.Cost", null)
|
||||
.WithMany("Routes")
|
||||
.HasForeignKey("CostID");
|
||||
|
||||
b.Navigation("Client");
|
||||
});
|
||||
|
||||
@ -199,6 +230,11 @@ namespace ZooDataBaseImplement.Migrations
|
||||
b.Navigation("Routes");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ZooDataBaseImplement.Models.Cost", b =>
|
||||
{
|
||||
b.Navigation("Routes");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ZooDataBaseImplement.Models.Employee", b =>
|
||||
{
|
||||
b.Navigation("Preserves");
|
@ -7,7 +7,7 @@ using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
|
||||
namespace ZooDataBaseImplement.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class Initialcreate : Migration
|
||||
public partial class initialcreate : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
@ -27,6 +27,20 @@ namespace ZooDataBaseImplement.Migrations
|
||||
table.PrimaryKey("PK_Clients", x => x.Id);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Costs",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<int>(type: "integer", nullable: false)
|
||||
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||
CostName = table.Column<string>(type: "text", nullable: false),
|
||||
CostPrice = table.Column<double>(type: "double precision", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Costs", x => x.Id);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Employees",
|
||||
columns: table => new
|
||||
@ -53,7 +67,8 @@ namespace ZooDataBaseImplement.Migrations
|
||||
RoutePrice = table.Column<double>(type: "double precision", nullable: false),
|
||||
Status = table.Column<int>(type: "integer", nullable: false),
|
||||
DateStart = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
||||
DateFinish = table.Column<DateTime>(type: "timestamp with time zone", nullable: false)
|
||||
DateFinish = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
||||
CostID = table.Column<int>(type: "integer", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
@ -64,6 +79,11 @@ namespace ZooDataBaseImplement.Migrations
|
||||
principalTable: "Clients",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
table.ForeignKey(
|
||||
name: "FK_Routes_Costs_CostID",
|
||||
column: x => x.CostID,
|
||||
principalTable: "Costs",
|
||||
principalColumn: "Id");
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
@ -72,9 +92,9 @@ namespace ZooDataBaseImplement.Migrations
|
||||
{
|
||||
Id = table.Column<int>(type: "integer", nullable: false)
|
||||
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||
EmployeeId = table.Column<int>(type: "integer", nullable: false),
|
||||
PreserveName = table.Column<string>(type: "text", nullable: false),
|
||||
PreservePrice = table.Column<double>(type: "double precision", nullable: false),
|
||||
EmployeeId = table.Column<int>(type: "integer", nullable: true)
|
||||
PreservePrice = table.Column<double>(type: "double precision", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
@ -83,7 +103,8 @@ namespace ZooDataBaseImplement.Migrations
|
||||
name: "FK_Preserves_Employees_EmployeeId",
|
||||
column: x => x.EmployeeId,
|
||||
principalTable: "Employees",
|
||||
principalColumn: "Id");
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
@ -131,6 +152,11 @@ namespace ZooDataBaseImplement.Migrations
|
||||
name: "IX_Routes_ClientId",
|
||||
table: "Routes",
|
||||
column: "ClientId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Routes_CostID",
|
||||
table: "Routes",
|
||||
column: "CostID");
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
@ -150,6 +176,9 @@ namespace ZooDataBaseImplement.Migrations
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Clients");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Costs");
|
||||
}
|
||||
}
|
||||
}
|
@ -47,6 +47,26 @@ namespace ZooDataBaseImplement.Migrations
|
||||
b.ToTable("Clients");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ZooDataBaseImplement.Models.Cost", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("integer");
|
||||
|
||||
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||
|
||||
b.Property<string>("CostName")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<double>("CostPrice")
|
||||
.HasColumnType("double precision");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Costs");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ZooDataBaseImplement.Models.Employee", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
@ -80,7 +100,7 @@ namespace ZooDataBaseImplement.Migrations
|
||||
|
||||
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||
|
||||
b.Property<int?>("EmployeeId")
|
||||
b.Property<int>("EmployeeId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<string>("PreserveName")
|
||||
@ -108,6 +128,9 @@ namespace ZooDataBaseImplement.Migrations
|
||||
b.Property<int>("ClientId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<int?>("CostID")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<DateTime>("DateFinish")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
@ -128,6 +151,8 @@ namespace ZooDataBaseImplement.Migrations
|
||||
|
||||
b.HasIndex("ClientId");
|
||||
|
||||
b.HasIndex("CostID");
|
||||
|
||||
b.ToTable("Routes");
|
||||
});
|
||||
|
||||
@ -158,7 +183,9 @@ namespace ZooDataBaseImplement.Migrations
|
||||
{
|
||||
b.HasOne("ZooDataBaseImplement.Models.Employee", null)
|
||||
.WithMany("Preserves")
|
||||
.HasForeignKey("EmployeeId");
|
||||
.HasForeignKey("EmployeeId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ZooDataBaseImplement.Models.Route", b =>
|
||||
@ -169,6 +196,10 @@ namespace ZooDataBaseImplement.Migrations
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("ZooDataBaseImplement.Models.Cost", null)
|
||||
.WithMany("Routes")
|
||||
.HasForeignKey("CostID");
|
||||
|
||||
b.Navigation("Client");
|
||||
});
|
||||
|
||||
@ -196,6 +227,11 @@ namespace ZooDataBaseImplement.Migrations
|
||||
b.Navigation("Routes");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ZooDataBaseImplement.Models.Cost", b =>
|
||||
{
|
||||
b.Navigation("Routes");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ZooDataBaseImplement.Models.Employee", b =>
|
||||
{
|
||||
b.Navigation("Preserves");
|
||||
|
@ -127,7 +127,7 @@ namespace ZooShowEmployeeApp.Controllers
|
||||
{
|
||||
return Redirect("~/Home/Enter");
|
||||
}
|
||||
return View(APIEmployee.GetRequest<List<PreserveViewModel>>($"api/Preserve/getPreserves?clientid={APIEmployee.Employee.Id}"));
|
||||
return View(APIEmployee.GetRequest<List<PreserveViewModel>>($"api/Preserve/getPreserves?Employeeid={APIEmployee.Employee.Id}"));
|
||||
}
|
||||
public IActionResult CreatePreserve()
|
||||
{
|
||||
@ -148,7 +148,7 @@ namespace ZooShowEmployeeApp.Controllers
|
||||
{
|
||||
throw new Exception("Ошибка в введённых данных");
|
||||
}
|
||||
APIEmployee.PostRequest("api/Preserve/createPreserve", new PreserveBindingModel
|
||||
APIEmployee.PostRequest("api/Preserve/CreatePreserve", new PreserveBindingModel
|
||||
{
|
||||
PreserveName = name,
|
||||
PreservePrice = price,
|
||||
@ -162,7 +162,7 @@ namespace ZooShowEmployeeApp.Controllers
|
||||
{
|
||||
return Redirect("~/Home/Enter");
|
||||
}
|
||||
ViewBag.Preserves = APIEmployee.GetRequest<List<PreserveViewModel>>($"api/Preserve/getPreserves?clientid={APIEmployee.Employee.Id}");
|
||||
ViewBag.Preserves = APIEmployee.GetRequest<List<PreserveViewModel>>($"api/Preserve/getPreserves?Employeeid={APIEmployee.Employee.Id}");
|
||||
return View();
|
||||
}
|
||||
[HttpPost]
|
||||
|
@ -25,25 +25,3 @@ btn-primary" />
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<script>
|
||||
$('#preserve').on('change', function () {
|
||||
check();
|
||||
});
|
||||
$('#PreservePrice').on('change', function () {
|
||||
check();
|
||||
});
|
||||
function check() {
|
||||
var price = $('#PreservePrice').val();
|
||||
var preserve = $('#preserve').val();
|
||||
if (price && product) {
|
||||
$.ajax({
|
||||
method: "POST",
|
||||
url: "/Home/Calc",
|
||||
data: { price: price, preserve: preserve },
|
||||
success: function (result) {
|
||||
$("#sum").val(result);
|
||||
}
|
||||
});
|
||||
};
|
||||
}
|
||||
</script>
|
@ -11,7 +11,7 @@
|
||||
<div class="col-4">маршрут:</div>
|
||||
<div class="col-8">
|
||||
<select name="preserve" class="form-control" multiple size="5" id="preserve">
|
||||
@foreach (var service in ViewBag.Preserve)
|
||||
@foreach (var service in ViewBag.Preserves)
|
||||
{
|
||||
<option value="@service.Id">@service.PreserveName</option>
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user