This commit is contained in:
2024-05-24 23:02:18 +04:00
parent 8405b9e9f5
commit d61ad73bb7
14 changed files with 544 additions and 213 deletions

View File

@@ -15,7 +15,7 @@ namespace MotorPlantDatabaseImplement.Implements
{ {
public ImplementerViewModel? Delete(ImplementerBindingModel model) public ImplementerViewModel? Delete(ImplementerBindingModel model)
{ {
using var context = new MotorPlantDataBase(); using var context = new MotorPlantDatabase();
var res = context.Implementers.FirstOrDefault(x => x.Id == model.Id); var res = context.Implementers.FirstOrDefault(x => x.Id == model.Id);
if (res != null) if (res != null)
{ {
@@ -31,7 +31,7 @@ namespace MotorPlantDatabaseImplement.Implements
{ {
return null; return null;
} }
using var context = new MotorPlantDataBase(); using var context = new MotorPlantDatabase();
return context.Implementers return context.Implementers
.FirstOrDefault(x => (string.IsNullOrEmpty(model.ImplementerFIO) || x.ImplementerFIO == model.ImplementerFIO) && .FirstOrDefault(x => (string.IsNullOrEmpty(model.ImplementerFIO) || x.ImplementerFIO == model.ImplementerFIO) &&
(!model.Id.HasValue || x.Id == model.Id) && (!model.Id.HasValue || x.Id == model.Id) &&
@@ -53,12 +53,12 @@ namespace MotorPlantDatabaseImplement.Implements
} }
public List<ImplementerViewModel> GetFullList() public List<ImplementerViewModel> GetFullList()
{ {
using var context = new MotorPlantDataBase(); using var context = new MotorPlantDatabase();
return context.Implementers.Select(x => x.GetViewModel).ToList(); return context.Implementers.Select(x => x.GetViewModel).ToList();
} }
public ImplementerViewModel? Insert(ImplementerBindingModel model) public ImplementerViewModel? Insert(ImplementerBindingModel model)
{ {
using var context = new MotorPlantDataBase(); using var context = new MotorPlantDatabase();
var res = Implementer.Create(model); var res = Implementer.Create(model);
if (res != null) if (res != null)
{ {
@@ -69,7 +69,7 @@ namespace MotorPlantDatabaseImplement.Implements
} }
public ImplementerViewModel? Update(ImplementerBindingModel model) public ImplementerViewModel? Update(ImplementerBindingModel model)
{ {
using var context = new MotorPlantDataBase(); using var context = new MotorPlantDatabase();
var res = context.Implementers.FirstOrDefault(x => x.Id == model.Id); var res = context.Implementers.FirstOrDefault(x => x.Id == model.Id);
if (res != null) if (res != null)
{ {

View File

@@ -1,66 +0,0 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace MotorPlantDatabaseImplement.Migrations
{
/// <inheritdoc />
public partial class Second : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<int>(
name: "ClientId",
table: "Orders",
type: "int",
nullable: true);
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.CreateIndex(
name: "IX_Orders_ClientId",
table: "Orders",
column: "ClientId");
migrationBuilder.AddForeignKey(
name: "FK_Orders_Clients_ClientId",
table: "Orders",
column: "ClientId",
principalTable: "Clients",
principalColumn: "Id");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_Orders_Clients_ClientId",
table: "Orders");
migrationBuilder.DropTable(
name: "Clients");
migrationBuilder.DropIndex(
name: "IX_Orders_ClientId",
table: "Orders");
migrationBuilder.DropColumn(
name: "ClientId",
table: "Orders");
}
}
}

View File

@@ -12,8 +12,8 @@ using MotorPlantDatabaseImplement;
namespace MotorPlantDatabaseImplement.Migrations namespace MotorPlantDatabaseImplement.Migrations
{ {
[DbContext(typeof(MotorPlantDatabase))] [DbContext(typeof(MotorPlantDatabase))]
[Migration("20240501163500_Second")] [Migration("20240524184827_lab7")]
partial class Second partial class lab7
{ {
/// <inheritdoc /> /// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder) protected override void BuildTargetModel(ModelBuilder modelBuilder)
@@ -116,6 +116,63 @@ namespace MotorPlantDatabaseImplement.Migrations
b.ToTable("EngineComponents"); b.ToTable("EngineComponents");
}); });
modelBuilder.Entity("MotorPlantDatabaseImplement.Models.Implementer", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<string>("ImplementerFIO")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("Password")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<int>("Qualification")
.HasColumnType("int");
b.Property<int>("WorkExperience")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("Implementers");
});
modelBuilder.Entity("MotorPlantDatabaseImplement.Models.MessageInfo", b =>
{
b.Property<string>("MessageId")
.HasColumnType("nvarchar(450)");
b.Property<string>("Body")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<int?>("ClientId")
.HasColumnType("int");
b.Property<DateTime>("DateDelivery")
.HasColumnType("datetime2");
b.Property<string>("SenderName")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("Subject")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("MessageId");
b.HasIndex("ClientId");
b.ToTable("MessageInfos");
});
modelBuilder.Entity("MotorPlantDatabaseImplement.Models.Order", b => modelBuilder.Entity("MotorPlantDatabaseImplement.Models.Order", b =>
{ {
b.Property<int>("Id") b.Property<int>("Id")
@@ -124,7 +181,7 @@ namespace MotorPlantDatabaseImplement.Migrations
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id")); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int?>("ClientId") b.Property<int>("ClientId")
.HasColumnType("int"); .HasColumnType("int");
b.Property<int>("Count") b.Property<int>("Count")
@@ -139,9 +196,8 @@ namespace MotorPlantDatabaseImplement.Migrations
b.Property<int>("EngineId") b.Property<int>("EngineId")
.HasColumnType("int"); .HasColumnType("int");
b.Property<string>("EngineName") b.Property<int?>("ImplementerId")
.IsRequired() .HasColumnType("int");
.HasColumnType("nvarchar(max)");
b.Property<int>("Status") b.Property<int>("Status")
.HasColumnType("int"); .HasColumnType("int");
@@ -155,6 +211,8 @@ namespace MotorPlantDatabaseImplement.Migrations
b.HasIndex("EngineId"); b.HasIndex("EngineId");
b.HasIndex("ImplementerId");
b.ToTable("Orders"); b.ToTable("Orders");
}); });
@@ -177,11 +235,22 @@ namespace MotorPlantDatabaseImplement.Migrations
b.Navigation("Engine"); b.Navigation("Engine");
}); });
modelBuilder.Entity("MotorPlantDatabaseImplement.Models.MessageInfo", b =>
{
b.HasOne("MotorPlantDatabaseImplement.Models.Client", "Client")
.WithMany("ClientMessages")
.HasForeignKey("ClientId");
b.Navigation("Client");
});
modelBuilder.Entity("MotorPlantDatabaseImplement.Models.Order", b => modelBuilder.Entity("MotorPlantDatabaseImplement.Models.Order", b =>
{ {
b.HasOne("MotorPlantDatabaseImplement.Models.Client", null) b.HasOne("MotorPlantDatabaseImplement.Models.Client", "Client")
.WithMany("Orders") .WithMany("ClientOrders")
.HasForeignKey("ClientId"); .HasForeignKey("ClientId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("MotorPlantDatabaseImplement.Models.Engine", "Engine") b.HasOne("MotorPlantDatabaseImplement.Models.Engine", "Engine")
.WithMany("Orders") .WithMany("Orders")
@@ -189,12 +258,22 @@ namespace MotorPlantDatabaseImplement.Migrations
.OnDelete(DeleteBehavior.Cascade) .OnDelete(DeleteBehavior.Cascade)
.IsRequired(); .IsRequired();
b.HasOne("MotorPlantDatabaseImplement.Models.Implementer", "Implementer")
.WithMany("Orders")
.HasForeignKey("ImplementerId");
b.Navigation("Client");
b.Navigation("Engine"); b.Navigation("Engine");
b.Navigation("Implementer");
}); });
modelBuilder.Entity("MotorPlantDatabaseImplement.Models.Client", b => modelBuilder.Entity("MotorPlantDatabaseImplement.Models.Client", b =>
{ {
b.Navigation("Orders"); b.Navigation("ClientMessages");
b.Navigation("ClientOrders");
}); });
modelBuilder.Entity("MotorPlantDatabaseImplement.Models.Component", b => modelBuilder.Entity("MotorPlantDatabaseImplement.Models.Component", b =>
@@ -208,6 +287,11 @@ namespace MotorPlantDatabaseImplement.Migrations
b.Navigation("Orders"); b.Navigation("Orders");
}); });
modelBuilder.Entity("MotorPlantDatabaseImplement.Models.Implementer", b =>
{
b.Navigation("Orders");
});
#pragma warning restore 612, 618 #pragma warning restore 612, 618
} }
} }

View File

@@ -0,0 +1,214 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace MotorPlantDatabaseImplement.Migrations
{
/// <inheritdoc />
public partial class lab7 : 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: "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)
},
constraints: table =>
{
table.PrimaryKey("PK_Components", x => x.Id);
});
migrationBuilder.CreateTable(
name: "Engines",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
EngineName = table.Column<string>(type: "nvarchar(max)", nullable: false),
Price = table.Column<double>(type: "float", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Engines", x => x.Id);
});
migrationBuilder.CreateTable(
name: "Implementers",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
ImplementerFIO = table.Column<string>(type: "nvarchar(max)", nullable: false),
Password = table.Column<string>(type: "nvarchar(max)", nullable: false),
Qualification = table.Column<int>(type: "int", nullable: false),
WorkExperience = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Implementers", x => x.Id);
});
migrationBuilder.CreateTable(
name: "MessageInfos",
columns: table => new
{
MessageId = table.Column<string>(type: "nvarchar(450)", nullable: false),
ClientId = table.Column<int>(type: "int", nullable: true),
SenderName = table.Column<string>(type: "nvarchar(max)", nullable: false),
DateDelivery = table.Column<DateTime>(type: "datetime2", nullable: false),
Subject = table.Column<string>(type: "nvarchar(max)", nullable: false),
Body = table.Column<string>(type: "nvarchar(max)", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_MessageInfos", x => x.MessageId);
table.ForeignKey(
name: "FK_MessageInfos_Clients_ClientId",
column: x => x.ClientId,
principalTable: "Clients",
principalColumn: "Id");
});
migrationBuilder.CreateTable(
name: "EngineComponents",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
EngineId = 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_EngineComponents", x => x.Id);
table.ForeignKey(
name: "FK_EngineComponents_Components_ComponentId",
column: x => x.ComponentId,
principalTable: "Components",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_EngineComponents_Engines_EngineId",
column: x => x.EngineId,
principalTable: "Engines",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "Orders",
columns: table => new
{
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
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),
EngineId = table.Column<int>(type: "int", nullable: false),
ClientId = table.Column<int>(type: "int", nullable: false),
ImplementerId = 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",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_Orders_Engines_EngineId",
column: x => x.EngineId,
principalTable: "Engines",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey(
name: "FK_Orders_Implementers_ImplementerId",
column: x => x.ImplementerId,
principalTable: "Implementers",
principalColumn: "Id");
});
migrationBuilder.CreateIndex(
name: "IX_EngineComponents_ComponentId",
table: "EngineComponents",
column: "ComponentId");
migrationBuilder.CreateIndex(
name: "IX_EngineComponents_EngineId",
table: "EngineComponents",
column: "EngineId");
migrationBuilder.CreateIndex(
name: "IX_MessageInfos_ClientId",
table: "MessageInfos",
column: "ClientId");
migrationBuilder.CreateIndex(
name: "IX_Orders_ClientId",
table: "Orders",
column: "ClientId");
migrationBuilder.CreateIndex(
name: "IX_Orders_EngineId",
table: "Orders",
column: "EngineId");
migrationBuilder.CreateIndex(
name: "IX_Orders_ImplementerId",
table: "Orders",
column: "ImplementerId");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "EngineComponents");
migrationBuilder.DropTable(
name: "MessageInfos");
migrationBuilder.DropTable(
name: "Orders");
migrationBuilder.DropTable(
name: "Components");
migrationBuilder.DropTable(
name: "Clients");
migrationBuilder.DropTable(
name: "Engines");
migrationBuilder.DropTable(
name: "Implementers");
}
}
}

View File

@@ -113,6 +113,63 @@ namespace MotorPlantDatabaseImplement.Migrations
b.ToTable("EngineComponents"); b.ToTable("EngineComponents");
}); });
modelBuilder.Entity("MotorPlantDatabaseImplement.Models.Implementer", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<string>("ImplementerFIO")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("Password")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<int>("Qualification")
.HasColumnType("int");
b.Property<int>("WorkExperience")
.HasColumnType("int");
b.HasKey("Id");
b.ToTable("Implementers");
});
modelBuilder.Entity("MotorPlantDatabaseImplement.Models.MessageInfo", b =>
{
b.Property<string>("MessageId")
.HasColumnType("nvarchar(450)");
b.Property<string>("Body")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<int?>("ClientId")
.HasColumnType("int");
b.Property<DateTime>("DateDelivery")
.HasColumnType("datetime2");
b.Property<string>("SenderName")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("Subject")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("MessageId");
b.HasIndex("ClientId");
b.ToTable("MessageInfos");
});
modelBuilder.Entity("MotorPlantDatabaseImplement.Models.Order", b => modelBuilder.Entity("MotorPlantDatabaseImplement.Models.Order", b =>
{ {
b.Property<int>("Id") b.Property<int>("Id")
@@ -121,7 +178,7 @@ namespace MotorPlantDatabaseImplement.Migrations
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id")); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
b.Property<int?>("ClientId") b.Property<int>("ClientId")
.HasColumnType("int"); .HasColumnType("int");
b.Property<int>("Count") b.Property<int>("Count")
@@ -136,9 +193,8 @@ namespace MotorPlantDatabaseImplement.Migrations
b.Property<int>("EngineId") b.Property<int>("EngineId")
.HasColumnType("int"); .HasColumnType("int");
b.Property<string>("EngineName") b.Property<int?>("ImplementerId")
.IsRequired() .HasColumnType("int");
.HasColumnType("nvarchar(max)");
b.Property<int>("Status") b.Property<int>("Status")
.HasColumnType("int"); .HasColumnType("int");
@@ -152,6 +208,8 @@ namespace MotorPlantDatabaseImplement.Migrations
b.HasIndex("EngineId"); b.HasIndex("EngineId");
b.HasIndex("ImplementerId");
b.ToTable("Orders"); b.ToTable("Orders");
}); });
@@ -174,11 +232,22 @@ namespace MotorPlantDatabaseImplement.Migrations
b.Navigation("Engine"); b.Navigation("Engine");
}); });
modelBuilder.Entity("MotorPlantDatabaseImplement.Models.MessageInfo", b =>
{
b.HasOne("MotorPlantDatabaseImplement.Models.Client", "Client")
.WithMany("ClientMessages")
.HasForeignKey("ClientId");
b.Navigation("Client");
});
modelBuilder.Entity("MotorPlantDatabaseImplement.Models.Order", b => modelBuilder.Entity("MotorPlantDatabaseImplement.Models.Order", b =>
{ {
b.HasOne("MotorPlantDatabaseImplement.Models.Client", null) b.HasOne("MotorPlantDatabaseImplement.Models.Client", "Client")
.WithMany("Orders") .WithMany("ClientOrders")
.HasForeignKey("ClientId"); .HasForeignKey("ClientId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("MotorPlantDatabaseImplement.Models.Engine", "Engine") b.HasOne("MotorPlantDatabaseImplement.Models.Engine", "Engine")
.WithMany("Orders") .WithMany("Orders")
@@ -186,12 +255,22 @@ namespace MotorPlantDatabaseImplement.Migrations
.OnDelete(DeleteBehavior.Cascade) .OnDelete(DeleteBehavior.Cascade)
.IsRequired(); .IsRequired();
b.HasOne("MotorPlantDatabaseImplement.Models.Implementer", "Implementer")
.WithMany("Orders")
.HasForeignKey("ImplementerId");
b.Navigation("Client");
b.Navigation("Engine"); b.Navigation("Engine");
b.Navigation("Implementer");
}); });
modelBuilder.Entity("MotorPlantDatabaseImplement.Models.Client", b => modelBuilder.Entity("MotorPlantDatabaseImplement.Models.Client", b =>
{ {
b.Navigation("Orders"); b.Navigation("ClientMessages");
b.Navigation("ClientOrders");
}); });
modelBuilder.Entity("MotorPlantDatabaseImplement.Models.Component", b => modelBuilder.Entity("MotorPlantDatabaseImplement.Models.Component", b =>
@@ -205,6 +284,11 @@ namespace MotorPlantDatabaseImplement.Migrations
b.Navigation("Orders"); b.Navigation("Orders");
}); });
modelBuilder.Entity("MotorPlantDatabaseImplement.Models.Implementer", b =>
{
b.Navigation("Orders");
});
#pragma warning restore 612, 618 #pragma warning restore 612, 618
} }
} }

View File

@@ -21,7 +21,7 @@ builder.Services.AddTransient<IClientLogic, ClientLogic>();
builder.Services.AddTransient<IEngineLogic, EngineLogic>(); builder.Services.AddTransient<IEngineLogic, EngineLogic>();
builder.Services.AddTransient<IMessageInfoLogic, MessageInfoLogic>(); builder.Services.AddTransient<IMessageInfoLogic, MessageInfoLogic>();
builder.Services.AddSingleton<AbstractMailWorker, MailKitWorker>(); //builder.Services.AddSingleton<AbstractMailWorker, MailKitWorker>();
builder.Services.AddControllers(); builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at // Learn more about configuring Swagger/OpenAPI at

View File

@@ -6,7 +6,6 @@ using MotorPlantContracts.ViewModels;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using MotorPlantDataModels.Enums; using MotorPlantDataModels.Enums;
using MotorPlantBusinessLogic.MailWorker; using MotorPlantBusinessLogic.MailWorker;
using DocumentFormat.OpenXml.EMMA;
using System.Xml.Linq; using System.Xml.Linq;
using MotorPlantContracts.VeiwModels; using MotorPlantContracts.VeiwModels;

View File

@@ -2,6 +2,7 @@
using MotorPlantContracts.BindingModels; using MotorPlantContracts.BindingModels;
using MotorPlantContracts.BusinessLogicsContracts; using MotorPlantContracts.BusinessLogicsContracts;
using MotorPlantContracts.SearchModels; using MotorPlantContracts.SearchModels;
using MotorPlantContracts.VeiwModels;
using MotorPlantContracts.ViewModels; using MotorPlantContracts.ViewModels;
using MotorPlantDataModels.Enums; using MotorPlantDataModels.Enums;

View File

@@ -6,14 +6,13 @@ using System.Net;
using System.Text; using System.Text;
using MailKit.Net.Pop3; using MailKit.Net.Pop3;
using MailKit.Security; using MailKit.Security;
using MailChimp.Net.Logic;
namespace MotorPlantBusinessLogic.MailWorker namespace MotorPlantBusinessLogic.MailWorker
{ {
public class MailKitWorker : AbstractMailWorker public class MailKitWorker : AbstractMailWorker
{ {
public MailKitWorker(ILogger<MailKitWorker> logger, IMessageInfoLogic messageInfoLogic) : base(logger, messageInfoLogic) { } public MailKitWorker(ILogger<MailKitWorker> logger, IMessageInfoLogic messageInfoLogic, IClientLogic clientLogic) : base(logger, messageInfoLogic, clientLogic) { }
protected override async Task SendMailAsync(MailSendInfoBindingModel info) protected override async Task SendMailAsync(MailSendInfoBindingModel info)
{ {

View File

@@ -8,8 +8,7 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="DocumentFormat.OpenXml" Version="3.0.2" /> <PackageReference Include="DocumentFormat.OpenXml" Version="3.0.2" />
<PackageReference Include="MailChimp.Net.V3" Version="5.5.0" /> <PackageReference Include="MailKit" Version="4.6.0" />
<PackageReference Include="MailKit" Version="4.5.0" />
<PackageReference Include="Microsoft.Extensions.Configuration" Version="8.0.0" /> <PackageReference Include="Microsoft.Extensions.Configuration" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="8.0.0" /> <PackageReference Include="Microsoft.Extensions.Logging" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.0" /> <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.0" />

View File

@@ -11,6 +11,6 @@ namespace MotorPlantContracts.BusinessLogicsContracts
bool TakeOrderInWork(OrderBindingModel model); bool TakeOrderInWork(OrderBindingModel model);
bool FinishOrder(OrderBindingModel model); bool FinishOrder(OrderBindingModel model);
bool DeliveryOrder(OrderBindingModel model); bool DeliveryOrder(OrderBindingModel model);
OrderViewModel? ReadElement(OrderSearchModel orderSearchModel);
} }
} }

View File

@@ -1,24 +1,24 @@
namespace MotorPlantView.Forms namespace MotorPlantView.Forms
{ {
partial class FormMain partial class FormMain
{ {
/// <summary> /// <summary>
/// Required designer variable. /// Required designer variable.
/// </summary> /// </summary>
private System.ComponentModel.IContainer components = null; private System.ComponentModel.IContainer components = null;
/// <summary> /// <summary>
/// Clean up any resources being used. /// Clean up any resources being used.
/// </summary> /// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing) protected override void Dispose(bool disposing)
{ {
if (disposing && (components != null)) if (disposing && (components != null))
{ {
components.Dispose(); components.Dispose();
} }
base.Dispose(disposing); base.Dispose(disposing);
} }
#region Windows Form Designer generated code #region Windows Form Designer generated code
@@ -33,20 +33,19 @@
КомпонентыToolStripMenuItem = new ToolStripMenuItem(); КомпонентыToolStripMenuItem = new ToolStripMenuItem();
ДвигателиToolStripMenuItem = new ToolStripMenuItem(); ДвигателиToolStripMenuItem = new ToolStripMenuItem();
клиентыToolStripMenuItem = new ToolStripMenuItem(); клиентыToolStripMenuItem = new ToolStripMenuItem();
ReportsToolStripMenuItem = new ToolStripMenuItem();
ListComponentsToolStripMenuItem = new ToolStripMenuItem();
EngineComponentsToolStripMenuItem = new ToolStripMenuItem();
ListOrdersToolStripMenuItem = new ToolStripMenuItem();
исполнителиToolStripMenuItem = new ToolStripMenuItem(); исполнителиToolStripMenuItem = new ToolStripMenuItem();
отчетыToolStripMenuItem = new ToolStripMenuItem();
списокДвигателейToolStripMenuItem = new ToolStripMenuItem();
компонентыПоДвигателямToolStripMenuItem = new ToolStripMenuItem();
списокЗаказовToolStripMenuItem = new ToolStripMenuItem();
запускРаботToolStripMenuItem = new ToolStripMenuItem(); запускРаботToolStripMenuItem = new ToolStripMenuItem();
buttonCreateOrder = new Button(); buttonCreateOrder = new Button();
buttonTakeOrderInWork = new Button(); buttonTakeOrderInWork = new Button();
buttonOrderReady = new Button(); buttonOrderReady = new Button();
buttonIssuedOrder = new Button(); buttonIssuedOrder = new Button();
buttonRef = new Button(); buttonRef = new Button();
dataGridView = new DataGridView();
письмаToolStripMenuItem = new ToolStripMenuItem(); письмаToolStripMenuItem = new ToolStripMenuItem();
исполнителиToolStripMenuItem1 = new ToolStripMenuItem(); dataGridView = new DataGridView();
toolStrip1.SuspendLayout(); toolStrip1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)dataGridView).BeginInit(); ((System.ComponentModel.ISupportInitialize)dataGridView).BeginInit();
SuspendLayout(); SuspendLayout();
@@ -54,17 +53,17 @@
// toolStrip1 // toolStrip1
// //
toolStrip1.ImageScalingSize = new Size(20, 20); toolStrip1.ImageScalingSize = new Size(20, 20);
toolStrip1.Items.AddRange(new ToolStripItem[] { toolStripDropDownButton1, ReportsToolStripMenuItem }); toolStrip1.Items.AddRange(new ToolStripItem[] { toolStripDropDownButton1, отчетыToolStripMenuItem, запускРаботToolStripMenuItem, письмаToolStripMenuItem });
toolStrip1.Location = new Point(0, 0); toolStrip1.Location = new Point(0, 0);
toolStrip1.Name = "toolStrip1"; toolStrip1.Name = "toolStrip1";
toolStrip1.Size = new Size(996, 25); toolStrip1.Size = new Size(985, 25);
toolStrip1.TabIndex = 0; toolStrip1.TabIndex = 0;
toolStrip1.Text = "toolStrip1"; toolStrip1.Text = "toolStrip1";
// //
// toolStripDropDownButton1 // toolStripDropDownButton1
// //
toolStripDropDownButton1.DisplayStyle = ToolStripItemDisplayStyle.Text; toolStripDropDownButton1.DisplayStyle = ToolStripItemDisplayStyle.Text;
toolStripDropDownButton1.DropDownItems.AddRange(new ToolStripItem[] { КомпонентыToolStripMenuItem, ДвигателиToolStripMenuItem, клиентыToolStripMenuItem, исполнителиToolStripMenuItem1 }); toolStripDropDownButton1.DropDownItems.AddRange(new ToolStripItem[] { КомпонентыToolStripMenuItem, ДвигателиToolStripMenuItem, клиентыToolStripMenuItem, исполнителиToolStripMenuItem });
toolStripDropDownButton1.ImageTransparentColor = Color.Magenta; toolStripDropDownButton1.ImageTransparentColor = Color.Magenta;
toolStripDropDownButton1.Name = "toolStripDropDownButton1"; toolStripDropDownButton1.Name = "toolStripDropDownButton1";
toolStripDropDownButton1.Size = new Size(90, 22); toolStripDropDownButton1.Size = new Size(90, 22);
@@ -73,51 +72,65 @@
// КомпонентыToolStripMenuItem // КомпонентыToolStripMenuItem
// //
КомпонентыToolStripMenuItem.Name = "КомпонентыToolStripMenuItem"; КомпонентыToolStripMenuItem.Name = "КомпонентыToolStripMenuItem";
КомпонентыToolStripMenuItem.Size = new Size(180, 22); КомпонентыToolStripMenuItem.Size = new Size(152, 22);
КомпонентыToolStripMenuItem.Text = "Компоненты"; КомпонентыToolStripMenuItem.Text = "Компоненты";
КомпонентыToolStripMenuItem.Click += КомпонентыToolStripMenuItem_Click; КомпонентыToolStripMenuItem.Click += КомпонентыToolStripMenuItem_Click;
//
// списокЗаказовToolStripMenuItem
//
списокЗаказовToolStripMenuItem.Name = "списокЗаказовToolStripMenuItem";
списокЗаказовToolStripMenuItem.Size = new Size(236, 22);
списокЗаказовToolStripMenuItem.Text = "Список заказов";
списокЗаказовToolStripMenuItem.Click += списокЗаказовToolStripMenuItem_Click;
// //
// ДвигателиToolStripMenuItem // ДвигателиToolStripMenuItem
// //
ДвигателиToolStripMenuItem.Name = "ДвигателиToolStripMenuItem"; ДвигателиToolStripMenuItem.Name = "ДвигателиToolStripMenuItem";
ДвигателиToolStripMenuItem.Size = new Size(180, 22); ДвигателиToolStripMenuItem.Size = new Size(152, 22);
ДвигателиToolStripMenuItem.Text = "Двигатели"; ДвигателиToolStripMenuItem.Text = "Двигатели";
ДвигателиToolStripMenuItem.Click += ИзделияToolStripMenuItem_Click; ДвигателиToolStripMenuItem.Click += ИзделияToolStripMenuItem_Click;
// //
// клиентыToolStripMenuItem // клиентыToolStripMenuItem
// //
клиентыToolStripMenuItem.Name = "клиентыToolStripMenuItem"; клиентыToolStripMenuItem.Name = "клиентыToolStripMenuItem";
клиентыToolStripMenuItem.Size = new Size(180, 22); клиентыToolStripMenuItem.Size = new Size(152, 22);
клиентыToolStripMenuItem.Text = "Клиенты"; клиентыToolStripMenuItem.Text = "Клиенты";
клиентыToolStripMenuItem.Click += клиентыToolStripMenuItem_Click; клиентыToolStripMenuItem.Click += клиентыToolStripMenuItem_Click;
// //
// ReportsToolStripMenuItem // исполнителиToolStripMenuItem
// //
ReportsToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { ListComponentsToolStripMenuItem, EngineComponentsToolStripMenuItem, ListOrdersToolStripMenuItem }); исполнителиToolStripMenuItem.Name = "исполнителиToolStripMenuItem";
ReportsToolStripMenuItem.Name = "ReportsToolStripMenuItem"; исполнителиToolStripMenuItem.Size = new Size(152, 22);
ReportsToolStripMenuItem.Size = new Size(62, 25); исполнителиToolStripMenuItem.Text = "Исполнители";
ReportsToolStripMenuItem.Text = "Отчеты"; исполнителиToolStripMenuItem.Click += исполнителиToolStripMenuItem_Click;
// //
// ListComponentsToolStripMenuItem // отчетыToolStripMenuItem
// //
ListComponentsToolStripMenuItem.Name = "ListComponentsToolStripMenuItem"; отчетыToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { списокДвигателейToolStripMenuItem, компонентыПоДвигателямToolStripMenuItem, списокЗаказовToolStripMenuItem });
ListComponentsToolStripMenuItem.Size = new Size(236, 22); отчетыToolStripMenuItem.Name = "отчетыToolStripMenuItem";
ListComponentsToolStripMenuItem.Text = "Список компонентов"; отчетыToolStripMenuItem.Size = new Size(62, 25);
ListComponentsToolStripMenuItem.Click += списокКомпонентовToolStripMenuItem_Click; отчетыToolStripMenuItem.Text = "Отчеты";
// //
// EngineComponentsToolStripMenuItem // списокДвигателейToolStripMenuItem
// //
EngineComponentsToolStripMenuItem.Name = "EngineComponentsToolStripMenuItem"; списокДвигателейToolStripMenuItem.Name = "списокДвигателейToolStripMenuItem";
EngineComponentsToolStripMenuItem.Size = new Size(236, 22); списокДвигателейToolStripMenuItem.Size = new Size(236, 22);
EngineComponentsToolStripMenuItem.Text = "Компоненты по двигателям"; списокДвигателейToolStripMenuItem.Text = "Список двигателей";
EngineComponentsToolStripMenuItem.Click += компонентыПоДвигателямToolStripMenuItem_Click; списокДвигателейToolStripMenuItem.Click += списокДвигателейToolStripMenuItem_Click;
// //
// ListOrdersToolStripMenuItem // компонентыПоДвигателямToolStripMenuItem
// //
ListOrdersToolStripMenuItem.Name = "ListOrdersToolStripMenuItem"; компонентыПоДвигателямToolStripMenuItem.Name = "компонентыПоДвигателямToolStripMenuItem";
ListOrdersToolStripMenuItem.Size = new Size(236, 22); компонентыПоДвигателямToolStripMenuItem.Size = new Size(236, 22);
ListOrdersToolStripMenuItem.Text = "Список заказов"; компонентыПоДвигателямToolStripMenuItem.Text = "Компоненты по двигателям";
ListOrdersToolStripMenuItem.Click += списокЗаказовToolStripMenuItem_Click; компонентыПоДвигателямToolStripMenuItem.Click += компонентыПоДвигателямToolStripMenuItem_Click;
//
// списокЗаказовToolStripMenuItem
//
списокЗаказовToolStripMenuItem.Name = "списокЗаказовToolStripMenuItem";
списокЗаказовToolStripMenuItem.Size = new Size(236, 22);
списокЗаказовToolStripMenuItem.Text = "Список заказов";
списокЗаказовToolStripMenuItem.Click += списокЗаказовToolStripMenuItem_Click;
// //
// запускРаботToolStripMenuItem // запускРаботToolStripMenuItem
// //
@@ -128,57 +141,69 @@
// //
// buttonCreateOrder // buttonCreateOrder
// //
buttonCreateOrder.Location = new Point(879, 57); buttonCreateOrder.Anchor = AnchorStyles.Top | AnchorStyles.Right;
buttonCreateOrder.BackColor = SystemColors.ControlLight;
buttonCreateOrder.Location = new Point(866, 80);
buttonCreateOrder.Name = "buttonCreateOrder"; buttonCreateOrder.Name = "buttonCreateOrder";
buttonCreateOrder.Size = new Size(105, 38); buttonCreateOrder.Size = new Size(109, 33);
buttonCreateOrder.TabIndex = 1; buttonCreateOrder.TabIndex = 1;
buttonCreateOrder.Text = "Создать заказ"; buttonCreateOrder.Text = "Создать заказ";
buttonCreateOrder.UseVisualStyleBackColor = true; buttonCreateOrder.UseVisualStyleBackColor = false;
buttonCreateOrder.Click += buttonCreateOrder_Click; buttonCreateOrder.Click += buttonCreateOrder_Click;
// //
// buttonTakeOrderInWork // buttonTakeOrderInWork
// //
buttonTakeOrderInWork.Location = new Point(879, 101); buttonTakeOrderInWork.Anchor = AnchorStyles.Top | AnchorStyles.Right;
buttonTakeOrderInWork.BackColor = SystemColors.ControlLight;
buttonTakeOrderInWork.Location = new Point(866, 119);
buttonTakeOrderInWork.Name = "buttonTakeOrderInWork"; buttonTakeOrderInWork.Name = "buttonTakeOrderInWork";
buttonTakeOrderInWork.Size = new Size(105, 46); buttonTakeOrderInWork.Size = new Size(109, 43);
buttonTakeOrderInWork.TabIndex = 2; buttonTakeOrderInWork.TabIndex = 2;
buttonTakeOrderInWork.Text = "Отдать на выполнение"; buttonTakeOrderInWork.Text = "Отдать на выполнение";
buttonTakeOrderInWork.UseVisualStyleBackColor = true; buttonTakeOrderInWork.UseVisualStyleBackColor = false;
buttonTakeOrderInWork.Click += buttonTakeOrderInWork_Click; buttonTakeOrderInWork.Click += buttonTakeOrderInWork_Click;
// //
// buttonOrderReady // buttonOrderReady
// //
buttonOrderReady.Location = new Point(879, 153); buttonOrderReady.Anchor = AnchorStyles.Top | AnchorStyles.Right;
buttonOrderReady.BackColor = SystemColors.ControlLight;
buttonOrderReady.Location = new Point(866, 168);
buttonOrderReady.Name = "buttonOrderReady"; buttonOrderReady.Name = "buttonOrderReady";
buttonOrderReady.Size = new Size(105, 43); buttonOrderReady.Size = new Size(109, 42);
buttonOrderReady.TabIndex = 3; buttonOrderReady.TabIndex = 3;
buttonOrderReady.Text = "Заказ готов"; buttonOrderReady.Text = "Заказ готов";
buttonOrderReady.UseVisualStyleBackColor = true; buttonOrderReady.UseVisualStyleBackColor = false;
buttonOrderReady.Click += buttonOrderReady_Click; buttonOrderReady.Click += buttonOrderReady_Click;
// //
// buttonIssuedOrder // buttonIssuedOrder
// //
buttonIssuedOrder.Location = new Point(879, 202); buttonIssuedOrder.Anchor = AnchorStyles.Top | AnchorStyles.Right;
buttonIssuedOrder.BackColor = SystemColors.ControlLight;
buttonIssuedOrder.Location = new Point(866, 216);
buttonIssuedOrder.Name = "buttonIssuedOrder"; buttonIssuedOrder.Name = "buttonIssuedOrder";
buttonIssuedOrder.Size = new Size(105, 40); buttonIssuedOrder.Size = new Size(109, 33);
buttonIssuedOrder.TabIndex = 4; buttonIssuedOrder.TabIndex = 4;
buttonIssuedOrder.Text = "Заказ выдан"; buttonIssuedOrder.Text = "Заказ выдан";
buttonIssuedOrder.UseVisualStyleBackColor = true; buttonIssuedOrder.UseVisualStyleBackColor = false;
buttonIssuedOrder.Click += buttonIssuedOrder_Click; buttonIssuedOrder.Click += buttonIssuedOrder_Click;
// //
// buttonRef // buttonRef
// //
buttonRef.Location = new Point(879, 248); buttonRef.Anchor = AnchorStyles.Top | AnchorStyles.Right;
buttonRef.BackColor = SystemColors.ControlLight;
buttonRef.Location = new Point(866, 255);
buttonRef.Name = "buttonRef"; buttonRef.Name = "buttonRef";
buttonRef.Size = new Size(105, 42); buttonRef.Size = new Size(109, 33);
buttonRef.TabIndex = 5; buttonRef.TabIndex = 5;
buttonRef.Text = "Обновить список"; buttonRef.Text = "Обновить список";
buttonRef.UseVisualStyleBackColor = true; buttonRef.UseVisualStyleBackColor = false;
buttonRef.Click += buttonRef_Click; buttonRef.Click += buttonRef_Click;
// //
// dataGridView // dataGridView
// //
dataGridView.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
dataGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; dataGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
dataGridView.BackgroundColor = SystemColors.ButtonHighlight;
dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
dataGridView.Location = new Point(0, 26); dataGridView.Location = new Point(0, 26);
dataGridView.Name = "dataGridView"; dataGridView.Name = "dataGridView";
@@ -186,16 +211,9 @@
dataGridView.RowHeadersWidth = 51; dataGridView.RowHeadersWidth = 51;
dataGridView.RowTemplate.Height = 24; dataGridView.RowTemplate.Height = 24;
dataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect; dataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
dataGridView.Size = new Size(873, 435); dataGridView.Size = new Size(860, 441);
dataGridView.TabIndex = 6; dataGridView.TabIndex = 6;
// //
// исполнителиToolStripMenuItem1
//
исполнителиToolStripMenuItem1.Name = сполнителиToolStripMenuItem1";
исполнителиToolStripMenuItem1.Size = new Size(180, 22);
исполнителиToolStripMenuItem1.Text = "Исполнители";
исполнителиToolStripMenuItem1.Click += исполнителиToolStripMenuItem1_Click;
//
// письмаToolStripMenuItem // письмаToolStripMenuItem
// //
письмаToolStripMenuItem.Name = "письмаToolStripMenuItem"; письмаToolStripMenuItem.Name = "письмаToolStripMenuItem";
@@ -207,7 +225,7 @@
// //
AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font; AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(996, 461); ClientSize = new Size(985, 467);
Controls.Add(dataGridView); Controls.Add(dataGridView);
Controls.Add(buttonRef); Controls.Add(buttonRef);
Controls.Add(buttonIssuedOrder); Controls.Add(buttonIssuedOrder);
@@ -228,25 +246,22 @@
#endregion #endregion
private ToolStrip toolStrip1; private ToolStrip toolStrip1;
private Button buttonCreateOrder; private Button buttonCreateOrder;
private Button buttonTakeOrderInWork; private Button buttonTakeOrderInWork;
private Button buttonOrderReady; private Button buttonOrderReady;
private Button buttonIssuedOrder; private Button buttonIssuedOrder;
private Button buttonRef; private Button buttonRef;
private DataGridView dataGridView; private DataGridView dataGridView;
private ToolStripDropDownButton toolStripDropDownButton1; private ToolStripDropDownButton toolStripDropDownButton1;
private ToolStripMenuItem КомпонентыToolStripMenuItem; private ToolStripMenuItem КомпонентыToolStripMenuItem;
private ToolStripMenuItem ДвигателиToolStripMenuItem; private ToolStripMenuItem ДвигателиToolStripMenuItem;
private ToolStripMenuItem ReportsToolStripMenuItem; private ToolStripMenuItem отчетыToolStripMenuItem;
private ToolStripMenuItem ListComponentsToolStripMenuItem; private ToolStripMenuItem списокДвигателейToolStripMenuItem;
private ToolStripMenuItem EngineComponentsToolStripMenuItem; private ToolStripMenuItem компонентыПоДвигателямToolStripMenuItem;
private ToolStripMenuItem ListOrdersToolStripMenuItem; private ToolStripMenuItem списокЗаказовToolStripMenuItem;
private ToolStripMenuItem клиентыToolStripMenuItem; private ToolStripMenuItem клиентыToolStripMenuItem;
private ToolStripMenuItem письмаToolStripMenuItem;
private ToolStripMenuItem исполнителиToolStripMenuItem;
private ToolStripMenuItem запускРаботToolStripMenuItem; private ToolStripMenuItem запускРаботToolStripMenuItem;
private ToolStripMenuItem исполнителиToolStripMenuItem;
private ToolStripMenuItem исполнителиToolStripMenuItem1;
private ToolStripMenuItem исполнителиToolStripMenuItem_Click;
private ToolStripMenuItem письмаToolStripMenuItem;
} }
} }

View File

@@ -1,7 +1,6 @@
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using MotorPlantContracts.BindingModels; using MotorPlantContracts.BindingModels;
using MotorPlantContracts.BusinessLogicsContracts; using MotorPlantContracts.BusinessLogicsContracts;
using MotorPlantBusinessLogic;
namespace MotorPlantView.Forms namespace MotorPlantView.Forms
{ {
@@ -19,8 +18,10 @@ namespace MotorPlantView.Forms
_orderLogic = orderLogic; _orderLogic = orderLogic;
_reportLogic = reportLogic; _reportLogic = reportLogic;
_workProcess = workProcess; _workProcess = workProcess;
} LoadData();
private void FormMain_Load(object sender, EventArgs e)
}
private void FormMain_Load(object sender, EventArgs e)
{ {
LoadData(); LoadData();
} }
@@ -35,21 +36,22 @@ namespace MotorPlantView.Forms
{ {
dataGridView.DataSource = list; dataGridView.DataSource = list;
dataGridView.Columns["EngineId"].Visible = false; dataGridView.Columns["EngineId"].Visible = false;
dataGridView.Columns["ClientId"].Visible = false;
dataGridView.Columns["ImplementerId"].Visible = false; dataGridView.Columns["ImplementerId"].Visible = false;
dataGridView.Columns["EngineName"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; dataGridView.Columns["EngineName"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
dataGridView.Columns["ClientFIO"].Visible = false; dataGridView.Columns["ClientFIO"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
} }
_logger.LogInformation("Загрузка заказов");
} }
catch (Exception ex) catch (Exception ex)
{ {
_logger.LogError(ex, "Ошибка загрузки заказов"); _logger.LogError(ex, "Ошибка загрузки заказов");
MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
} }
private void КомпонентыToolStripMenuItem_Click(object sender, EventArgs e) private void КомпонентыToolStripMenuItem_Click(object sender, EventArgs e)
{ {
var service = Program.ServiceProvider?.GetService(typeof(FormComponents)); var service = Program.ServiceProvider?.GetService(typeof(FormComponents));
if (service is FormComponents form) if (service is FormComponents form)
{ {
form.ShowDialog(); form.ShowDialog();
@@ -150,19 +152,17 @@ namespace MotorPlantView.Forms
{ {
LoadData(); LoadData();
} }
private void списокКомпонентовToolStripMenuItem_Click(object sender, EventArgs e)
private void списокДвигателейToolStripMenuItem_Click(object sender, EventArgs e)
{ {
using var dialog = new SaveFileDialog { Filter = "docx|*.docx" }; using var dialog = new SaveFileDialog { Filter = "docx|*.docx" };
if (dialog.ShowDialog() == DialogResult.OK) if (dialog.ShowDialog() == DialogResult.OK)
{ {
_reportLogic.SaveEnginesToWordFile(new ReportBindingModel _reportLogic.SaveEnginesToWordFile(new ReportBindingModel { FileName = dialog.FileName });
{ MessageBox.Show("Выполнено", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information);
FileName = dialog.FileName
});
MessageBox.Show("Выполнено", "Успех", MessageBoxButtons.OK,
MessageBoxIcon.Information);
} }
} }
private void компонентыПоДвигателямToolStripMenuItem_Click(object sender, EventArgs e) private void компонентыПоДвигателямToolStripMenuItem_Click(object sender, EventArgs e)
{ {
var service = Program.ServiceProvider?.GetService(typeof(FormReportEngineComponents)); var service = Program.ServiceProvider?.GetService(typeof(FormReportEngineComponents));
@@ -171,6 +171,7 @@ namespace MotorPlantView.Forms
form.ShowDialog(); form.ShowDialog();
} }
} }
private void списокЗаказовToolStripMenuItem_Click(object sender, EventArgs e) private void списокЗаказовToolStripMenuItem_Click(object sender, EventArgs e)
{ {
var service = Program.ServiceProvider?.GetService(typeof(FormReportOrders)); var service = Program.ServiceProvider?.GetService(typeof(FormReportOrders));
@@ -179,6 +180,7 @@ namespace MotorPlantView.Forms
form.ShowDialog(); form.ShowDialog();
} }
} }
private void клиентыToolStripMenuItem_Click(object sender, EventArgs e) private void клиентыToolStripMenuItem_Click(object sender, EventArgs e)
{ {
var service = Program.ServiceProvider?.GetService(typeof(FormClients)); var service = Program.ServiceProvider?.GetService(typeof(FormClients));
@@ -187,23 +189,20 @@ namespace MotorPlantView.Forms
form.ShowDialog(); form.ShowDialog();
} }
} }
private void запускРаботToolStripMenuItem_Click(object sender, EventArgs e)
{
_workProcess.DoWork((Program.ServiceProvider?.GetService(typeof(IImplementerLogic
)) as IImplementerLogic)!, _orderLogic);
MessageBox.Show("Процесс обработки запущен", "Сообщение",
MessageBoxButtons.OK, MessageBoxIcon.Information);
}
private void исполнителиToolStripMenuItem1_Click(object sender, EventArgs e) private void исполнителиToolStripMenuItem_Click(object sender, EventArgs e)
{ {
var service = var service = Program.ServiceProvider?.GetService(typeof(ImplementersForm));
Program.ServiceProvider?.GetService(typeof(ImplementersForm));
if (service is ImplementersForm form) if (service is ImplementersForm form)
{ {
form.ShowDialog(); form.ShowDialog();
} }
}
private void запускРаботToolStripMenuItem_Click(object sender, EventArgs e)
{
_workProcess.DoWork((Program.ServiceProvider?.GetService(typeof(IImplementerLogic)) as IImplementerLogic)!, _orderLogic);
MessageBox.Show("Процесс обработки запущен", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
private void письмаToolStripMenuItem_Click(object sender, EventArgs e) private void письмаToolStripMenuItem_Click(object sender, EventArgs e)
{ {

View File

@@ -120,4 +120,7 @@
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value> <value>17, 17</value>
</metadata> </metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>68</value>
</metadata>
</root> </root>