вроде готовая 6 лаба для показа

This commit is contained in:
Елена Бакальская 2024-04-21 12:28:36 +04:00
parent 5d938d2832
commit be3b6161ed
8 changed files with 73 additions and 67 deletions

View File

@ -53,7 +53,7 @@
menuStrip1.Items.AddRange(new ToolStripItem[] { ToolStripMenuItemRef, отчетыToolStripMenuItem, клиентыToolStripMenuItem, исполнителиToolStripMenuItem, запускРаботToolStripMenuItem }); menuStrip1.Items.AddRange(new ToolStripItem[] { ToolStripMenuItemRef, отчетыToolStripMenuItem, клиентыToolStripMenuItem, исполнителиToolStripMenuItem, запускРаботToolStripMenuItem });
menuStrip1.Location = new Point(0, 0); menuStrip1.Location = new Point(0, 0);
menuStrip1.Name = "menuStrip1"; menuStrip1.Name = "menuStrip1";
menuStrip1.Size = new Size(1268, 28); menuStrip1.Size = new Size(1316, 28);
menuStrip1.TabIndex = 0; menuStrip1.TabIndex = 0;
menuStrip1.Text = "menuStrip1"; menuStrip1.Text = "menuStrip1";
// //
@ -129,6 +129,7 @@
// //
// dataGridView // dataGridView
// //
dataGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
dataGridView.BackgroundColor = Color.White; dataGridView.BackgroundColor = Color.White;
dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
dataGridView.Dock = DockStyle.Left; dataGridView.Dock = DockStyle.Left;
@ -137,13 +138,13 @@
dataGridView.RowHeadersVisible = false; dataGridView.RowHeadersVisible = false;
dataGridView.RowHeadersWidth = 51; dataGridView.RowHeadersWidth = 51;
dataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect; dataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
dataGridView.Size = new Size(1001, 328); dataGridView.Size = new Size(1004, 367);
dataGridView.TabIndex = 1; dataGridView.TabIndex = 1;
// //
// buttonCreateOrder // buttonCreateOrder
// //
buttonCreateOrder.Anchor = AnchorStyles.Top; buttonCreateOrder.Anchor = AnchorStyles.Right;
buttonCreateOrder.Location = new Point(1054, 65); buttonCreateOrder.Location = new Point(1086, 84);
buttonCreateOrder.Name = "buttonCreateOrder"; buttonCreateOrder.Name = "buttonCreateOrder";
buttonCreateOrder.Size = new Size(171, 52); buttonCreateOrder.Size = new Size(171, 52);
buttonCreateOrder.TabIndex = 2; buttonCreateOrder.TabIndex = 2;
@ -153,8 +154,8 @@
// //
// buttonOrderIssued // buttonOrderIssued
// //
buttonOrderIssued.Anchor = AnchorStyles.Bottom; buttonOrderIssued.Anchor = AnchorStyles.Right;
buttonOrderIssued.Location = new Point(1054, 170); buttonOrderIssued.Location = new Point(1086, 189);
buttonOrderIssued.Name = "buttonOrderIssued"; buttonOrderIssued.Name = "buttonOrderIssued";
buttonOrderIssued.Size = new Size(171, 52); buttonOrderIssued.Size = new Size(171, 52);
buttonOrderIssued.TabIndex = 5; buttonOrderIssued.TabIndex = 5;
@ -164,8 +165,8 @@
// //
// buttonRefreshOrders // buttonRefreshOrders
// //
buttonRefreshOrders.Anchor = AnchorStyles.Bottom; buttonRefreshOrders.Anchor = AnchorStyles.Right;
buttonRefreshOrders.Location = new Point(1054, 274); buttonRefreshOrders.Location = new Point(1086, 293);
buttonRefreshOrders.Name = "buttonRefreshOrders"; buttonRefreshOrders.Name = "buttonRefreshOrders";
buttonRefreshOrders.Size = new Size(171, 52); buttonRefreshOrders.Size = new Size(171, 52);
buttonRefreshOrders.TabIndex = 6; buttonRefreshOrders.TabIndex = 6;
@ -178,7 +179,7 @@
AutoScaleDimensions = new SizeF(8F, 20F); AutoScaleDimensions = new SizeF(8F, 20F);
AutoScaleMode = AutoScaleMode.Font; AutoScaleMode = AutoScaleMode.Font;
BackColor = Color.FromArgb(210, 255, 210); BackColor = Color.FromArgb(210, 255, 210);
ClientSize = new Size(1268, 356); ClientSize = new Size(1316, 395);
Controls.Add(buttonRefreshOrders); Controls.Add(buttonRefreshOrders);
Controls.Add(buttonOrderIssued); Controls.Add(buttonOrderIssued);
Controls.Add(buttonCreateOrder); Controls.Add(buttonCreateOrder);
@ -188,6 +189,7 @@
Name = "FormMain"; Name = "FormMain";
Text = "Суши Бар"; Text = "Суши Бар";
Load += FormMain_Load; Load += FormMain_Load;
Resize += FormMain_Resize;
menuStrip1.ResumeLayout(false); menuStrip1.ResumeLayout(false);
menuStrip1.PerformLayout(); menuStrip1.PerformLayout();
((System.ComponentModel.ISupportInitialize)dataGridView).EndInit(); ((System.ComponentModel.ISupportInitialize)dataGridView).EndInit();

View File

@ -22,8 +22,13 @@ namespace SushiBarView
} }
private void FormMain_Load(object sender, EventArgs e) private void FormMain_Load(object sender, EventArgs e)
{ {
//this.WindowState = FormWindowState.Maximized; dataGridView1.Width = this.Width - 40;
LoadData(); LoadData();
} }
private void FormMain_Resize(object sender, EventArgs e)
{
dataGridView.Width = this.Width - buttonCreateOrder.Width * 2;
}
private void LoadData() private void LoadData()
{ {
try try

View File

@ -91,6 +91,7 @@ namespace SushiBarView
{ {
var operationResult = _logicO.CreateOrder(new OrderBindingModel var operationResult = _logicO.CreateOrder(new OrderBindingModel
{ {
SushiId = Convert.ToInt32(comboBoxSushi.SelectedValue), SushiId = Convert.ToInt32(comboBoxSushi.SelectedValue),
ClientId = Convert.ToInt32(comboBoxClients.SelectedValue), ClientId = Convert.ToInt32(comboBoxClients.SelectedValue),
Count = Convert.ToInt32(textBoxCount.Text), Count = Convert.ToInt32(textBoxCount.Text),

View File

@ -14,61 +14,30 @@ namespace SushiBarDatabaseImplement.Implements
{ {
public class ImplementerStorage : IImplementerStorage public class ImplementerStorage : IImplementerStorage
{ {
public ImplementerViewModel? Insert(ImplementerBindingModel model)
{
using var context = new SushiBarDatabase();
var newImplementer = Implementer.Create(model);
if (newImplementer == null) { return null; }
context.Implementers.Add(newImplementer);
context.SaveChanges();
return newImplementer.GetViewModel;
}
public ImplementerViewModel? Update(ImplementerBindingModel model)
{
using var context = new SushiBarDatabase();
var implementer = context.Implementers.FirstOrDefault(x => x.Id == model.Id);
if (implementer == null) { return null; };
implementer.Update(model);
context.SaveChanges();
return implementer.GetViewModel;
}
public ImplementerViewModel? Delete(ImplementerBindingModel model)
{
using var context = new SushiBarDatabase();
var element = context.Implementers.FirstOrDefault(rec => rec.Id == model.Id);
if (element != null)
{
context.Implementers.Remove(element);
context.SaveChanges();
return element.GetViewModel;
}
return null;
}
public ImplementerViewModel? GetElement(ImplementerSearchModel model) public ImplementerViewModel? GetElement(ImplementerSearchModel model)
{ {
return GetFilteredList(model).FirstOrDefault(); using var context = new SushiBarDatabase();
if (model.Id.HasValue) return context.Implementers.FirstOrDefault(x => x.Id == model.Id)?.GetViewModel;
if (model.ImplementerFIO != null && model.Password != null) return context.Implementers.FirstOrDefault(x => x.ImplementerFIO.Equals(model.ImplementerFIO) && x.Password.Equals(model.Password))?.GetViewModel;
if (model.ImplementerFIO != null) return context.Implementers.FirstOrDefault(x => x.ImplementerFIO.Equals(model.ImplementerFIO))?.GetViewModel;
return null;
} }
public List<ImplementerViewModel> GetFilteredList(ImplementerSearchModel model) public List<ImplementerViewModel> GetFilteredList(ImplementerSearchModel model)
{ {
using var context = new SushiBarDatabase(); if (model == null)
var implementers = context.Implementers.Select(x => x.GetViewModel).ToList();
if (model.Id.HasValue)
{ {
implementers = implementers.Where(x => x.Id == model.Id.Value).ToList(); return new();
} }
if (!model.ImplementerFIO.IsNullOrEmpty()) if (model.ImplementerFIO != null)
{ {
implementers = implementers.Where(x => x.ImplementerFIO == model.ImplementerFIO).ToList(); using var context = new SushiBarDatabase();
return context.Implementers
.Where(x => x.ImplementerFIO.Contains(model.ImplementerFIO))
.Select(x => x.GetViewModel)
.ToList();
} }
if (!model.Password.IsNullOrEmpty()) return new();
{
implementers = implementers.Where(x => x.Password == model.Password).ToList();
}
return implementers;
} }
public List<ImplementerViewModel> GetFullList() public List<ImplementerViewModel> GetFullList()
@ -76,5 +45,41 @@ namespace SushiBarDatabaseImplement.Implements
using var context = new SushiBarDatabase(); using var context = new SushiBarDatabase();
return context.Implementers.Select(x => x.GetViewModel).ToList(); return context.Implementers.Select(x => x.GetViewModel).ToList();
} }
public ImplementerViewModel? Insert(ImplementerBindingModel model)
{
using var context = new SushiBarDatabase();
var res = Implementer.Create(model);
if (res != null)
{
context.Implementers.Add(res);
context.SaveChanges();
}
return res?.GetViewModel;
}
public ImplementerViewModel? Update(ImplementerBindingModel model)
{
using var context = new SushiBarDatabase();
var res = context.Implementers.FirstOrDefault(x => x.Id == model.Id);
if (res != null)
{
res.Update(model);
context.SaveChanges();
}
return res?.GetViewModel;
}
public ImplementerViewModel? Delete(ImplementerBindingModel model)
{
using var context = new SushiBarDatabase();
var res = context.Implementers.FirstOrDefault(x => x.Id == model.Id);
if (res != null)
{
context.Implementers.Remove(res);
context.SaveChanges();
}
return res?.GetViewModel;
}
} }
} }

View File

@ -12,7 +12,7 @@ using SushiBarDatabaseImplement;
namespace SushiBarDatabaseImplement.Migrations namespace SushiBarDatabaseImplement.Migrations
{ {
[DbContext(typeof(SushiBarDatabase))] [DbContext(typeof(SushiBarDatabase))]
[Migration("20240420174458_InitCreate")] [Migration("20240421075923_InitCreate")]
partial class InitCreate partial class InitCreate
{ {
/// <inheritdoc /> /// <inheritdoc />
@ -118,7 +118,6 @@ namespace SushiBarDatabaseImplement.Migrations
.HasColumnType("datetime2"); .HasColumnType("datetime2");
b.Property<int?>("ImplementerId") b.Property<int?>("ImplementerId")
.IsRequired()
.HasColumnType("int"); .HasColumnType("int");
b.Property<int>("Status") b.Property<int>("Status")
@ -197,9 +196,7 @@ namespace SushiBarDatabaseImplement.Migrations
b.HasOne("SushiBarDatabaseImplement.Models.Implementer", "Implementer") b.HasOne("SushiBarDatabaseImplement.Models.Implementer", "Implementer")
.WithMany("Orders") .WithMany("Orders")
.HasForeignKey("ImplementerId") .HasForeignKey("ImplementerId");
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("SushiBarDatabaseImplement.Models.Sushi", "Sushi") b.HasOne("SushiBarDatabaseImplement.Models.Sushi", "Sushi")
.WithMany("Orders") .WithMany("Orders")

View File

@ -78,7 +78,7 @@ namespace SushiBarDatabaseImplement.Migrations
.Annotation("SqlServer:Identity", "1, 1"), .Annotation("SqlServer:Identity", "1, 1"),
SushiId = table.Column<int>(type: "int", nullable: false), SushiId = table.Column<int>(type: "int", nullable: false),
ClientId = table.Column<int>(type: "int", nullable: false), ClientId = table.Column<int>(type: "int", nullable: false),
ImplementerId = table.Column<int>(type: "int", nullable: false), ImplementerId = table.Column<int>(type: "int", nullable: true),
Count = table.Column<int>(type: "int", nullable: false), Count = table.Column<int>(type: "int", nullable: false),
Sum = table.Column<double>(type: "float", nullable: false), Sum = table.Column<double>(type: "float", nullable: false),
Status = table.Column<int>(type: "int", nullable: false), Status = table.Column<int>(type: "int", nullable: false),
@ -98,8 +98,7 @@ namespace SushiBarDatabaseImplement.Migrations
name: "FK_Orders_Implementers_ImplementerId", name: "FK_Orders_Implementers_ImplementerId",
column: x => x.ImplementerId, column: x => x.ImplementerId,
principalTable: "Implementers", principalTable: "Implementers",
principalColumn: "Id", principalColumn: "Id");
onDelete: ReferentialAction.Cascade);
table.ForeignKey( table.ForeignKey(
name: "FK_Orders_Sushis_SushiId", name: "FK_Orders_Sushis_SushiId",
column: x => x.SushiId, column: x => x.SushiId,

View File

@ -115,7 +115,6 @@ namespace SushiBarDatabaseImplement.Migrations
.HasColumnType("datetime2"); .HasColumnType("datetime2");
b.Property<int?>("ImplementerId") b.Property<int?>("ImplementerId")
.IsRequired()
.HasColumnType("int"); .HasColumnType("int");
b.Property<int>("Status") b.Property<int>("Status")
@ -194,9 +193,7 @@ namespace SushiBarDatabaseImplement.Migrations
b.HasOne("SushiBarDatabaseImplement.Models.Implementer", "Implementer") b.HasOne("SushiBarDatabaseImplement.Models.Implementer", "Implementer")
.WithMany("Orders") .WithMany("Orders")
.HasForeignKey("ImplementerId") .HasForeignKey("ImplementerId");
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("SushiBarDatabaseImplement.Models.Sushi", "Sushi") b.HasOne("SushiBarDatabaseImplement.Models.Sushi", "Sushi")
.WithMany("Orders") .WithMany("Orders")

View File

@ -70,7 +70,6 @@ namespace SushiBarDatabaseImplement.Models
{ {
Id = Id, Id = Id,
SushiId = SushiId, SushiId = SushiId,
SushiName = Sushi.SushiName,
Count = Count, Count = Count,
Sum = Sum, Sum = Sum,
Status = Status, Status = Status,
@ -78,6 +77,7 @@ namespace SushiBarDatabaseImplement.Models
DateImplement = DateImplement, DateImplement = DateImplement,
ClientId = ClientId, ClientId = ClientId,
ImplementerId =ImplementerId, ImplementerId =ImplementerId,
SushiName = Sushi?.SushiName ?? string.Empty,
ClientFIO = Client?.ClientFIO ?? string.Empty, ClientFIO = Client?.ClientFIO ?? string.Empty,
ImplementerFIO = Implementer?.ImplementerFIO ?? string.Empty ImplementerFIO = Implementer?.ImplementerFIO ?? string.Empty
}; };