diff --git a/App.config b/App.config new file mode 100644 index 0000000..abb8196 --- /dev/null +++ b/App.config @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Form1.Designer.cs b/Form1.Designer.cs new file mode 100644 index 0000000..308edae --- /dev/null +++ b/Form1.Designer.cs @@ -0,0 +1,147 @@ +namespace auto_repair_shop +{ + partial class Form1 + { + /// + /// Обязательная переменная конструктора. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Освободить все используемые ресурсы. + /// + /// истинно, если управляемый ресурс должен быть удален; иначе ложно. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Код, автоматически созданный конструктором форм Windows + + /// + /// Требуемый метод для поддержки конструктора — не изменяйте + /// содержимое этого метода с помощью редактора кода. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1)); + this.button1 = new System.Windows.Forms.Button(); + this.button2 = new System.Windows.Forms.Button(); + this.button3 = new System.Windows.Forms.Button(); + this.dataGridView1 = new System.Windows.Forms.DataGridView(); + this.textBox1 = new System.Windows.Forms.TextBox(); + this.textBox2 = new System.Windows.Forms.TextBox(); + this.textBox3 = new System.Windows.Forms.TextBox(); + this.textBox4 = new System.Windows.Forms.TextBox(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); + this.SuspendLayout(); + // + // button1 + // + this.button1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(238)))), ((int)(((byte)(255))))); + this.button1.Location = new System.Drawing.Point(679, 276); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(109, 23); + this.button1.TabIndex = 0; + this.button1.Text = "Добавления"; + this.button1.UseVisualStyleBackColor = false; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // button2 + // + this.button2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(238)))), ((int)(((byte)(255))))); + this.button2.Location = new System.Drawing.Point(679, 316); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(109, 23); + this.button2.TabIndex = 1; + this.button2.Text = "Удаление"; + this.button2.UseVisualStyleBackColor = false; + this.button2.Click += new System.EventHandler(this.button2_Click); + // + // button3 + // + this.button3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(238)))), ((int)(((byte)(255))))); + this.button3.Location = new System.Drawing.Point(679, 355); + this.button3.Name = "button3"; + this.button3.Size = new System.Drawing.Size(109, 23); + this.button3.TabIndex = 2; + this.button3.Text = "Редактирвоание"; + this.button3.UseVisualStyleBackColor = false; + this.button3.Click += new System.EventHandler(this.button3_Click_1); + // + // dataGridView1 + // + this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridView1.Location = new System.Drawing.Point(0, 0); + this.dataGridView1.Name = "dataGridView1"; + this.dataGridView1.Size = new System.Drawing.Size(611, 438); + this.dataGridView1.TabIndex = 3; + // + // textBox1 + // + this.textBox1.Location = new System.Drawing.Point(688, 12); + this.textBox1.Name = "textBox1"; + this.textBox1.Size = new System.Drawing.Size(100, 20); + this.textBox1.TabIndex = 4; + // + // textBox2 + // + this.textBox2.Location = new System.Drawing.Point(688, 54); + this.textBox2.Name = "textBox2"; + this.textBox2.Size = new System.Drawing.Size(100, 20); + this.textBox2.TabIndex = 5; + // + // textBox3 + // + this.textBox3.Location = new System.Drawing.Point(688, 101); + this.textBox3.Name = "textBox3"; + this.textBox3.Size = new System.Drawing.Size(100, 20); + this.textBox3.TabIndex = 6; + // + // textBox4 + // + this.textBox4.Location = new System.Drawing.Point(688, 146); + this.textBox4.Name = "textBox4"; + this.textBox4.Size = new System.Drawing.Size(100, 20); + this.textBox4.TabIndex = 7; + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(59)))), ((int)(((byte)(130)))), ((int)(((byte)(246))))); + this.ClientSize = new System.Drawing.Size(800, 450); + this.Controls.Add(this.textBox4); + this.Controls.Add(this.textBox3); + this.Controls.Add(this.textBox2); + this.Controls.Add(this.textBox1); + this.Controls.Add(this.dataGridView1); + this.Controls.Add(this.button3); + this.Controls.Add(this.button2); + this.Controls.Add(this.button1); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "Form1"; + this.Text = "Form1"; + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Button button1; + private System.Windows.Forms.Button button2; + private System.Windows.Forms.Button button3; + private System.Windows.Forms.DataGridView dataGridView1; + private System.Windows.Forms.TextBox textBox1; + private System.Windows.Forms.TextBox textBox2; + private System.Windows.Forms.TextBox textBox3; + private System.Windows.Forms.TextBox textBox4; + } +} + diff --git a/Form1.cs b/Form1.cs new file mode 100644 index 0000000..3157f54 --- /dev/null +++ b/Form1.cs @@ -0,0 +1,120 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using static System.Windows.Forms.VisualStyles.VisualStyleElement; + +namespace auto_repair_shop +{ + public partial class Form1 : Form + { + + public DataTable data = new DataTable(); + + public Form1() + { + InitializeComponent(); + DataTable dataTable = Dbs.select("SELECT idbid, client, service, price, deadlines FROM bid "); + data = dataTable; + dataGridView1.DataSource = data; + } + + + private void button1_Click(object sender, EventArgs e) + { + + { + if (textBox1.Text == "" || textBox2.Text == "" || textBox3.Text == "" || textBox4.Text == "") + { + MessageBox.Show("Заполните все поля!"); + } + else + { + data = Dbs.select($"INSERT INTO bid (`client`,`service`,`price`, `deadlines` ) VALUES ('{textBox1.Text}','{textBox2.Text}','{textBox3.Text}','{textBox4.Text}');"); + data = Dbs.select(@"SELECT idBid,client,service,price, deadlines FROM bid "); + textBox1.Clear(); + textBox2.Clear(); + textBox3.Clear(); + textBox4.Clear(); + + dataGridView1.DataSource = data; + } + } + + + } + + private void button2_Click(object sender, EventArgs e) + { + DialogResult result = MessageBox.Show("удалить безвазвратно?", "Подтвердите действие", MessageBoxButtons.YesNo, MessageBoxIcon.Question); + + if (result == DialogResult.Yes) + { + data = Dbs.select($"DELETE FROM bid WHERE idBid = " + dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells[0].Value.ToString()); + data = Dbs.select($"SELECT idBid, client, service,price, deadlines FROM bid "); + MessageBox.Show("Удаление завершено!", "TsManager"); + } + else if (result == DialogResult.No) + { + dataGridView1.DataSource = data; + } + + dataGridView1.DataSource = data; + } + + + + private void button3_Click_1(object sender, EventArgs e) + { + + int selectedRowIndex = dataGridView1.CurrentCell.RowIndex; + + if (selectedRowIndex < 0) + { + MessageBox.Show("Пожалуйста, выберите строку для редактирования."); + return; + } + + + int id = Convert.ToInt32(dataGridView1.Rows[selectedRowIndex].Cells[0].Value); + + + if (string.IsNullOrWhiteSpace(textBox1.Text) || string.IsNullOrWhiteSpace(textBox2.Text) || string.IsNullOrWhiteSpace(textBox3.Text) || string.IsNullOrWhiteSpace(textBox4.Text)) + { + MessageBox.Show("Заполните все поля!"); + return; + } + DialogResult result = MessageBox.Show("уверены что хотите редактировать?", "Подтвердите действие", MessageBoxButtons.YesNo, MessageBoxIcon.Question); + + if (result == DialogResult.Yes) + { + string updateQuery = $"UPDATE bid SET client = '{textBox1.Text}', service = '{textBox2.Text}', price= '{textBox3.Text}', deadlines= '{textBox4.Text}' WHERE idBid = {id};"; + Dbs.select(updateQuery); + + + data = Dbs.select("SELECT idBid, client, service, price, deadlines FROM bid "); + dataGridView1.DataSource = data; + + + textBox1.Clear(); + textBox2.Clear(); + textBox3.Clear(); + textBox4.Clear(); + MessageBox.Show("редактирование завершено!", "TsManager"); + } + else if (result == DialogResult.No) + { + dataGridView1.DataSource = data; + } + + + + } + } + +} diff --git a/Form1.resx b/Form1.resx new file mode 100644 index 0000000..662dbb4 --- /dev/null +++ b/Form1.resx @@ -0,0 +1,509 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + 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 + + + \ No newline at end of file diff --git a/Program.cs b/Program.cs new file mode 100644 index 0000000..ca2e0a6 --- /dev/null +++ b/Program.cs @@ -0,0 +1,54 @@ +using auto_repair_shop; +using MySql.Data.MySqlClient; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace stratulat_modul +{ + internal static class Program + { + /// + /// Главная точка входа для приложения. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} + + +class Dbs +{ + public static DataTable select(string sql) + { + MySqlConnectionStringBuilder builder = new MySqlConnectionStringBuilder(); + builder.Server = "80.90.179.235"; + builder.Port = 3306; + builder.Database = "pozorisp_mihailov"; + builder.UserID = "pozorisp"; + builder.Password = "pozorisp"; + MySqlConnection connect = new MySqlConnection(builder.ConnectionString); + try + { + connect.Open(); + MySqlCommand command = new MySqlCommand(sql, connect); + MySqlDataReader reader = command.ExecuteReader(); + DataTable table = new DataTable(); + table.Load(reader); + return table; + } + catch (Exception e) + { + MessageBox.Show($"При запросе произошла ошибка! Код: {e.Message}"); + return null; + } + } +} diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..74e6dd1 --- /dev/null +++ b/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Общие сведения об этой сборке предоставляются следующим набором +// набора атрибутов. Измените значения этих атрибутов для изменения сведений, +// связанных со сборкой. +[assembly: AssemblyTitle("auto-repair-shop")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("auto-repair-shop")] +[assembly: AssemblyCopyright("Copyright © 2025")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Установка значения False для параметра ComVisible делает типы в этой сборке невидимыми +// для компонентов COM. Если необходимо обратиться к типу в этой сборке через +// COM, следует установить атрибут ComVisible в TRUE для этого типа. +[assembly: ComVisible(false)] + +// Следующий GUID служит для идентификации библиотеки типов, если этот проект будет видимым для COM +[assembly: Guid("5f8233c6-ad56-437f-80b9-9a0f64743f0d")] + +// Сведения о версии сборки состоят из указанных ниже четырех значений: +// +// Основной номер версии +// Дополнительный номер версии +// Номер сборки +// Редакция +// +// Можно задать все значения или принять номера сборки и редакции по умолчанию +// используя "*", как показано ниже: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Properties/Resources.Designer.cs b/Properties/Resources.Designer.cs new file mode 100644 index 0000000..89a5021 --- /dev/null +++ b/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программным средством. +// Версия среды выполнения: 4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильному поведению и будут утрачены, если +// код создан повторно. +// +//------------------------------------------------------------------------------ + +namespace auto_repair_shop.Properties +{ + + + /// + /// Класс ресурсов со строгим типом для поиска локализованных строк и пр. + /// + // Этот класс был автоматически создан при помощи StronglyTypedResourceBuilder + // класс с помощью таких средств, как ResGen или Visual Studio. + // Для добавления или удаления члена измените файл .ResX, а затем перезапустите ResGen + // с параметром /str или заново постройте свой VS-проект. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Возврат кэшированного экземпляра ResourceManager, используемого этим классом. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("auto_repair_shop.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Переопределяет свойство CurrentUICulture текущего потока для всех + /// подстановки ресурсов с помощью этого класса ресурсов со строгим типом. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/Properties/Resources.resx b/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Properties/Settings.Designer.cs b/Properties/Settings.Designer.cs new file mode 100644 index 0000000..58dbe3a --- /dev/null +++ b/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace auto_repair_shop.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/Properties/Settings.settings b/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/auto-repair-shop.csproj b/auto-repair-shop.csproj new file mode 100644 index 0000000..64bdf2c --- /dev/null +++ b/auto-repair-shop.csproj @@ -0,0 +1,136 @@ + + + + + Debug + AnyCPU + {5F8233C6-AD56-437F-80B9-9A0F64743F0D} + WinExe + auto_repair_shop + auto-repair-shop + v4.8 + 512 + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + packages\BouncyCastle.Cryptography.2.5.1\lib\net461\BouncyCastle.Cryptography.dll + + + packages\Google.Protobuf.3.30.0\lib\net45\Google.Protobuf.dll + + + packages\K4os.Compression.LZ4.1.3.8\lib\net462\K4os.Compression.LZ4.dll + + + packages\K4os.Compression.LZ4.Streams.1.3.8\lib\net462\K4os.Compression.LZ4.Streams.dll + + + packages\K4os.Hash.xxHash.1.0.8\lib\net462\K4os.Hash.xxHash.dll + + + packages\Microsoft.Bcl.AsyncInterfaces.5.0.0\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll + + + packages\MySql.Data.9.3.0\lib\net48\MySql.Data.dll + + + + packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll + + + + packages\System.Configuration.ConfigurationManager.8.0.0\lib\net462\System.Configuration.ConfigurationManager.dll + + + + packages\System.Diagnostics.DiagnosticSource.8.0.1\lib\net462\System.Diagnostics.DiagnosticSource.dll + + + packages\System.IO.Pipelines.5.0.2\lib\net461\System.IO.Pipelines.dll + + + + packages\System.Memory.4.5.5\lib\net461\System.Memory.dll + + + + packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll + + + packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll + + + packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll + + + + + + + + + + + + + packages\ZstdSharp.Port.0.8.5\lib\net462\ZstdSharp.dll + + + + + Form + + + Form1.cs + + + + + Form1.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + \ No newline at end of file diff --git a/auto-repair-shop.sln b/auto-repair-shop.sln new file mode 100644 index 0000000..fd46e91 --- /dev/null +++ b/auto-repair-shop.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.8.34511.84 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "auto-repair-shop", "auto-repair-shop.csproj", "{5F8233C6-AD56-437F-80B9-9A0F64743F0D}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {5F8233C6-AD56-437F-80B9-9A0F64743F0D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5F8233C6-AD56-437F-80B9-9A0F64743F0D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5F8233C6-AD56-437F-80B9-9A0F64743F0D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5F8233C6-AD56-437F-80B9-9A0F64743F0D}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {37F80B97-6298-47A9-9652-E921D3E354B5} + EndGlobalSection +EndGlobal diff --git a/icon.ico b/icon.ico new file mode 100644 index 0000000..1ea94a9 Binary files /dev/null and b/icon.ico differ diff --git a/packages.config b/packages.config new file mode 100644 index 0000000..9777fd7 --- /dev/null +++ b/packages.config @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file