diff --git a/SushiBar/FormMain.Designer.cs b/SushiBar/FormMain.Designer.cs index dbe41de..f9c2517 100644 --- a/SushiBar/FormMain.Designer.cs +++ b/SushiBar/FormMain.Designer.cs @@ -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(); diff --git a/SushiBar/FormMain.cs b/SushiBar/FormMain.cs index a6d4fcb..7fa737c 100644 --- a/SushiBar/FormMain.cs +++ b/SushiBar/FormMain.cs @@ -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 diff --git a/SushiBar/Orders/FormCreateOrder.cs b/SushiBar/Orders/FormCreateOrder.cs index 8c68f13..b0eac22 100644 --- a/SushiBar/Orders/FormCreateOrder.cs +++ b/SushiBar/Orders/FormCreateOrder.cs @@ -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), diff --git a/SushiBarDatabaseImplement/Implements/ImplementerStorage.cs b/SushiBarDatabaseImplement/Implements/ImplementerStorage.cs index aab9d32..070b6a8 100644 --- a/SushiBarDatabaseImplement/Implements/ImplementerStorage.cs +++ b/SushiBarDatabaseImplement/Implements/ImplementerStorage.cs @@ -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 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 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; + } } } diff --git a/SushiBarDatabaseImplement/Migrations/20240420174458_InitCreate.Designer.cs b/SushiBarDatabaseImplement/Migrations/20240421075923_InitCreate.Designer.cs similarity index 97% rename from SushiBarDatabaseImplement/Migrations/20240420174458_InitCreate.Designer.cs rename to SushiBarDatabaseImplement/Migrations/20240421075923_InitCreate.Designer.cs index 3f71726..c2f8037 100644 --- a/SushiBarDatabaseImplement/Migrations/20240420174458_InitCreate.Designer.cs +++ b/SushiBarDatabaseImplement/Migrations/20240421075923_InitCreate.Designer.cs @@ -12,7 +12,7 @@ using SushiBarDatabaseImplement; namespace SushiBarDatabaseImplement.Migrations { [DbContext(typeof(SushiBarDatabase))] - [Migration("20240420174458_InitCreate")] + [Migration("20240421075923_InitCreate")] partial class InitCreate { /// @@ -118,7 +118,6 @@ namespace SushiBarDatabaseImplement.Migrations .HasColumnType("datetime2"); b.Property("ImplementerId") - .IsRequired() .HasColumnType("int"); b.Property("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") diff --git a/SushiBarDatabaseImplement/Migrations/20240420174458_InitCreate.cs b/SushiBarDatabaseImplement/Migrations/20240421075923_InitCreate.cs similarity index 98% rename from SushiBarDatabaseImplement/Migrations/20240420174458_InitCreate.cs rename to SushiBarDatabaseImplement/Migrations/20240421075923_InitCreate.cs index b39c233..8eacfca 100644 --- a/SushiBarDatabaseImplement/Migrations/20240420174458_InitCreate.cs +++ b/SushiBarDatabaseImplement/Migrations/20240421075923_InitCreate.cs @@ -78,7 +78,7 @@ namespace SushiBarDatabaseImplement.Migrations .Annotation("SqlServer:Identity", "1, 1"), SushiId = table.Column(type: "int", nullable: false), ClientId = table.Column(type: "int", nullable: false), - ImplementerId = table.Column(type: "int", nullable: false), + ImplementerId = table.Column(type: "int", nullable: true), Count = table.Column(type: "int", nullable: false), Sum = table.Column(type: "float", nullable: false), Status = table.Column(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, diff --git a/SushiBarDatabaseImplement/Migrations/SushiBarDatabaseModelSnapshot.cs b/SushiBarDatabaseImplement/Migrations/SushiBarDatabaseModelSnapshot.cs index 87adc60..7ebf781 100644 --- a/SushiBarDatabaseImplement/Migrations/SushiBarDatabaseModelSnapshot.cs +++ b/SushiBarDatabaseImplement/Migrations/SushiBarDatabaseModelSnapshot.cs @@ -115,7 +115,6 @@ namespace SushiBarDatabaseImplement.Migrations .HasColumnType("datetime2"); b.Property("ImplementerId") - .IsRequired() .HasColumnType("int"); b.Property("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") diff --git a/SushiBarDatabaseImplement/Models/Order.cs b/SushiBarDatabaseImplement/Models/Order.cs index b5cc7ba..dbc66b3 100644 --- a/SushiBarDatabaseImplement/Models/Order.cs +++ b/SushiBarDatabaseImplement/Models/Order.cs @@ -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 };