From a601011e389265efb50dad7df4ff0a9e38998a9f Mon Sep 17 00:00:00 2001 From: Artem Darius Weber Date: Mon, 13 May 2024 15:16:19 +0300 Subject: [PATCH] feat: select tables and added raport black box data grid --- db_lab/DataForm.Designer.cs | 132 +++++++++++++++++- db_lab/DataForm.cs | 60 +++++++- db_lab/DataForm.resx | 120 ++++++++++++++++ db_lab/Form1.cs | 5 +- db_lab/RaportForm.Designer.cs | 27 +++- db_lab/RaportForm.cs | 41 +++++- db_lab/RaportForm.resx | 120 ++++++++++++++++ db_lab/bin/Debug/db_lab.exe | Bin 11264 -> 16896 bytes db_lab/bin/Debug/db_lab.pdb | Bin 50688 -> 54784 bytes db_lab/db_lab.csproj | 6 + db_lab/obj/Debug/db_lab.DataForm.resources | Bin 0 -> 180 bytes db_lab/obj/Debug/db_lab.RaportForm.resources | Bin 0 -> 180 bytes .../Debug/db_lab.csproj.FileListAbsolute.txt | 2 + .../db_lab.csproj.GenerateResource.cache | Bin 126 -> 174 bytes db_lab/obj/Debug/db_lab.exe | Bin 11264 -> 16896 bytes db_lab/obj/Debug/db_lab.pdb | Bin 50688 -> 54784 bytes 16 files changed, 505 insertions(+), 8 deletions(-) create mode 100644 db_lab/DataForm.resx create mode 100644 db_lab/RaportForm.resx create mode 100644 db_lab/obj/Debug/db_lab.DataForm.resources create mode 100644 db_lab/obj/Debug/db_lab.RaportForm.resources diff --git a/db_lab/DataForm.Designer.cs b/db_lab/DataForm.Designer.cs index 32b9b5d..ab9d1b4 100644 --- a/db_lab/DataForm.Designer.cs +++ b/db_lab/DataForm.Designer.cs @@ -28,12 +28,142 @@ /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); + this.dataGridView1 = new System.Windows.Forms.DataGridView(); + this.tableOrViewInput = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.selectAllBtn = new System.Windows.Forms.Button(); + this.selectBuildingBtn = new System.Windows.Forms.Button(); + this.selectDepartmentBtn = new System.Windows.Forms.Button(); + this.selectAllRoomsBtn = new System.Windows.Forms.Button(); + this.selectAllEquipmentBtn = new System.Windows.Forms.Button(); + this.selectAllEquipmentArrivalDeparture = new System.Windows.Forms.Button(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); + this.SuspendLayout(); + // + // dataGridView1 + // + this.dataGridView1.AllowUserToAddRows = false; + this.dataGridView1.AllowUserToDeleteRows = false; + this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Bottom; + this.dataGridView1.Location = new System.Drawing.Point(0, 47); + this.dataGridView1.Name = "dataGridView1"; + this.dataGridView1.ReadOnly = true; + this.dataGridView1.Size = new System.Drawing.Size(800, 403); + this.dataGridView1.TabIndex = 0; + // + // tableOrViewInput + // + this.tableOrViewInput.Location = new System.Drawing.Point(12, 12); + this.tableOrViewInput.Name = "tableOrViewInput"; + this.tableOrViewInput.Size = new System.Drawing.Size(100, 20); + this.tableOrViewInput.TabIndex = 1; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(134, 18); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(67, 13); + this.label1.TabIndex = 2; + this.label1.Text = "table or view"; + // + // selectAllBtn + // + this.selectAllBtn.Location = new System.Drawing.Point(229, 12); + this.selectAllBtn.Name = "selectAllBtn"; + this.selectAllBtn.Size = new System.Drawing.Size(75, 23); + this.selectAllBtn.TabIndex = 3; + this.selectAllBtn.Text = "select all"; + this.selectAllBtn.UseVisualStyleBackColor = true; + this.selectAllBtn.Click += new System.EventHandler(this.selectAllBtn_Click); + // + // selectBuildingBtn + // + this.selectBuildingBtn.Location = new System.Drawing.Point(310, 13); + this.selectBuildingBtn.Name = "selectBuildingBtn"; + this.selectBuildingBtn.Size = new System.Drawing.Size(75, 23); + this.selectBuildingBtn.TabIndex = 4; + this.selectBuildingBtn.Text = "Здания"; + this.selectBuildingBtn.UseVisualStyleBackColor = true; + this.selectBuildingBtn.Click += new System.EventHandler(this.selectBuildingBtn_Click); + // + // selectDepartmentBtn + // + this.selectDepartmentBtn.Location = new System.Drawing.Point(391, 13); + this.selectDepartmentBtn.Name = "selectDepartmentBtn"; + this.selectDepartmentBtn.Size = new System.Drawing.Size(75, 23); + this.selectDepartmentBtn.TabIndex = 5; + this.selectDepartmentBtn.Text = "Отделы"; + this.selectDepartmentBtn.UseVisualStyleBackColor = true; + this.selectDepartmentBtn.Click += new System.EventHandler(this.selectDepartmentBtn_Click); + // + // selectAllRoomsBtn + // + this.selectAllRoomsBtn.AutoSize = true; + this.selectAllRoomsBtn.Location = new System.Drawing.Point(472, 13); + this.selectAllRoomsBtn.Name = "selectAllRoomsBtn"; + this.selectAllRoomsBtn.Size = new System.Drawing.Size(78, 23); + this.selectAllRoomsBtn.TabIndex = 6; + this.selectAllRoomsBtn.Text = "Помещения"; + this.selectAllRoomsBtn.UseVisualStyleBackColor = true; + this.selectAllRoomsBtn.Click += new System.EventHandler(this.selectAllRoomsBtn_Click); + // + // selectAllEquipmentBtn + // + this.selectAllEquipmentBtn.AutoSize = true; + this.selectAllEquipmentBtn.Location = new System.Drawing.Point(553, 13); + this.selectAllEquipmentBtn.Name = "selectAllEquipmentBtn"; + this.selectAllEquipmentBtn.Size = new System.Drawing.Size(90, 23); + this.selectAllEquipmentBtn.TabIndex = 7; + this.selectAllEquipmentBtn.Text = "Оборудование"; + this.selectAllEquipmentBtn.UseVisualStyleBackColor = true; + this.selectAllEquipmentBtn.Click += new System.EventHandler(this.selectAllEquipmentBtn_Click); + // + // selectAllEquipmentArrivalDeparture + // + this.selectAllEquipmentArrivalDeparture.AutoSize = true; + this.selectAllEquipmentArrivalDeparture.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.selectAllEquipmentArrivalDeparture.Location = new System.Drawing.Point(649, 13); + this.selectAllEquipmentArrivalDeparture.Name = "selectAllEquipmentArrivalDeparture"; + this.selectAllEquipmentArrivalDeparture.Size = new System.Drawing.Size(84, 23); + this.selectAllEquipmentArrivalDeparture.TabIndex = 8; + this.selectAllEquipmentArrivalDeparture.Text = "Приход/Уход"; + this.selectAllEquipmentArrivalDeparture.UseVisualStyleBackColor = true; + this.selectAllEquipmentArrivalDeparture.Click += new System.EventHandler(this.selectAllEquipmentArrivalDeparture_Click); + // + // DataForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(800, 450); + this.Controls.Add(this.selectAllEquipmentArrivalDeparture); + this.Controls.Add(this.selectAllEquipmentBtn); + this.Controls.Add(this.selectAllRoomsBtn); + this.Controls.Add(this.selectDepartmentBtn); + this.Controls.Add(this.selectBuildingBtn); + this.Controls.Add(this.selectAllBtn); + this.Controls.Add(this.label1); + this.Controls.Add(this.tableOrViewInput); + this.Controls.Add(this.dataGridView1); + this.Name = "DataForm"; this.Text = "DataForm"; + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + } #endregion + + private System.Windows.Forms.DataGridView dataGridView1; + private System.Windows.Forms.TextBox tableOrViewInput; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Button selectAllBtn; + private System.Windows.Forms.Button selectBuildingBtn; + private System.Windows.Forms.Button selectDepartmentBtn; + private System.Windows.Forms.Button selectAllRoomsBtn; + private System.Windows.Forms.Button selectAllEquipmentBtn; + private System.Windows.Forms.Button selectAllEquipmentArrivalDeparture; } } \ No newline at end of file diff --git a/db_lab/DataForm.cs b/db_lab/DataForm.cs index 9c9ea78..6a9e6f1 100644 --- a/db_lab/DataForm.cs +++ b/db_lab/DataForm.cs @@ -1,4 +1,5 @@ -using System; +using Npgsql; +using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; @@ -7,14 +8,69 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; +using Npgsql; +using System.Web; namespace db_lab { public partial class DataForm : Form { - public DataForm() + NpgsqlConnection connection; + + public DataForm(string connection) { + this.connection = new NpgsqlConnection(connection); InitializeComponent(); } + + private void load_data(string view_or_table) + { + try + { + connection.Open(); + string sql = $"SELECT * FROM {view_or_table}"; + NpgsqlDataAdapter adapter = new NpgsqlDataAdapter(sql, this.connection); + DataSet dataset = new DataSet(); + adapter.Fill(dataset, "data"); + dataGridView1.DataSource = dataset.Tables["data"]; + connection.Close(); + } + catch (Exception ex) + { + MessageBox.Show($"Error! Log: {ex.Message}"); + connection.Close(); + } + } + + private void selectAllBtn_Click(object sender, EventArgs e) + { + var tableOrView = tableOrViewInput.Text.Trim(); + load_data(tableOrView); + } + + private void selectBuildingBtn_Click(object sender, EventArgs e) + { + load_data("Building"); + } + + private void selectDepartmentBtn_Click(object sender, EventArgs e) + { + load_data("Department"); + } + + private void selectAllRoomsBtn_Click(object sender, EventArgs e) + { + load_data("Rooms"); + } + + private void selectAllEquipmentBtn_Click(object sender, EventArgs e) + { + load_data("Equipment"); + } + + private void selectAllEquipmentArrivalDeparture_Click(object sender, EventArgs e) + { + load_data("equipment_arrival_departure"); + } } } diff --git a/db_lab/DataForm.resx b/db_lab/DataForm.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/db_lab/DataForm.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/db_lab/Form1.cs b/db_lab/Form1.cs index ff5e4f8..e8a5232 100644 --- a/db_lab/Form1.cs +++ b/db_lab/Form1.cs @@ -38,13 +38,13 @@ namespace db_lab private void raportBtn_Click(object sender, EventArgs e) { - RaportForm raportForm = new RaportForm(); + RaportForm raportForm = new RaportForm(connectionString); raportForm.Show(); } private void dataBtn_Click(object sender, EventArgs e) { - DataForm dataForm = new DataForm(); + DataForm dataForm = new DataForm(connectionString); dataForm.Show(); } @@ -60,6 +60,7 @@ namespace db_lab { this.connection = new NpgsqlConnection(this.connectionString); this.connection.Open(); + this.connection.Close(); MessageBox.Show("Database was successfuly connected!"); } catch (Exception ex) { diff --git a/db_lab/RaportForm.Designer.cs b/db_lab/RaportForm.Designer.cs index fc30b11..d18ad6a 100644 --- a/db_lab/RaportForm.Designer.cs +++ b/db_lab/RaportForm.Designer.cs @@ -28,12 +28,37 @@ /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); + this.dataGridView1 = new System.Windows.Forms.DataGridView(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); + this.SuspendLayout(); + // + // dataGridView1 + // + this.dataGridView1.AllowUserToAddRows = false; + this.dataGridView1.AllowUserToDeleteRows = false; + this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill; + this.dataGridView1.Location = new System.Drawing.Point(0, 0); + this.dataGridView1.Name = "dataGridView1"; + this.dataGridView1.ReadOnly = true; + this.dataGridView1.Size = new System.Drawing.Size(800, 450); + this.dataGridView1.TabIndex = 0; + // + // RaportForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(800, 450); + this.Controls.Add(this.dataGridView1); + this.Name = "RaportForm"; this.Text = "RaportForm"; + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit(); + this.ResumeLayout(false); + } #endregion + + private System.Windows.Forms.DataGridView dataGridView1; } } \ No newline at end of file diff --git a/db_lab/RaportForm.cs b/db_lab/RaportForm.cs index bf138a2..91e7518 100644 --- a/db_lab/RaportForm.cs +++ b/db_lab/RaportForm.cs @@ -1,4 +1,5 @@ -using System; +using Npgsql; +using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; @@ -12,9 +13,45 @@ namespace db_lab { public partial class RaportForm : Form { - public RaportForm() + NpgsqlConnection connection; + + private void load_data() + { + try + { + connection.Open(); + string sql = @"SELECT + ead.id AS interaction_id, + e.name AS equipment_name, + r.room_name AS room_name, + d.name AS department_name, + b.address AS building_address, + ead.arrival_date, + ead.departure_date +FROM Equipment_Arrival_Departure ead +JOIN Equipment e ON ead.equipment_id = e.id +JOIN Rooms r ON e.room_id = r.id +JOIN Department d ON r.building_id = d.building_id +JOIN Building b ON d.building_id = b.id; +"; + NpgsqlDataAdapter adapter = new NpgsqlDataAdapter(sql, this.connection); + DataSet dataset = new DataSet(); + adapter.Fill(dataset, "data"); + dataGridView1.DataSource = dataset.Tables["data"]; + connection.Close(); + } + catch (Exception ex) + { + MessageBox.Show($"Error! Log: {ex.Message}"); + connection.Close(); + } + } + + public RaportForm(string connection) { + this.connection = new NpgsqlConnection(connection); InitializeComponent(); + load_data(); } } } diff --git a/db_lab/RaportForm.resx b/db_lab/RaportForm.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/db_lab/RaportForm.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/db_lab/bin/Debug/db_lab.exe b/db_lab/bin/Debug/db_lab.exe index 482eed0510f655234844f79e5d3ebb65016c6fbe..6ed17b1104ee24d19b914001adff5006fac20dd0 100644 GIT binary patch literal 16896 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 Rz>Bv3an$`u%l|D8{13MgHDCY$ delta 4908 zcma)A3vg7`8UD|`ckkUSVcFdzn-?LQgoK*}ku`!u+cXgrqatX6^)ao65CI#wWH(W0 zh<7RVQGBKs+bR}?J``J8DPz^Cj-qy|W1T5e#bQTBinilp)T*VAvDokb?R-a%E{@B#w)ItRB# z0h-xJ)E_6(VMU0{AAE&qtwKvp?$@>A5k+KZb}>;1;kJ$dYATwoQ8TK;7bSh>ByE_Z zijV5eDjqUthRG+K62F#iqxldu9V9JXijv=Esa?jbmPnw{#M5XYT@J#o5H~+t3ZbAX~0RTr_n~?)LU%`uaBo* zg|(x;)Z9^Dmik!A<<^e+id0ZBUm4tCyVa;Rxgga5CSKicCtx--A%UVPNC4SUN=K1C zWI8qQ(S#2Y;X@xj!xs?W$7Pr_|J+i$fsQ++xVn>evHO? z&1`xF+&P6@3FMxYm*+LcRH{&$XpD*K z^Quc_eUCN6BsVkON@^Nckp=G$SgF%8;nj|s=)ajh6_hiFc~=|e@vH96&(2(GZccUy zIyO6#rDNHp%Go*DeQ!298_14H$<3|}yF5*apI|-Y3t&3cog;vWFA%-&|=Mcl@ zjT3{gr5$^Waa`VB$ixYbF*oEl`}rM8#UVd?j9pFk8LTjFe~BMy?53vuWiEG|4K9|Yd}6U1-yVGa67mqfSy&FfisYzAkN6zr zS@AidR-J8T9?*KRJ(TE-�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 delta 4659 zcmeHKX>3&26~6a*-kY(pjrR@jCf0zr@q(AZHZ$XW0j3FU9M>z0LjGGFua*CA~KrUw2{)&7xihsX^q`+*K^pqg*&~-4J6sCi}M(QD&(3pgcB?J>IT{+MveK`&u9;#Y3?VFN}Y;Npz7n30raPbmX^qd`sov^VW9IksjvgWYTh zJ5u?ViUxOvFaG(&o}Y)j^G0{-#bqO(2KAi(+9P|@OHm!kmpivT+jI0CHACZqNpvpr zIT{`CrIyV3G?q1qLXL;HmSjCA$-6xmyF{O6Kj|3{ZUHc5$a=t;TkUaUvM>EIw?G%n zkMz*N+;TrF3T_0ZTru(YGA`tkC2yYYyz%ccZOMy_z64jdw)(fv2Q7xB2yOwrl9i;IL)aZ;F= z(C$l*0CzD^Uv5W7AjOpU1PcSVFq*~s3u6zmmXsmDx{`!|2Ll)oK<0F)B;H4eWdstj zqA9L8&{>)fkAl)P#S>ORoLWm0{e#>VT40&>m5RXQr3nEQ;z`=&1(yU)iDii?LY$zv zg)k3)3+k{Im;$-|zI-B2g=Q}drNOe~$)bKbg>i3KamQEmVOg9!39_X${`AvSQ||2z zjj~zuzyD>0iTlg8!xf+4czKuSRuKh%1{$}-(9()X33czQXqE0V+Flt!VU^y~QA{=+ zEd`TZ z39~`sRY@s$wwU9N6pf~WS}{%owSks^7J-T!imACOm^!QCrKJd6)g^7_uITD3@{rwo zbeL7TZ>ml0sp-&gx+1fCMe)Or_jzL>6OA@ z36Ad7QLD%5sG()GA@O4IiVG`+jY*8%2D~Ag3giP#9z#~Mvo2N<%Vh}Z)Xi6d!M?1g z4Rxs!$f3Fr|JSrkA~3B)MtZtdSB52*QlF`W!1|n?TI$6b+*hBbghDW?r_p*__;=Uf zkQ#?GPkiS^LjhG98)YO<2)s8&Z1L9py0As+{KoBOO ziG~}0rugBJ_t0aSq9u^hruPN$YHpFsVNwT^xkL7RXMQZj&X1)0d;^LwQE@QHSFJb# zDmJ{^LlqbL2P=+`Au1lBRveD*irbi|c+OOHTHQtzWTZv{VGeP_CB8u$5?Twq3cL%P z0d6C~na);2YdVcpZ%a$hR2o5{Gs=>InKhk-u;7lFT0^NPUmV!Vdv zxOKo{pbc;U>uF#`nry*4RJ+pc?{R0lQ8F#0>FueKX%W@7nGDj=*r4nX*l|($Q5zG;Iwsm1$L1V3f+aEi!OA&@9fV z7Qm>i`!|<7-1DoD6QPjgWUi@PrV^Vh^9Ja$;Ma;KcSj!HIpOLe(w> zmn1lKH@u-E-*q843DHOEBIIqDLP>OXU8pS1Kskboy9W-(81=&Ryni7K8a`v8WbF%; z)4(OEoY*CD1Sg?=zu6ZdzYIYh4a4XhxJfD}nyNu?5{^O9{Sopw1i=*7A4vB8AW1P$ zOMe58avkfRD$$>gW#gEcs~s_msOeaS>%xXh z=%?75m}q=rdwv1AiUv3j@<3Pbi~U@B){6o*)y_6T9Seo)iq)k&L17=yE44BV&mXj#)Emq`&^NO)!(CKc5`2`^`Agr z%th3R_SyZvv`-t%e+twA;`}4p=M%tBfG2?(;3=RM5Ied!m4*Xi&k?`*<^Xd6{HkQL z0d!>i6j$4FA`|_u7!Yf%6et744<7MzsS>CHs>y%z+$cM^9|4a8KL+Lj5B2B<7eDi@ Jyvy&5^eDK@N diff --git a/db_lab/db_lab.csproj b/db_lab/db_lab.csproj index ef84a3b..eeb78b2 100644 --- a/db_lab/db_lab.csproj +++ b/db_lab/db_lab.csproj @@ -121,6 +121,9 @@ RaportForm.cs + + DataForm.cs + Form1.cs @@ -133,6 +136,9 @@ True Resources.resx + + RaportForm.cs + SettingsSingleFileGenerator diff --git a/db_lab/obj/Debug/db_lab.DataForm.resources b/db_lab/obj/Debug/db_lab.DataForm.resources new file mode 100644 index 0000000000000000000000000000000000000000..6c05a9776bd7cbae976fdcec7e3a254e93018279 GIT binary patch literal 180 zcmX?i>is@O1_p+SK%5g?SzMBus~417oL^d$oLUTL1*ImYq!#HYR*8GxXUf^%t3Noi54ZC+|=Nl{{sjzU0bQch;FcWPxwes*e}ZIZcpqG__J onW3ezNveT`r81^vrFkWpxv4PQgHubGfR2KJ07n-P+5+SQ04Y>DD*ylh literal 0 HcmV?d00001 diff --git a/db_lab/obj/Debug/db_lab.RaportForm.resources b/db_lab/obj/Debug/db_lab.RaportForm.resources new file mode 100644 index 0000000000000000000000000000000000000000..6c05a9776bd7cbae976fdcec7e3a254e93018279 GIT binary patch literal 180 zcmX?i>is@O1_p+SK%5g?SzMBus~417oL^d$oLUTL1*ImYq!#HYR*8GxXUf^%t3Noi54ZC+|=Nl{{sjzU0bQch;FcWPxwes*e}ZIZcpqG__J onW3ezNveT`r81^vrFkWpxv4PQgHubGfR2KJ07n-P+5+SQ04Y>DD*ylh literal 0 HcmV?d00001 diff --git a/db_lab/obj/Debug/db_lab.csproj.FileListAbsolute.txt b/db_lab/obj/Debug/db_lab.csproj.FileListAbsolute.txt index fe09417..113a2e2 100644 --- a/db_lab/obj/Debug/db_lab.csproj.FileListAbsolute.txt +++ b/db_lab/obj/Debug/db_lab.csproj.FileListAbsolute.txt @@ -41,3 +41,5 @@ C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\System.Threading.Channels.xm C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\System.Threading.Tasks.Extensions.xml C:\Users\mit3t\source\repos\db_lab\db_lab\bin\Debug\System.ValueTuple.xml C:\Users\mit3t\source\repos\db_lab\db_lab\obj\Debug\db_lab.csproj.CopyComplete +C:\Users\mit3t\source\repos\db_lab\db_lab\obj\Debug\db_lab.DataForm.resources +C:\Users\mit3t\source\repos\db_lab\db_lab\obj\Debug\db_lab.RaportForm.resources diff --git a/db_lab/obj/Debug/db_lab.csproj.GenerateResource.cache b/db_lab/obj/Debug/db_lab.csproj.GenerateResource.cache index beb4253dd388d595156abbc8fc94644f461ac6b0..733ee0f39c4f8271967705c3b64bf9d04975c289 100644 GIT binary patch delta 64 zcmbga$UKp`%#_z9u_VzgzbIF)D7CnPkpT!8QN@^mLLqmKYR47d;a~(SU;qFr Ch!AT4 delta 16 UcmZ3-SjWu9$TX3;jFkZd02=xNNdN!< diff --git a/db_lab/obj/Debug/db_lab.exe b/db_lab/obj/Debug/db_lab.exe index 482eed0510f655234844f79e5d3ebb65016c6fbe..6ed17b1104ee24d19b914001adff5006fac20dd0 100644 GIT binary patch literal 16896 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 Rz>Bv3an$`u%l|D8{13MgHDCY$ delta 4908 zcma)A3vg7`8UD|`ckkUSVcFdzn-?LQgoK*}ku`!u+cXgrqatX6^)ao65CI#wWH(W0 zh<7RVQGBKs+bR}?J``J8DPz^Cj-qy|W1T5e#bQTBinilp)T*VAvDokb?R-a%E{@B#w)ItRB# z0h-xJ)E_6(VMU0{AAE&qtwKvp?$@>A5k+KZb}>;1;kJ$dYATwoQ8TK;7bSh>ByE_Z zijV5eDjqUthRG+K62F#iqxldu9V9JXijv=Esa?jbmPnw{#M5XYT@J#o5H~+t3ZbAX~0RTr_n~?)LU%`uaBo* zg|(x;)Z9^Dmik!A<<^e+id0ZBUm4tCyVa;Rxgga5CSKicCtx--A%UVPNC4SUN=K1C zWI8qQ(S#2Y;X@xj!xs?W$7Pr_|J+i$fsQ++xVn>evHO? z&1`xF+&P6@3FMxYm*+LcRH{&$XpD*K z^Quc_eUCN6BsVkON@^Nckp=G$SgF%8;nj|s=)ajh6_hiFc~=|e@vH96&(2(GZccUy zIyO6#rDNHp%Go*DeQ!298_14H$<3|}yF5*apI|-Y3t&3cog;vWFA%-&|=Mcl@ zjT3{gr5$^Waa`VB$ixYbF*oEl`}rM8#UVd?j9pFk8LTjFe~BMy?53vuWiEG|4K9|Yd}6U1-yVGa67mqfSy&FfisYzAkN6zr zS@AidR-J8T9?*KRJ(TE-�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 delta 4659 zcmeHKX>3&26~6a*-kY(pjrR@jCf0zr@q(AZHZ$XW0j3FU9M>z0LjGGFua*CA~KrUw2{)&7xihsX^q`+*K^pqg*&~-4J6sCi}M(QD&(3pgcB?J>IT{+MveK`&u9;#Y3?VFN}Y;Npz7n30raPbmX^qd`sov^VW9IksjvgWYTh zJ5u?ViUxOvFaG(&o}Y)j^G0{-#bqO(2KAi(+9P|@OHm!kmpivT+jI0CHACZqNpvpr zIT{`CrIyV3G?q1qLXL;HmSjCA$-6xmyF{O6Kj|3{ZUHc5$a=t;TkUaUvM>EIw?G%n zkMz*N+;TrF3T_0ZTru(YGA`tkC2yYYyz%ccZOMy_z64jdw)(fv2Q7xB2yOwrl9i;IL)aZ;F= z(C$l*0CzD^Uv5W7AjOpU1PcSVFq*~s3u6zmmXsmDx{`!|2Ll)oK<0F)B;H4eWdstj zqA9L8&{>)fkAl)P#S>ORoLWm0{e#>VT40&>m5RXQr3nEQ;z`=&1(yU)iDii?LY$zv zg)k3)3+k{Im;$-|zI-B2g=Q}drNOe~$)bKbg>i3KamQEmVOg9!39_X${`AvSQ||2z zjj~zuzyD>0iTlg8!xf+4czKuSRuKh%1{$}-(9()X33czQXqE0V+Flt!VU^y~QA{=+ zEd`TZ z39~`sRY@s$wwU9N6pf~WS}{%owSks^7J-T!imACOm^!QCrKJd6)g^7_uITD3@{rwo zbeL7TZ>ml0sp-&gx+1fCMe)Or_jzL>6OA@ z36Ad7QLD%5sG()GA@O4IiVG`+jY*8%2D~Ag3giP#9z#~Mvo2N<%Vh}Z)Xi6d!M?1g z4Rxs!$f3Fr|JSrkA~3B)MtZtdSB52*QlF`W!1|n?TI$6b+*hBbghDW?r_p*__;=Uf zkQ#?GPkiS^LjhG98)YO<2)s8&Z1L9py0As+{KoBOO ziG~}0rugBJ_t0aSq9u^hruPN$YHpFsVNwT^xkL7RXMQZj&X1)0d;^LwQE@QHSFJb# zDmJ{^LlqbL2P=+`Au1lBRveD*irbi|c+OOHTHQtzWTZv{VGeP_CB8u$5?Twq3cL%P z0d6C~na);2YdVcpZ%a$hR2o5{Gs=>InKhk-u;7lFT0^NPUmV!Vdv zxOKo{pbc;U>uF#`nry*4RJ+pc?{R0lQ8F#0>FueKX%W@7nGDj=*r4nX*l|($Q5zG;Iwsm1$L1V3f+aEi!OA&@9fV z7Qm>i`!|<7-1DoD6QPjgWUi@PrV^Vh^9Ja$;Ma;KcSj!HIpOLe(w> zmn1lKH@u-E-*q843DHOEBIIqDLP>OXU8pS1Kskboy9W-(81=&Ryni7K8a`v8WbF%; z)4(OEoY*CD1Sg?=zu6ZdzYIYh4a4XhxJfD}nyNu?5{^O9{Sopw1i=*7A4vB8AW1P$ zOMe58avkfRD$$>gW#gEcs~s_msOeaS>%xXh z=%?75m}q=rdwv1AiUv3j@<3Pbi~U@B){6o*)y_6T9Seo)iq)k&L17=yE44BV&mXj#)Emq`&^NO)!(CKc5`2`^`Agr z%th3R_SyZvv`-t%e+twA;`}4p=M%tBfG2?(;3=RM5Ied!m4*Xi&k?`*<^Xd6{HkQL z0d!>i6j$4FA`|_u7!Yf%6et744<7MzsS>CHs>y%z+$cM^9|4a8KL+Lj5B2B<7eDi@ Jyvy&5^eDK@N