вроде готовая 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.Location = new Point(0, 0);
menuStrip1.Name = "menuStrip1";
menuStrip1.Size = new Size(1268, 28);
menuStrip1.Size = new Size(1316, 28);
menuStrip1.TabIndex = 0;
menuStrip1.Text = "menuStrip1";
//
@ -129,6 +129,7 @@
//
// dataGridView
//
dataGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
dataGridView.BackgroundColor = Color.White;
dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
dataGridView.Dock = DockStyle.Left;
@ -137,13 +138,13 @@
dataGridView.RowHeadersVisible = false;
dataGridView.RowHeadersWidth = 51;
dataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
dataGridView.Size = new Size(1001, 328);
dataGridView.Size = new Size(1004, 367);
dataGridView.TabIndex = 1;
//
// buttonCreateOrder
//
buttonCreateOrder.Anchor = AnchorStyles.Top;
buttonCreateOrder.Location = new Point(1054, 65);
buttonCreateOrder.Anchor = AnchorStyles.Right;
buttonCreateOrder.Location = new Point(1086, 84);
buttonCreateOrder.Name = "buttonCreateOrder";
buttonCreateOrder.Size = new Size(171, 52);
buttonCreateOrder.TabIndex = 2;
@ -153,8 +154,8 @@
//
// buttonOrderIssued
//
buttonOrderIssued.Anchor = AnchorStyles.Bottom;
buttonOrderIssued.Location = new Point(1054, 170);
buttonOrderIssued.Anchor = AnchorStyles.Right;
buttonOrderIssued.Location = new Point(1086, 189);
buttonOrderIssued.Name = "buttonOrderIssued";
buttonOrderIssued.Size = new Size(171, 52);
buttonOrderIssued.TabIndex = 5;
@ -164,8 +165,8 @@
//
// buttonRefreshOrders
//
buttonRefreshOrders.Anchor = AnchorStyles.Bottom;
buttonRefreshOrders.Location = new Point(1054, 274);
buttonRefreshOrders.Anchor = AnchorStyles.Right;
buttonRefreshOrders.Location = new Point(1086, 293);
buttonRefreshOrders.Name = "buttonRefreshOrders";
buttonRefreshOrders.Size = new Size(171, 52);
buttonRefreshOrders.TabIndex = 6;
@ -178,7 +179,7 @@
AutoScaleDimensions = new SizeF(8F, 20F);
AutoScaleMode = AutoScaleMode.Font;
BackColor = Color.FromArgb(210, 255, 210);
ClientSize = new Size(1268, 356);
ClientSize = new Size(1316, 395);
Controls.Add(buttonRefreshOrders);
Controls.Add(buttonOrderIssued);
Controls.Add(buttonCreateOrder);
@ -188,6 +189,7 @@
Name = "FormMain";
Text = "Суши Бар";
Load += FormMain_Load;
Resize += FormMain_Resize;
menuStrip1.ResumeLayout(false);
menuStrip1.PerformLayout();
((System.ComponentModel.ISupportInitialize)dataGridView).EndInit();

View File

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

View File

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

View File

@ -14,61 +14,30 @@ namespace SushiBarDatabaseImplement.Implements
{
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)
{
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)
{
using var context = new SushiBarDatabase();
var implementers = context.Implementers.Select(x => x.GetViewModel).ToList();
if (model.Id.HasValue)
if (model == null)
{
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())
{
implementers = implementers.Where(x => x.Password == model.Password).ToList();
}
return implementers;
return new();
}
public List<ImplementerViewModel> GetFullList()
@ -76,5 +45,41 @@ namespace SushiBarDatabaseImplement.Implements
using var context = new SushiBarDatabase();
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
{
[DbContext(typeof(SushiBarDatabase))]
[Migration("20240420174458_InitCreate")]
[Migration("20240421075923_InitCreate")]
partial class InitCreate
{
/// <inheritdoc />
@ -118,7 +118,6 @@ namespace SushiBarDatabaseImplement.Migrations
.HasColumnType("datetime2");
b.Property<int?>("ImplementerId")
.IsRequired()
.HasColumnType("int");
b.Property<int>("Status")
@ -197,9 +196,7 @@ namespace SushiBarDatabaseImplement.Migrations
b.HasOne("SushiBarDatabaseImplement.Models.Implementer", "Implementer")
.WithMany("Orders")
.HasForeignKey("ImplementerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
.HasForeignKey("ImplementerId");
b.HasOne("SushiBarDatabaseImplement.Models.Sushi", "Sushi")
.WithMany("Orders")

View File

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

View File

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

View File

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