From 9675910ea1c95c2857ccd6d6d0928b5c48b87913 Mon Sep 17 00:00:00 2001 From: Ilya Date: Wed, 26 Nov 2025 11:52:04 +0400 Subject: [PATCH] Malyhin_Merkulov --- .gitattributes | 63 + .gitignore | 363 +++++ AddAdmProduct.Designer.cs | 371 +++++ AddAdmProduct.cs | 246 ++++ AddAdmProduct.resx | 123 ++ AdmAddOrder.Designer.cs | 198 +++ AdmAddOrder.cs | 146 ++ AdmAddOrder.resx | 120 ++ AdmEditOrder.Designer.cs | 143 ++ AdmEditOrder.cs | 167 +++ AdmEditOrder.resx | 120 ++ AdmEditProduct.Designer.cs | 252 ++++ AdmEditProduct.cs | 286 ++++ AdmEditProduct.resx | 123 ++ AdmMainForm.Designer.cs | 531 ++++++++ AdmMainForm.cs | 446 ++++++ AdmMainForm.resx | 120 ++ AdmOrder.Designer.cs | 143 ++ AdmOrder.cs | 99 ++ AdmOrder.resx | 120 ++ App.config | 18 + DB.cs | 30 + GuestMainForm.Designer.cs | 406 ++++++ GuestMainForm.cs | 188 +++ GuestMainForm.resx | 120 ++ Icon.ico | Bin 0 -> 147115 bytes LoginForm.Designer.cs | 171 +++ LoginForm.cs | 173 +++ LoginForm.resx | 2192 ++++++++++++++++++++++++++++++ ManagerMainForm.Designer.cs | 486 +++++++ ManagerMainForm.cs | 296 ++++ ManagerMainForm.resx | 120 ++ ManagerOrder.Designer.cs | 116 ++ ManagerOrder.cs | 70 + ManagerOrder.resx | 120 ++ Program.cs | 22 + Properties/AssemblyInfo.cs | 36 + Properties/Resources.Designer.cs | 103 ++ Properties/Resources.resx | 133 ++ Properties/Settings.Designer.cs | 30 + Properties/Settings.settings | 7 + Resources/Icon.png | Bin 0 -> 147115 bytes Resources/picture.png | Bin 0 -> 13344 bytes UserMainForm.Designer.cs | 433 ++++++ UserMainForm.cs | 193 +++ UserMainForm.resx | 120 ++ demMalyhin.csproj | 243 ++++ demMalyhin.sln | 25 + packages.config | 22 + 49 files changed, 10053 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 AddAdmProduct.Designer.cs create mode 100644 AddAdmProduct.cs create mode 100644 AddAdmProduct.resx create mode 100644 AdmAddOrder.Designer.cs create mode 100644 AdmAddOrder.cs create mode 100644 AdmAddOrder.resx create mode 100644 AdmEditOrder.Designer.cs create mode 100644 AdmEditOrder.cs create mode 100644 AdmEditOrder.resx create mode 100644 AdmEditProduct.Designer.cs create mode 100644 AdmEditProduct.cs create mode 100644 AdmEditProduct.resx create mode 100644 AdmMainForm.Designer.cs create mode 100644 AdmMainForm.cs create mode 100644 AdmMainForm.resx create mode 100644 AdmOrder.Designer.cs create mode 100644 AdmOrder.cs create mode 100644 AdmOrder.resx create mode 100644 App.config create mode 100644 DB.cs create mode 100644 GuestMainForm.Designer.cs create mode 100644 GuestMainForm.cs create mode 100644 GuestMainForm.resx create mode 100644 Icon.ico create mode 100644 LoginForm.Designer.cs create mode 100644 LoginForm.cs create mode 100644 LoginForm.resx create mode 100644 ManagerMainForm.Designer.cs create mode 100644 ManagerMainForm.cs create mode 100644 ManagerMainForm.resx create mode 100644 ManagerOrder.Designer.cs create mode 100644 ManagerOrder.cs create mode 100644 ManagerOrder.resx create mode 100644 Program.cs create mode 100644 Properties/AssemblyInfo.cs create mode 100644 Properties/Resources.Designer.cs create mode 100644 Properties/Resources.resx create mode 100644 Properties/Settings.Designer.cs create mode 100644 Properties/Settings.settings create mode 100644 Resources/Icon.png create mode 100644 Resources/picture.png create mode 100644 UserMainForm.Designer.cs create mode 100644 UserMainForm.cs create mode 100644 UserMainForm.resx create mode 100644 demMalyhin.csproj create mode 100644 demMalyhin.sln create mode 100644 packages.config diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..1ff0c42 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,63 @@ +############################################################################### +# Set default behavior to automatically normalize line endings. +############################################################################### +* text=auto + +############################################################################### +# Set default behavior for command prompt diff. +# +# This is need for earlier builds of msysgit that does not have it on by +# default for csharp files. +# Note: This is only used by command line +############################################################################### +#*.cs diff=csharp + +############################################################################### +# Set the merge driver for project and solution files +# +# Merging from the command prompt will add diff markers to the files if there +# are conflicts (Merging from VS is not affected by the settings below, in VS +# the diff markers are never inserted). Diff markers may cause the following +# file extensions to fail to load in VS. An alternative would be to treat +# these files as binary and thus will always conflict and require user +# intervention with every merge. To do so, just uncomment the entries below +############################################################################### +#*.sln merge=binary +#*.csproj merge=binary +#*.vbproj merge=binary +#*.vcxproj merge=binary +#*.vcproj merge=binary +#*.dbproj merge=binary +#*.fsproj merge=binary +#*.lsproj merge=binary +#*.wixproj merge=binary +#*.modelproj merge=binary +#*.sqlproj merge=binary +#*.wwaproj merge=binary + +############################################################################### +# behavior for image files +# +# image files are treated as binary by default. +############################################################################### +#*.jpg binary +#*.png binary +#*.gif binary + +############################################################################### +# diff behavior for common document formats +# +# Convert binary document formats to text before diffing them. This feature +# is only available from the command line. Turn it on by uncommenting the +# entries below. +############################################################################### +#*.doc diff=astextplain +#*.DOC diff=astextplain +#*.docx diff=astextplain +#*.DOCX diff=astextplain +#*.dot diff=astextplain +#*.DOT diff=astextplain +#*.pdf diff=astextplain +#*.PDF diff=astextplain +#*.rtf diff=astextplain +#*.RTF diff=astextplain diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9491a2f --- /dev/null +++ b/.gitignore @@ -0,0 +1,363 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Oo]ut/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd \ No newline at end of file diff --git a/AddAdmProduct.Designer.cs b/AddAdmProduct.Designer.cs new file mode 100644 index 0000000..aeb5200 --- /dev/null +++ b/AddAdmProduct.Designer.cs @@ -0,0 +1,371 @@ +namespace demMalyhin +{ + partial class AddAdmProduct + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.textBoxSale = new System.Windows.Forms.TextBox(); + this.textBoxUnit = new System.Windows.Forms.TextBox(); + this.textBoxPrice = new System.Windows.Forms.TextBox(); + this.textBoxDesc = new System.Windows.Forms.TextBox(); + this.textBoxName = new System.Windows.Forms.TextBox(); + this.textBoxArticle = new System.Windows.Forms.TextBox(); + this.btnAdd = new System.Windows.Forms.Button(); + this.comboBoxCategory = new System.Windows.Forms.ComboBox(); + this.comboBoxManufacturer = new System.Windows.Forms.ComboBox(); + this.textBoxQuantity = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.label4 = new System.Windows.Forms.Label(); + this.label5 = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); + this.label7 = new System.Windows.Forms.Label(); + this.label8 = new System.Windows.Forms.Label(); + this.label9 = new System.Windows.Forms.Label(); + this.label10 = new System.Windows.Forms.Label(); + this.comboBoxSupplier = new System.Windows.Forms.ComboBox(); + this.pictureBoxProductImage = new System.Windows.Forms.PictureBox(); + this.btnChooseImage = new System.Windows.Forms.Button(); + this.openFileDialogImage = new System.Windows.Forms.OpenFileDialog(); + this.label11 = new System.Windows.Forms.Label(); + this.btnBack = new System.Windows.Forms.Button(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxProductImage)).BeginInit(); + this.SuspendLayout(); + // + // textBoxSale + // + this.textBoxSale.Font = new System.Drawing.Font("Times New Roman", 9.75F); + this.textBoxSale.Location = new System.Drawing.Point(157, 219); + this.textBoxSale.Name = "textBoxSale"; + this.textBoxSale.Size = new System.Drawing.Size(194, 22); + this.textBoxSale.TabIndex = 20; + // + // textBoxUnit + // + this.textBoxUnit.Font = new System.Drawing.Font("Times New Roman", 9.75F); + this.textBoxUnit.Location = new System.Drawing.Point(157, 243); + this.textBoxUnit.Name = "textBoxUnit"; + this.textBoxUnit.Size = new System.Drawing.Size(194, 22); + this.textBoxUnit.TabIndex = 19; + // + // textBoxPrice + // + this.textBoxPrice.Font = new System.Drawing.Font("Times New Roman", 9.75F); + this.textBoxPrice.Location = new System.Drawing.Point(157, 112); + this.textBoxPrice.Name = "textBoxPrice"; + this.textBoxPrice.Size = new System.Drawing.Size(194, 22); + this.textBoxPrice.TabIndex = 18; + // + // textBoxDesc + // + this.textBoxDesc.Font = new System.Drawing.Font("Times New Roman", 9.75F); + this.textBoxDesc.Location = new System.Drawing.Point(157, 262); + this.textBoxDesc.Name = "textBoxDesc"; + this.textBoxDesc.Size = new System.Drawing.Size(194, 22); + this.textBoxDesc.TabIndex = 17; + // + // textBoxName + // + this.textBoxName.Font = new System.Drawing.Font("Times New Roman", 9.75F); + this.textBoxName.Location = new System.Drawing.Point(157, 88); + this.textBoxName.Name = "textBoxName"; + this.textBoxName.Size = new System.Drawing.Size(194, 22); + this.textBoxName.TabIndex = 16; + // + // textBoxArticle + // + this.textBoxArticle.Font = new System.Drawing.Font("Times New Roman", 9.75F); + this.textBoxArticle.Location = new System.Drawing.Point(157, 65); + this.textBoxArticle.Name = "textBoxArticle"; + this.textBoxArticle.Size = new System.Drawing.Size(194, 22); + this.textBoxArticle.TabIndex = 15; + // + // btnAdd + // + this.btnAdd.BackColor = System.Drawing.Color.MediumSpringGreen; + this.btnAdd.Font = new System.Drawing.Font("Times New Roman", 9.75F); + this.btnAdd.Location = new System.Drawing.Point(212, 486); + this.btnAdd.Name = "btnAdd"; + this.btnAdd.Size = new System.Drawing.Size(75, 23); + this.btnAdd.TabIndex = 21; + this.btnAdd.Text = "Добавить"; + this.btnAdd.UseVisualStyleBackColor = false; + this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click); + // + // comboBoxCategory + // + this.comboBoxCategory.Font = new System.Drawing.Font("Times New Roman", 9.75F); + this.comboBoxCategory.FormattingEnabled = true; + this.comboBoxCategory.Location = new System.Drawing.Point(195, 190); + this.comboBoxCategory.Name = "comboBoxCategory"; + this.comboBoxCategory.Size = new System.Drawing.Size(121, 23); + this.comboBoxCategory.TabIndex = 22; + // + // comboBoxManufacturer + // + this.comboBoxManufacturer.Font = new System.Drawing.Font("Times New Roman", 9.75F); + this.comboBoxManufacturer.FormattingEnabled = true; + this.comboBoxManufacturer.Location = new System.Drawing.Point(195, 163); + this.comboBoxManufacturer.Name = "comboBoxManufacturer"; + this.comboBoxManufacturer.Size = new System.Drawing.Size(121, 23); + this.comboBoxManufacturer.TabIndex = 24; + // + // textBoxQuantity + // + this.textBoxQuantity.Font = new System.Drawing.Font("Times New Roman", 9.75F); + this.textBoxQuantity.Location = new System.Drawing.Point(157, 285); + this.textBoxQuantity.Name = "textBoxQuantity"; + this.textBoxQuantity.Size = new System.Drawing.Size(194, 22); + this.textBoxQuantity.TabIndex = 25; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("Times New Roman", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label1.Location = new System.Drawing.Point(66, 67); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(50, 15); + this.label1.TabIndex = 26; + this.label1.Text = "артикул"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Font = new System.Drawing.Font("Times New Roman", 9.75F); + this.label2.Location = new System.Drawing.Point(54, 93); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(97, 15); + this.label2.TabIndex = 27; + this.label2.Text = "название товара"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Font = new System.Drawing.Font("Times New Roman", 9.75F); + this.label3.Location = new System.Drawing.Point(68, 119); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(33, 15); + this.label3.TabIndex = 28; + this.label3.Text = "цена"; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Font = new System.Drawing.Font("Times New Roman", 9.75F); + this.label4.Location = new System.Drawing.Point(68, 142); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(67, 15); + this.label4.TabIndex = 29; + this.label4.Text = "поставщик"; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Font = new System.Drawing.Font("Times New Roman", 9.75F); + this.label5.Location = new System.Drawing.Point(66, 169); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(89, 15); + this.label5.TabIndex = 30; + this.label5.Text = "производитель"; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Font = new System.Drawing.Font("Times New Roman", 9.75F); + this.label6.Location = new System.Drawing.Point(66, 192); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(62, 15); + this.label6.TabIndex = 31; + this.label6.Text = "категория"; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Font = new System.Drawing.Font("Times New Roman", 9.75F); + this.label7.Location = new System.Drawing.Point(66, 217); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(44, 15); + this.label7.TabIndex = 32; + this.label7.Text = "скидка"; + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Font = new System.Drawing.Font("Times New Roman", 9.75F); + this.label8.Location = new System.Drawing.Point(66, 236); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(85, 15); + this.label8.TabIndex = 33; + this.label8.Text = "ед. измерения"; + // + // label9 + // + this.label9.AutoSize = true; + this.label9.Font = new System.Drawing.Font("Times New Roman", 9.75F); + this.label9.Location = new System.Drawing.Point(68, 259); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(60, 15); + this.label9.TabIndex = 34; + this.label9.Text = "описание"; + // + // label10 + // + this.label10.AutoSize = true; + this.label10.Font = new System.Drawing.Font("Times New Roman", 9.75F); + this.label10.Location = new System.Drawing.Point(66, 285); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(69, 15); + this.label10.TabIndex = 35; + this.label10.Text = "количество"; + // + // comboBoxSupplier + // + this.comboBoxSupplier.Font = new System.Drawing.Font("Times New Roman", 9.75F); + this.comboBoxSupplier.FormattingEnabled = true; + this.comboBoxSupplier.Location = new System.Drawing.Point(195, 136); + this.comboBoxSupplier.Name = "comboBoxSupplier"; + this.comboBoxSupplier.Size = new System.Drawing.Size(121, 23); + this.comboBoxSupplier.TabIndex = 23; + // + // pictureBoxProductImage + // + this.pictureBoxProductImage.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.pictureBoxProductImage.Location = new System.Drawing.Point(85, 327); + this.pictureBoxProductImage.Name = "pictureBoxProductImage"; + this.pictureBoxProductImage.Size = new System.Drawing.Size(188, 132); + this.pictureBoxProductImage.TabIndex = 36; + this.pictureBoxProductImage.TabStop = false; + // + // btnChooseImage + // + this.btnChooseImage.BackColor = System.Drawing.Color.MediumSpringGreen; + this.btnChooseImage.Font = new System.Drawing.Font("Times New Roman", 9.75F); + this.btnChooseImage.Location = new System.Drawing.Point(289, 385); + this.btnChooseImage.Name = "btnChooseImage"; + this.btnChooseImage.Size = new System.Drawing.Size(75, 39); + this.btnChooseImage.TabIndex = 37; + this.btnChooseImage.Text = "Выбрать фото"; + this.btnChooseImage.UseVisualStyleBackColor = false; + this.btnChooseImage.Click += new System.EventHandler(this.btnChooseImage_Click); + // + // openFileDialogImage + // + this.openFileDialogImage.FileName = "openFileDialogImage"; + // + // label11 + // + this.label11.AutoSize = true; + this.label11.BackColor = System.Drawing.Color.Chartreuse; + this.label11.Font = new System.Drawing.Font("Times New Roman", 21.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label11.Location = new System.Drawing.Point(173, 9); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(162, 33); + this.label11.TabIndex = 38; + this.label11.Text = "Добавление"; + // + // btnBack + // + this.btnBack.BackColor = System.Drawing.Color.MediumSpringGreen; + this.btnBack.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.btnBack.Location = new System.Drawing.Point(376, 470); + this.btnBack.Name = "btnBack"; + this.btnBack.Size = new System.Drawing.Size(99, 39); + this.btnBack.TabIndex = 39; + this.btnBack.Text = "Назад"; + this.btnBack.UseVisualStyleBackColor = false; + this.btnBack.Click += new System.EventHandler(this.btnBack_Click); + // + // AddAdmProduct + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(487, 521); + this.Controls.Add(this.btnBack); + this.Controls.Add(this.label11); + this.Controls.Add(this.btnChooseImage); + this.Controls.Add(this.pictureBoxProductImage); + this.Controls.Add(this.label10); + this.Controls.Add(this.label9); + this.Controls.Add(this.label8); + this.Controls.Add(this.label7); + this.Controls.Add(this.label6); + this.Controls.Add(this.label5); + this.Controls.Add(this.label4); + this.Controls.Add(this.label3); + this.Controls.Add(this.label2); + this.Controls.Add(this.label1); + this.Controls.Add(this.textBoxQuantity); + this.Controls.Add(this.comboBoxManufacturer); + this.Controls.Add(this.comboBoxSupplier); + this.Controls.Add(this.comboBoxCategory); + this.Controls.Add(this.btnAdd); + this.Controls.Add(this.textBoxSale); + this.Controls.Add(this.textBoxUnit); + this.Controls.Add(this.textBoxPrice); + this.Controls.Add(this.textBoxDesc); + this.Controls.Add(this.textBoxName); + this.Controls.Add(this.textBoxArticle); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Name = "AddAdmProduct"; + this.Text = "AddAdmProduct"; + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxProductImage)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.TextBox textBoxSale; + private System.Windows.Forms.TextBox textBoxUnit; + private System.Windows.Forms.TextBox textBoxPrice; + private System.Windows.Forms.TextBox textBoxDesc; + private System.Windows.Forms.TextBox textBoxName; + private System.Windows.Forms.TextBox textBoxArticle; + private System.Windows.Forms.Button btnAdd; + private System.Windows.Forms.ComboBox comboBoxCategory; + private System.Windows.Forms.ComboBox comboBoxManufacturer; + private System.Windows.Forms.TextBox textBoxQuantity; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.Label label9; + private System.Windows.Forms.Label label10; + private System.Windows.Forms.ComboBox comboBoxSupplier; + private System.Windows.Forms.PictureBox pictureBoxProductImage; + private System.Windows.Forms.Button btnChooseImage; + private System.Windows.Forms.OpenFileDialog openFileDialogImage; + private System.Windows.Forms.Label label11; + private System.Windows.Forms.Button btnBack; + } +} \ No newline at end of file diff --git a/AddAdmProduct.cs b/AddAdmProduct.cs new file mode 100644 index 0000000..625d8f5 --- /dev/null +++ b/AddAdmProduct.cs @@ -0,0 +1,246 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using MySql.Data.MySqlClient; + +namespace demMalyhin +{ + public partial class AddAdmProduct : Form + { + private byte[] imageData = null; + + public AddAdmProduct() + { + InitializeComponent(); + LoadCategories(); + LoadManufacturers(); + LoadSuppliers(); + } + + private void LoadCategories() + { + DB db = new DB(); + DataTable categories = new DataTable(); + MySqlDataAdapter adapter = new MySqlDataAdapter(); + MySqlCommand command = new MySqlCommand("SELECT Category_name FROM Category", db.getConnection()); + + try + { + db.openConnection(); + adapter.SelectCommand = command; + adapter.Fill(categories); + + comboBoxCategory.DataSource = categories; + comboBoxCategory.DisplayMember = "Category_name"; + comboBoxCategory.ValueMember = "Category_name"; + } + catch (Exception ex) + { + MessageBox.Show("Ошибка загрузки категорий " + ex.Message); + } + finally + { + db.closeConnection(); + } + } + + private void LoadSuppliers() + { + DB db = new DB(); + DataTable suppliers = new DataTable(); + MySqlDataAdapter adapter = new MySqlDataAdapter(); + MySqlCommand command = new MySqlCommand("SELECT supplier_name FROM Supplier", db.getConnection()); + + try + { + db.openConnection(); + adapter.SelectCommand = command; + adapter.Fill(suppliers); + + comboBoxSupplier.DataSource = suppliers; + comboBoxSupplier.DisplayMember = "supplier_name"; + comboBoxSupplier.ValueMember = "supplier_name"; + } + catch (Exception ex) + { + MessageBox.Show("Ошибка загрузки категорий " + ex.Message); + } + finally + { + db.closeConnection(); + } + } + + private void LoadManufacturers() + { + DB db = new DB(); + DataTable Manufacturer = new DataTable(); + MySqlDataAdapter adapter = new MySqlDataAdapter(); + MySqlCommand command = new MySqlCommand("SELECT Manufacturer_name FROM Manufacturer", db.getConnection()); + + try + { + db.openConnection(); + adapter.SelectCommand = command; + adapter.Fill(Manufacturer); + + comboBoxManufacturer.DataSource = Manufacturer; + comboBoxManufacturer.DisplayMember = "Manufacturer_name"; + comboBoxManufacturer.ValueMember = "Manufacturer_name"; + } + catch (Exception ex) + { + MessageBox.Show("Ошибка загрузки категорий " + ex.Message); + } + finally + { + db.closeConnection(); + } + } + + private void btnChooseImage_Click(object sender, EventArgs e) + { + openFileDialogImage.Filter = "Image Files (*.png;*.jpg;*.jpeg)|*.png;*.jpg;*.jpeg"; + openFileDialogImage.Title = "Выберите изображение товара"; + + if (openFileDialogImage.ShowDialog() == DialogResult.OK) + { + try + { + string filePath = openFileDialogImage.FileName; + // Если pictureBoxProductImage еще нет, создайте его в дизайнере + if (pictureBoxProductImage != null) + { + pictureBoxProductImage.Image = Image.FromFile(filePath); + pictureBoxProductImage.SizeMode = PictureBoxSizeMode.Zoom; + } + + using (var ms = new MemoryStream()) + { + // Загружаем в MemoryStream, чтобы сохранить исходный формат + using (Image originalImage = Image.FromFile(filePath)) + { + originalImage.Save(ms, originalImage.RawFormat); + imageData = ms.ToArray(); + } + } + // Опционально: можно добавить сообщение пользователю + // MessageBox.Show("Изображение выбрано."); + } + catch (Exception ex) + { + MessageBox.Show("Ошибка при загрузке изображения: " + ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); + // Сбрасываем при ошибке + if (pictureBoxProductImage != null) pictureBoxProductImage.Image = null; + imageData = null; + } + } + } + + private async void btnAdd_Click(object sender, EventArgs e) + { + if (string.IsNullOrEmpty(textBoxName.Text) || string.IsNullOrEmpty(textBoxArticle.Text) || string.IsNullOrEmpty(textBoxPrice.Text) || string.IsNullOrEmpty(textBoxSale.Text) || string.IsNullOrEmpty(textBoxUnit.Text) || string.IsNullOrEmpty(textBoxDesc.Text) || string.IsNullOrEmpty(textBoxQuantity.Text)) + { + MessageBox.Show("Заполните все обязательные поля!"); + return; + } + + + if (!int.TryParse(textBoxQuantity.Text, out int quantity) || quantity <= 0) + { + MessageBox.Show("Пожалуйста, введите корректное значение количества"); + return; + } + + if (!decimal.TryParse(textBoxPrice.Text, out decimal price) || price <= 0) + { + MessageBox.Show("Пожалуйста введите корректное значение цены"); + return; + } + + + DB db = new DB(); + + try + { + db.openConnection(); + + string query = "INSERT INTO products (article_product, product_name, price, supplier_id, manufacturer_id, category_id, sale_percent, unit_type, description, quantity_in_stock, photo)" + + "VALUES (@article, @pr_name, @price, (SELECT id_Supplier FROM Supplier WHERE supplier_name = @sup_name), (SELECT id_Manufacturer FROM Manufacturer WHERE Manufacturer_name = @manu_name), (SELECT id_Category FROM Category WHERE Category_name = @category), @sale, @unit, @desc, @quantity, @product_photo)"; + + using (MySqlCommand command = new MySqlCommand(query, db.getConnection())) + { + + command.Parameters.AddWithValue("@article", textBoxArticle.Text); + command.Parameters.AddWithValue("@pr_name", textBoxName.Text); + command.Parameters.AddWithValue("@price", price); + command.Parameters.AddWithValue("@sup_name", comboBoxSupplier.SelectedValue.ToString()); + command.Parameters.AddWithValue("@manu_name", comboBoxManufacturer.SelectedValue.ToString()); + command.Parameters.AddWithValue("@category", comboBoxCategory.SelectedValue.ToString()); + command.Parameters.AddWithValue("@sale", textBoxSale.Text); + command.Parameters.AddWithValue("@unit", textBoxUnit.Text); + command.Parameters.AddWithValue("@desc", textBoxDesc.Text); + command.Parameters.AddWithValue("@quantity", quantity); + + if (imageData != null) + { + // Если изображение было выбрано + command.Parameters.Add(new MySqlParameter("@product_photo", MySqlDbType.MediumBlob) { Value = imageData }); + } + else + { + // Если изображение не было выбрано, записываем NULL + command.Parameters.Add(new MySqlParameter("@product_photo", MySqlDbType.MediumBlob) { Value = DBNull.Value }); + } + + + int rowsAffected = await command.ExecuteNonQueryAsync(); + + if (rowsAffected > 0) + { + MessageBox.Show("Товар успешно добавлен!"); + DialogResult = DialogResult.OK; + Close(); + } + else + { + MessageBox.Show("Ошибка при добавлении продукта."); + } + } + } + catch (MySqlException ex) + { + if (ex.Number == 1452) + { + MessageBox.Show("Указанная категория не существует. Введите допустимое название категории."); + } + else + { + MessageBox.Show("Ошибка базы данных: " + ex.Message); + } + } + catch (Exception ex) + { + MessageBox.Show("Произошла: " + ex.Message); + } + finally + { + db.closeConnection(); + } + } + + private void btnBack_Click(object sender, EventArgs e) + { + this.Close(); + AdmMainForm amf = new AdmMainForm(); + amf.Show(); + } + } +} diff --git a/AddAdmProduct.resx b/AddAdmProduct.resx new file mode 100644 index 0000000..203b438 --- /dev/null +++ b/AddAdmProduct.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 17, 17 + + \ No newline at end of file diff --git a/AdmAddOrder.Designer.cs b/AdmAddOrder.Designer.cs new file mode 100644 index 0000000..7aea60c --- /dev/null +++ b/AdmAddOrder.Designer.cs @@ -0,0 +1,198 @@ +namespace demMalyhin +{ + partial class AdmAddOrder + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.label5 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.comboBoxUser = new System.Windows.Forms.ComboBox(); + this.comboBoxPoint = new System.Windows.Forms.ComboBox(); + this.textBoxCode = new System.Windows.Forms.TextBox(); + this.textBoxDelivery = new System.Windows.Forms.TextBox(); + this.textBoxDate = new System.Windows.Forms.TextBox(); + this.label11 = new System.Windows.Forms.Label(); + this.btnAdd = new System.Windows.Forms.Button(); + this.label6 = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Font = new System.Drawing.Font("Times New Roman", 9.75F); + this.label5.Location = new System.Drawing.Point(148, 192); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(84, 15); + this.label5.TabIndex = 42; + this.label5.Text = "Пункт выдачи"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Font = new System.Drawing.Font("Times New Roman", 9.75F); + this.label3.Location = new System.Drawing.Point(70, 154); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(27, 15); + this.label3.TabIndex = 40; + this.label3.Text = "Код"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Font = new System.Drawing.Font("Times New Roman", 9.75F); + this.label2.Location = new System.Drawing.Point(12, 130); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(85, 15); + this.label2.TabIndex = 39; + this.label2.Text = "Дата доставки"; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("Times New Roman", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label1.Location = new System.Drawing.Point(27, 107); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(70, 15); + this.label1.TabIndex = 38; + this.label1.Text = "Дата заказа"; + // + // comboBoxUser + // + this.comboBoxUser.Font = new System.Drawing.Font("Times New Roman", 9.75F); + this.comboBoxUser.FormattingEnabled = true; + this.comboBoxUser.Location = new System.Drawing.Point(127, 260); + this.comboBoxUser.Name = "comboBoxUser"; + this.comboBoxUser.Size = new System.Drawing.Size(133, 23); + this.comboBoxUser.TabIndex = 37; + // + // comboBoxPoint + // + this.comboBoxPoint.Font = new System.Drawing.Font("Times New Roman", 9.75F); + this.comboBoxPoint.FormattingEnabled = true; + this.comboBoxPoint.Location = new System.Drawing.Point(127, 210); + this.comboBoxPoint.Name = "comboBoxPoint"; + this.comboBoxPoint.Size = new System.Drawing.Size(133, 23); + this.comboBoxPoint.TabIndex = 36; + // + // textBoxCode + // + this.textBoxCode.Font = new System.Drawing.Font("Times New Roman", 9.75F); + this.textBoxCode.Location = new System.Drawing.Point(103, 151); + this.textBoxCode.Name = "textBoxCode"; + this.textBoxCode.Size = new System.Drawing.Size(194, 22); + this.textBoxCode.TabIndex = 34; + // + // textBoxDelivery + // + this.textBoxDelivery.Font = new System.Drawing.Font("Times New Roman", 9.75F); + this.textBoxDelivery.Location = new System.Drawing.Point(103, 127); + this.textBoxDelivery.Name = "textBoxDelivery"; + this.textBoxDelivery.Size = new System.Drawing.Size(194, 22); + this.textBoxDelivery.TabIndex = 33; + // + // textBoxDate + // + this.textBoxDate.Font = new System.Drawing.Font("Times New Roman", 9.75F); + this.textBoxDate.Location = new System.Drawing.Point(103, 104); + this.textBoxDate.Name = "textBoxDate"; + this.textBoxDate.Size = new System.Drawing.Size(194, 22); + this.textBoxDate.TabIndex = 32; + // + // label11 + // + this.label11.AutoSize = true; + this.label11.BackColor = System.Drawing.Color.Chartreuse; + this.label11.Font = new System.Drawing.Font("Times New Roman", 21.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label11.Location = new System.Drawing.Point(121, 23); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(162, 33); + this.label11.TabIndex = 44; + this.label11.Text = "Добавление"; + // + // btnAdd + // + this.btnAdd.BackColor = System.Drawing.Color.MediumSpringGreen; + this.btnAdd.Font = new System.Drawing.Font("Times New Roman", 9.75F); + this.btnAdd.Location = new System.Drawing.Point(151, 342); + this.btnAdd.Name = "btnAdd"; + this.btnAdd.Size = new System.Drawing.Size(75, 23); + this.btnAdd.TabIndex = 45; + this.btnAdd.Text = "Добавить"; + this.btnAdd.UseVisualStyleBackColor = false; + this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click); + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Font = new System.Drawing.Font("Times New Roman", 9.75F); + this.label6.Location = new System.Drawing.Point(124, 242); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(140, 15); + this.label6.TabIndex = 47; + this.label6.Text = "Идентификатор клиента"; + // + // AdmAddOrder + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(383, 450); + this.Controls.Add(this.label6); + this.Controls.Add(this.btnAdd); + this.Controls.Add(this.label11); + this.Controls.Add(this.label5); + this.Controls.Add(this.label3); + this.Controls.Add(this.label2); + this.Controls.Add(this.label1); + this.Controls.Add(this.comboBoxUser); + this.Controls.Add(this.comboBoxPoint); + this.Controls.Add(this.textBoxCode); + this.Controls.Add(this.textBoxDelivery); + this.Controls.Add(this.textBoxDate); + this.Name = "AdmAddOrder"; + this.Text = "AdmAddOrder"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + private System.Windows.Forms.Label label5; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.ComboBox comboBoxUser; + private System.Windows.Forms.ComboBox comboBoxPoint; + private System.Windows.Forms.TextBox textBoxCode; + private System.Windows.Forms.TextBox textBoxDelivery; + private System.Windows.Forms.TextBox textBoxDate; + private System.Windows.Forms.Label label11; + private System.Windows.Forms.Button btnAdd; + private System.Windows.Forms.Label label6; + } +} \ No newline at end of file diff --git a/AdmAddOrder.cs b/AdmAddOrder.cs new file mode 100644 index 0000000..18ffd11 --- /dev/null +++ b/AdmAddOrder.cs @@ -0,0 +1,146 @@ +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 System.Windows.Forms.VisualStyles; +using MySql.Data.MySqlClient; + +namespace demMalyhin +{ + public partial class AdmAddOrder : Form + { + public AdmAddOrder() + { + InitializeComponent(); + LoadPickup(); + LoadUser(); + } + + private void LoadPickup() + { + try + { + DB db = new DB(); + using (MySqlConnection connection = db.getConnection()) + { + connection.Open(); + string query = "SELECT idpickup_points, pickup_points.index FROM pickup_points"; + using (MySqlCommand command = new MySqlCommand(query, connection)) + { + using (MySqlDataReader reader = command.ExecuteReader()) + { + DataTable categoryTable = new DataTable(); + categoryTable.Load(reader); + + comboBoxPoint.DataSource = categoryTable; + comboBoxPoint.DisplayMember = "index"; + comboBoxPoint.ValueMember = "idpickup_points"; + } + } + } + } + catch (MySqlException ex) + { + MessageBox.Show("Ошибка при загрузке категорий: " + ex.Message); + } + } + + private void LoadUser() + { + try + { + DB db = new DB(); + using (MySqlConnection connection = db.getConnection()) + { + connection.Open(); + string query = "SELECT id_users FROM users"; + using (MySqlCommand command = new MySqlCommand(query, connection)) + { + using (MySqlDataReader reader = command.ExecuteReader()) + { + DataTable userTable = new DataTable(); + userTable.Load(reader); + + comboBoxUser.DataSource = userTable; + comboBoxUser.DisplayMember = "id_users"; + comboBoxUser.ValueMember = "id_users"; + } + } + } + } + catch (MySqlException ex) + { + MessageBox.Show("Ошибка при загрузке категорий: " + ex.Message); + } + } + + private async void btnAdd_Click(object sender, EventArgs e) + { + if (string.IsNullOrEmpty(textBoxDate.Text) || string.IsNullOrEmpty(textBoxDelivery.Text) || string.IsNullOrEmpty(textBoxCode.Text)) + { + MessageBox.Show("Заполните все обязательные поля!"); + return; + } + + + + DB db = new DB(); + + try + { + db.openConnection(); + + string query = "INSERT INTO Orders (order_date, delivery_date, pickup_point_id, user_initials_id, Orders.code, orderstatus_id)" + + "VALUES (@od, @dd, @pp, (SELECT id_users FROM users WHERE id_users = @user), @code, 1)"; + + using (MySqlCommand command = new MySqlCommand(query, db.getConnection())) + { + command.Parameters.AddWithValue("@od", textBoxDate.Text); + command.Parameters.AddWithValue("@pp", comboBoxPoint.SelectedValue.ToString()); + command.Parameters.AddWithValue("@user", comboBoxUser.SelectedValue.ToString()); + command.Parameters.AddWithValue("@dd", textBoxDelivery.Text); + command.Parameters.AddWithValue("@code", textBoxCode.Text); + + + + int rowsAffected = await command.ExecuteNonQueryAsync(); + + if (rowsAffected > 0) + { + MessageBox.Show("Товар успешно добавлен!"); + DialogResult = DialogResult.OK; + Close(); + } + else + { + MessageBox.Show("Ошибка при добавлении продукта."); + } + } + } + catch (MySqlException ex) + { + if (ex.Number == 1452) + { + MessageBox.Show("Указанная категория не существует. Введите допустимое название категории."); + } + else + { + MessageBox.Show("Ошибка базы данных: " + ex.Message); + } + } + catch (Exception ex) + { + MessageBox.Show("Произошла: " + ex.Message); + } + finally + { + db.closeConnection(); + } + } + } +} diff --git a/AdmAddOrder.resx b/AdmAddOrder.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/AdmAddOrder.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/AdmEditOrder.Designer.cs b/AdmEditOrder.Designer.cs new file mode 100644 index 0000000..7ee8687 --- /dev/null +++ b/AdmEditOrder.Designer.cs @@ -0,0 +1,143 @@ +namespace demMalyhin +{ + partial class AdmEditOrder + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.textBoxId = new System.Windows.Forms.TextBox(); + this.textBoxDelivery = new System.Windows.Forms.TextBox(); + this.textBoxDate = new System.Windows.Forms.TextBox(); + this.comboBoxStatus = new System.Windows.Forms.ComboBox(); + this.comboBoxPoint = new System.Windows.Forms.ComboBox(); + this.button3 = new System.Windows.Forms.Button(); + this.label11 = new System.Windows.Forms.Label(); + this.textBoxCode = new System.Windows.Forms.TextBox(); + this.SuspendLayout(); + // + // textBoxId + // + this.textBoxId.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.textBoxId.Location = new System.Drawing.Point(94, 116); + this.textBoxId.Name = "textBoxId"; + this.textBoxId.ReadOnly = true; + this.textBoxId.Size = new System.Drawing.Size(194, 20); + this.textBoxId.TabIndex = 43; + // + // textBoxDelivery + // + this.textBoxDelivery.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.textBoxDelivery.Location = new System.Drawing.Point(94, 168); + this.textBoxDelivery.Name = "textBoxDelivery"; + this.textBoxDelivery.Size = new System.Drawing.Size(194, 20); + this.textBoxDelivery.TabIndex = 42; + // + // textBoxDate + // + this.textBoxDate.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.textBoxDate.Location = new System.Drawing.Point(94, 142); + this.textBoxDate.Name = "textBoxDate"; + this.textBoxDate.Size = new System.Drawing.Size(194, 20); + this.textBoxDate.TabIndex = 41; + // + // comboBoxStatus + // + this.comboBoxStatus.FormattingEnabled = true; + this.comboBoxStatus.Location = new System.Drawing.Point(134, 247); + this.comboBoxStatus.Name = "comboBoxStatus"; + this.comboBoxStatus.Size = new System.Drawing.Size(121, 21); + this.comboBoxStatus.TabIndex = 39; + // + // comboBoxPoint + // + this.comboBoxPoint.FormattingEnabled = true; + this.comboBoxPoint.Location = new System.Drawing.Point(134, 220); + this.comboBoxPoint.Name = "comboBoxPoint"; + this.comboBoxPoint.Size = new System.Drawing.Size(121, 21); + this.comboBoxPoint.TabIndex = 38; + // + // button3 + // + this.button3.BackColor = System.Drawing.Color.MediumSpringGreen; + this.button3.Location = new System.Drawing.Point(153, 286); + this.button3.Name = "button3"; + this.button3.Size = new System.Drawing.Size(75, 23); + this.button3.TabIndex = 44; + this.button3.Text = "Сохранить"; + this.button3.UseVisualStyleBackColor = false; + this.button3.Click += new System.EventHandler(this.button3_Click); + // + // label11 + // + this.label11.AutoSize = true; + this.label11.BackColor = System.Drawing.Color.Chartreuse; + this.label11.Font = new System.Drawing.Font("Times New Roman", 21.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label11.Location = new System.Drawing.Point(88, 46); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(213, 33); + this.label11.TabIndex = 45; + this.label11.Text = "Редактирование"; + // + // textBoxCode + // + this.textBoxCode.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.textBoxCode.Location = new System.Drawing.Point(94, 194); + this.textBoxCode.Name = "textBoxCode"; + this.textBoxCode.Size = new System.Drawing.Size(194, 20); + this.textBoxCode.TabIndex = 46; + // + // AdmEditOrder + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(395, 450); + this.Controls.Add(this.textBoxCode); + this.Controls.Add(this.label11); + this.Controls.Add(this.button3); + this.Controls.Add(this.textBoxId); + this.Controls.Add(this.textBoxDelivery); + this.Controls.Add(this.textBoxDate); + this.Controls.Add(this.comboBoxStatus); + this.Controls.Add(this.comboBoxPoint); + this.Name = "AdmEditOrder"; + this.Text = "AdmEditOrder"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.TextBox textBoxId; + private System.Windows.Forms.TextBox textBoxDelivery; + private System.Windows.Forms.TextBox textBoxDate; + private System.Windows.Forms.ComboBox comboBoxStatus; + private System.Windows.Forms.ComboBox comboBoxPoint; + private System.Windows.Forms.Button button3; + private System.Windows.Forms.Label label11; + private System.Windows.Forms.TextBox textBoxCode; + } +} \ No newline at end of file diff --git a/AdmEditOrder.cs b/AdmEditOrder.cs new file mode 100644 index 0000000..152c237 --- /dev/null +++ b/AdmEditOrder.cs @@ -0,0 +1,167 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.Windows.Forms.VisualStyles; +using MySql.Data.MySqlClient; + +namespace demMalyhin +{ + public partial class AdmEditOrder : Form + { + private string productId; + public AdmEditOrder(string productId) + { + InitializeComponent(); + LoadProductData(productId); + LoadPickup(); + LoadStatus(); + } + + private void LoadProductData(string productId) + { + try + { + DB db = new DB(); + using (MySqlConnection connection = db.getConnection()) + { + connection.Open(); + string query = "SELECT order_date, delivery_date, pickup_point_id, user_initials_id, code, orderstatus_id FROM Orders WHERE id_Orders = @id"; + using (MySqlCommand command = new MySqlCommand(query, connection)) + { + command.Parameters.AddWithValue("@id", productId); + using (MySqlDataReader reader = command.ExecuteReader()) + { + if (reader.Read()) + { + textBoxId.Text = productId; + textBoxDate.Text = reader["order_date"].ToString(); + textBoxDelivery.Text = reader["delivery_date"].ToString(); + comboBoxPoint.Text = reader["pickup_point_id"].ToString(); + textBoxCode.Text = reader["code"].ToString(); + comboBoxStatus.Text = reader["orderstatus_id"].ToString(); + } + else + { + MessageBox.Show("Продукт с указанным ID не найден."); + this.DialogResult = DialogResult.Cancel; + this.Close(); + } + } + } + } + } + catch (MySqlException ex) + { + MessageBox.Show("Ошибка при загрузке данных продукта: " + ex.Message); + } + } + + private void LoadPickup() + { + try + { + DB db = new DB(); + using (MySqlConnection connection = db.getConnection()) + { + connection.Open(); + string query = "SELECT idpickup_points, pickup_points.index FROM pickup_points"; + using (MySqlCommand command = new MySqlCommand(query, connection)) + { + using (MySqlDataReader reader = command.ExecuteReader()) + { + DataTable categoryTable = new DataTable(); + categoryTable.Load(reader); + + comboBoxPoint.DataSource = categoryTable; + comboBoxPoint.DisplayMember = "index"; + comboBoxPoint.ValueMember = "idpickup_points"; + } + } + } + } + catch (MySqlException ex) + { + MessageBox.Show("Ошибка при загрузке категорий: " + ex.Message); + } + } + + private void LoadStatus() + { + try + { + DB db = new DB(); + using (MySqlConnection connection = db.getConnection()) + { + connection.Open(); + string query = "SELECT id_OrderStatus, status_name FROM OrderStatus"; + using (MySqlCommand command = new MySqlCommand(query, connection)) + { + using (MySqlDataReader reader = command.ExecuteReader()) + { + DataTable statusTable = new DataTable(); + statusTable.Load(reader); + + comboBoxStatus.DataSource = statusTable; + comboBoxStatus.DisplayMember = "status_name"; + comboBoxStatus.ValueMember = "id_OrderStatus"; + } + } + } + } + catch (MySqlException ex) + { + MessageBox.Show("Ошибка при загрузке категорий: " + ex.Message); + } + } + + private void button3_Click(object sender, EventArgs e) + { + try + { + + object supplierId = comboBoxStatus.SelectedValue; + object manufacturerId = comboBoxPoint.SelectedValue; + + DB db = new DB(); + using (MySqlConnection connection = db.getConnection()) + { + connection.Open(); + string query = "UPDATE Orders SET order_date = @od, delivery_date = @dd, pickup_point_id = @point, orderstatus_id = @status, Orders.code = @code WHERE id_Orders = @id"; + using (MySqlCommand command = new MySqlCommand(query, connection)) + { + command.Parameters.AddWithValue("@id", textBoxId.Text); + command.Parameters.AddWithValue("@od", textBoxDate.Text); + command.Parameters.AddWithValue("@dd", textBoxDelivery.Text); + command.Parameters.AddWithValue("@code", textBoxCode.Text); + command.Parameters.AddWithValue("@status", supplierId); + command.Parameters.AddWithValue("@point", manufacturerId); + + + int rowsAffected = command.ExecuteNonQuery(); + if (rowsAffected > 0) + { + MessageBox.Show("Данные продукта успешно обновлены."); + this.DialogResult = DialogResult.OK; + this.Close(); + } + else + { + MessageBox.Show("Не удалось обновить данные продукта."); + } + } + } + } + catch (MySqlException ex) + { + MessageBox.Show("Ошибка при сохранении данных продукта: " + ex.Message); + } + } + } +} diff --git a/AdmEditOrder.resx b/AdmEditOrder.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/AdmEditOrder.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/AdmEditProduct.Designer.cs b/AdmEditProduct.Designer.cs new file mode 100644 index 0000000..ef3a085 --- /dev/null +++ b/AdmEditProduct.Designer.cs @@ -0,0 +1,252 @@ +namespace demMalyhin +{ + partial class AdmEditProduct + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.comboBoxSupplier = new System.Windows.Forms.ComboBox(); + this.comboBoxCategory = new System.Windows.Forms.ComboBox(); + this.comboBoxManufacturer = new System.Windows.Forms.ComboBox(); + this.textBoxPrice = new System.Windows.Forms.TextBox(); + this.textBoxName = new System.Windows.Forms.TextBox(); + this.pictureBoxEditProduct = new System.Windows.Forms.PictureBox(); + this.button1 = new System.Windows.Forms.Button(); + this.button2 = new System.Windows.Forms.Button(); + this.openFileDialogImage = new System.Windows.Forms.OpenFileDialog(); + this.button3 = new System.Windows.Forms.Button(); + this.textBoxArticle = new System.Windows.Forms.TextBox(); + this.label11 = new System.Windows.Forms.Label(); + this.textBoxDesc = new System.Windows.Forms.TextBox(); + this.textBoxUnit = new System.Windows.Forms.TextBox(); + this.textBoxQuantity = new System.Windows.Forms.TextBox(); + this.textBoxSale = new System.Windows.Forms.TextBox(); + this.btnBack = new System.Windows.Forms.Button(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxEditProduct)).BeginInit(); + this.SuspendLayout(); + // + // comboBoxSupplier + // + this.comboBoxSupplier.FormattingEnabled = true; + this.comboBoxSupplier.Location = new System.Drawing.Point(193, 151); + this.comboBoxSupplier.Name = "comboBoxSupplier"; + this.comboBoxSupplier.Size = new System.Drawing.Size(121, 21); + this.comboBoxSupplier.TabIndex = 0; + // + // comboBoxCategory + // + this.comboBoxCategory.FormattingEnabled = true; + this.comboBoxCategory.Location = new System.Drawing.Point(193, 205); + this.comboBoxCategory.Name = "comboBoxCategory"; + this.comboBoxCategory.Size = new System.Drawing.Size(121, 21); + this.comboBoxCategory.TabIndex = 1; + // + // comboBoxManufacturer + // + this.comboBoxManufacturer.FormattingEnabled = true; + this.comboBoxManufacturer.Location = new System.Drawing.Point(193, 178); + this.comboBoxManufacturer.Name = "comboBoxManufacturer"; + this.comboBoxManufacturer.Size = new System.Drawing.Size(121, 21); + this.comboBoxManufacturer.TabIndex = 2; + // + // textBoxPrice + // + this.textBoxPrice.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.textBoxPrice.Location = new System.Drawing.Point(153, 125); + this.textBoxPrice.Name = "textBoxPrice"; + this.textBoxPrice.Size = new System.Drawing.Size(194, 20); + this.textBoxPrice.TabIndex = 29; + // + // textBoxName + // + this.textBoxName.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.textBoxName.Location = new System.Drawing.Point(153, 99); + this.textBoxName.Name = "textBoxName"; + this.textBoxName.Size = new System.Drawing.Size(194, 20); + this.textBoxName.TabIndex = 27; + // + // pictureBoxEditProduct + // + this.pictureBoxEditProduct.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.pictureBoxEditProduct.Location = new System.Drawing.Point(113, 347); + this.pictureBoxEditProduct.Name = "pictureBoxEditProduct"; + this.pictureBoxEditProduct.Size = new System.Drawing.Size(162, 111); + this.pictureBoxEditProduct.TabIndex = 33; + this.pictureBoxEditProduct.TabStop = false; + // + // button1 + // + this.button1.BackColor = System.Drawing.Color.MediumSpringGreen; + this.button1.Location = new System.Drawing.Point(281, 347); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(75, 37); + this.button1.TabIndex = 34; + this.button1.Text = "Удалить фото"; + this.button1.UseVisualStyleBackColor = false; + this.button1.Click += new System.EventHandler(this.btnEditRemoveImage_Click); + // + // button2 + // + this.button2.BackColor = System.Drawing.Color.MediumSpringGreen; + this.button2.Location = new System.Drawing.Point(281, 390); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(75, 47); + this.button2.TabIndex = 35; + this.button2.Text = "Изменить фото"; + this.button2.UseVisualStyleBackColor = false; + this.button2.Click += new System.EventHandler(this.btnEditChooseImage_Click); + // + // openFileDialogImage + // + this.openFileDialogImage.FileName = "openFileDialog1"; + // + // button3 + // + this.button3.BackColor = System.Drawing.Color.MediumSpringGreen; + this.button3.Location = new System.Drawing.Point(227, 468); + this.button3.Name = "button3"; + this.button3.Size = new System.Drawing.Size(75, 23); + this.button3.TabIndex = 36; + this.button3.Text = "Сохранить"; + this.button3.UseVisualStyleBackColor = false; + this.button3.Click += new System.EventHandler(this.btnSave_Click); + // + // textBoxArticle + // + this.textBoxArticle.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.textBoxArticle.Location = new System.Drawing.Point(153, 73); + this.textBoxArticle.Name = "textBoxArticle"; + this.textBoxArticle.ReadOnly = true; + this.textBoxArticle.Size = new System.Drawing.Size(194, 20); + this.textBoxArticle.TabIndex = 37; + // + // label11 + // + this.label11.AutoSize = true; + this.label11.BackColor = System.Drawing.Color.Chartreuse; + this.label11.Font = new System.Drawing.Font("Times New Roman", 21.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label11.Location = new System.Drawing.Point(143, 9); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(213, 33); + this.label11.TabIndex = 39; + this.label11.Text = "Редактирование"; + // + // textBoxDesc + // + this.textBoxDesc.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.textBoxDesc.Location = new System.Drawing.Point(153, 285); + this.textBoxDesc.Name = "textBoxDesc"; + this.textBoxDesc.Size = new System.Drawing.Size(194, 20); + this.textBoxDesc.TabIndex = 28; + // + // textBoxUnit + // + this.textBoxUnit.Font = new System.Drawing.Font("Times New Roman", 8.25F); + this.textBoxUnit.Location = new System.Drawing.Point(153, 262); + this.textBoxUnit.Name = "textBoxUnit"; + this.textBoxUnit.Size = new System.Drawing.Size(194, 20); + this.textBoxUnit.TabIndex = 30; + // + // textBoxQuantity + // + this.textBoxQuantity.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.textBoxQuantity.Location = new System.Drawing.Point(153, 311); + this.textBoxQuantity.Name = "textBoxQuantity"; + this.textBoxQuantity.Size = new System.Drawing.Size(194, 20); + this.textBoxQuantity.TabIndex = 32; + // + // textBoxSale + // + this.textBoxSale.Font = new System.Drawing.Font("Times New Roman", 8.25F); + this.textBoxSale.Location = new System.Drawing.Point(153, 243); + this.textBoxSale.Name = "textBoxSale"; + this.textBoxSale.Size = new System.Drawing.Size(194, 20); + this.textBoxSale.TabIndex = 31; + // + // btnBack + // + this.btnBack.BackColor = System.Drawing.Color.MediumSpringGreen; + this.btnBack.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.btnBack.Location = new System.Drawing.Point(391, 461); + this.btnBack.Name = "btnBack"; + this.btnBack.Size = new System.Drawing.Size(99, 39); + this.btnBack.TabIndex = 40; + this.btnBack.Text = "Назад"; + this.btnBack.UseVisualStyleBackColor = false; + this.btnBack.Click += new System.EventHandler(this.btnBack_Click); + // + // AdmEditProduct + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(502, 510); + this.Controls.Add(this.btnBack); + this.Controls.Add(this.label11); + this.Controls.Add(this.textBoxArticle); + this.Controls.Add(this.button3); + this.Controls.Add(this.button2); + this.Controls.Add(this.button1); + this.Controls.Add(this.pictureBoxEditProduct); + this.Controls.Add(this.textBoxQuantity); + this.Controls.Add(this.textBoxSale); + this.Controls.Add(this.textBoxUnit); + this.Controls.Add(this.textBoxPrice); + this.Controls.Add(this.textBoxDesc); + this.Controls.Add(this.textBoxName); + this.Controls.Add(this.comboBoxManufacturer); + this.Controls.Add(this.comboBoxCategory); + this.Controls.Add(this.comboBoxSupplier); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Name = "AdmEditProduct"; + this.Text = "AdmEditProduct"; + this.Load += new System.EventHandler(this.AdmEditProduct_Load); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxEditProduct)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.ComboBox comboBoxSupplier; + private System.Windows.Forms.ComboBox comboBoxCategory; + private System.Windows.Forms.ComboBox comboBoxManufacturer; + private System.Windows.Forms.TextBox textBoxPrice; + private System.Windows.Forms.TextBox textBoxName; + private System.Windows.Forms.PictureBox pictureBoxEditProduct; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.Button button2; + private System.Windows.Forms.OpenFileDialog openFileDialogImage; + private System.Windows.Forms.Button button3; + private System.Windows.Forms.TextBox textBoxArticle; + private System.Windows.Forms.Label label11; + private System.Windows.Forms.TextBox textBoxDesc; + private System.Windows.Forms.TextBox textBoxUnit; + private System.Windows.Forms.TextBox textBoxQuantity; + private System.Windows.Forms.TextBox textBoxSale; + private System.Windows.Forms.Button btnBack; + } +} \ No newline at end of file diff --git a/AdmEditProduct.cs b/AdmEditProduct.cs new file mode 100644 index 0000000..9e0caf5 --- /dev/null +++ b/AdmEditProduct.cs @@ -0,0 +1,286 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using MySql.Data.MySqlClient; + +namespace demMalyhin +{ + public partial class AdmEditProduct : Form + { + private string productId; + + private byte[] imageData = null; + + public AdmEditProduct(string productId) + { + InitializeComponent(); + LoadSuppliers(); + LoadCategories(); + LoadManufacturers(); + LoadProductData(productId); + + } + + private void LoadProductData(string productId) + { + try + { + DB db = new DB(); + using (MySqlConnection connection = db.getConnection()) + { + connection.Open(); + string query = "SELECT product_name, category_id, supplier_id, manufacturer_id, price, quantity_in_stock, description, unit_type, sale_percent, photo FROM products WHERE article_product = @id"; + using (MySqlCommand command = new MySqlCommand(query, connection)) + { + command.Parameters.AddWithValue("@id", productId); + using (MySqlDataReader reader = command.ExecuteReader()) + { + if (reader.Read()) + { + textBoxArticle.Text = productId; + textBoxName.Text = reader["product_name"].ToString(); + comboBoxCategory.Text = reader["category_id"].ToString(); + comboBoxSupplier.Text = reader["supplier_id"].ToString(); + comboBoxManufacturer.Text = reader["manufacturer_id"].ToString(); + textBoxPrice.Text = reader["price"].ToString(); + textBoxQuantity.Text = reader["quantity_in_stock"].ToString(); + textBoxDesc.Text = reader["description"].ToString(); + textBoxUnit.Text = reader["unit_type"].ToString(); + textBoxSale.Text = reader["sale_percent"].ToString(); + } + else + { + MessageBox.Show("Продукт с указанным ID не найден."); + this.DialogResult = DialogResult.Cancel; + this.Close(); + } + if (reader["photo"] != DBNull.Value) + { + // Загружаем данные изображения из базы данных в класс-уровневую переменную imageData + this.imageData = (byte[])reader["photo"]; + using (MemoryStream ms = new MemoryStream(this.imageData)) + { + pictureBoxEditProduct.Image = Image.FromStream(ms); + pictureBoxEditProduct.SizeMode = PictureBoxSizeMode.Zoom; + } + } + else + { + this.imageData = null; // Убеждаемся, что imageData обнуляется, если фото нет + pictureBoxEditProduct.Image = null; // Или устанавливаем стандартную заглушку + // pictureBoxEditProduct.Image = Properties.Resources.picture; + } + } + } + } + } + catch (MySqlException ex) + { + MessageBox.Show("Ошибка при загрузке данных продукта: " + ex.Message); + } + } + + private void btnEditChooseImage_Click(object sender, EventArgs e) + { + openFileDialogImage.Filter = "Image Files (*.png;*.jpg;*.jpeg)|*.png;*.jpg;*.jpeg"; + openFileDialogImage.Title = "Выберите новое изображение товара"; + + if (openFileDialogImage.ShowDialog() == DialogResult.OK) + { + try + { + string filePath = openFileDialogImage.FileName; + pictureBoxEditProduct.Image = Image.FromFile(filePath); + pictureBoxEditProduct.SizeMode = PictureBoxSizeMode.Zoom; + + using (var ms = new MemoryStream()) + { + using (Image originalImage = Image.FromFile(filePath)) + { + originalImage.Save(ms, originalImage.RawFormat); + imageData = ms.ToArray(); + } + } + } + catch (Exception ex) + { + MessageBox.Show("Ошибка при загрузке изображения: " + ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); + pictureBoxEditProduct.Image = null; + imageData = null; + } + } + } + + private void btnEditRemoveImage_Click(object sender, EventArgs e) + { + pictureBoxEditProduct.Image = null; + imageData = null; + } + + private void btnSave_Click(object sender, EventArgs e) + { + try + { + + object supplierId = comboBoxSupplier.SelectedValue; + object manufacturerId = comboBoxManufacturer.SelectedValue; + object categoryId = comboBoxCategory.SelectedValue; + + DB db = new DB(); + using (MySqlConnection connection = db.getConnection()) + { + connection.Open(); + string query = "UPDATE products SET product_name = @pr_name, category_id = @category_id, manufacturer_id = @manufacturer_id, unit_type = @unit, quantity_in_stock = @quantity, price = @price, supplier_id = @supplier_id, description = @desc, photo = @product_photo, sale_percent = @sale WHERE article_product = @id"; + using (MySqlCommand command = new MySqlCommand(query, connection)) + { + command.Parameters.AddWithValue("@id", textBoxArticle.Text); + command.Parameters.AddWithValue("@pr_name", textBoxName.Text); + command.Parameters.AddWithValue("@desc", textBoxDesc.Text); + command.Parameters.AddWithValue("@sale", textBoxSale.Text); + command.Parameters.AddWithValue("@unit", textBoxUnit.Text); + command.Parameters.AddWithValue("@quantity", textBoxQuantity.Text); + command.Parameters.AddWithValue("@price", Convert.ToDecimal(textBoxPrice.Text)); + command.Parameters.AddWithValue("@supplier_id", supplierId); + command.Parameters.AddWithValue("@manufacturer_id", manufacturerId); + command.Parameters.AddWithValue("@category_id", categoryId); + + if (imageData != null) + { + // Если изображение было выбрано или изменено + command.Parameters.Add(new MySqlParameter("@product_photo", MySqlDbType.MediumBlob) { Value = imageData }); + } + else + { + // Если изображение удалено или не было выбрано + command.Parameters.Add(new MySqlParameter("@product_photo", MySqlDbType.MediumBlob) { Value = imageData }); + } + + int rowsAffected = command.ExecuteNonQuery(); + if (rowsAffected > 0) + { + MessageBox.Show("Данные продукта успешно обновлены."); + this.DialogResult = DialogResult.OK; + this.Close(); + } + else + { + MessageBox.Show("Не удалось обновить данные продукта."); + } + } + } + } + catch (MySqlException ex) + { + MessageBox.Show("Ошибка при сохранении данных продукта: " + ex.Message); + } + } + + private void LoadCategories() + { + try + { + DB db = new DB(); + using (MySqlConnection connection = db.getConnection()) + { + connection.Open(); + string query = "SELECT id_Category, Category_name FROM Category"; + using (MySqlCommand command = new MySqlCommand(query, connection)) + { + using (MySqlDataReader reader = command.ExecuteReader()) + { + DataTable categoryTable = new DataTable(); + categoryTable.Load(reader); + + comboBoxCategory.DataSource = categoryTable; + comboBoxCategory.DisplayMember = "Category_name"; + comboBoxCategory.ValueMember = "id_Category"; + } + } + } + } + catch (MySqlException ex) + { + MessageBox.Show("Ошибка при загрузке категорий: " + ex.Message); + } + } + + private void LoadSuppliers() + { + try + { + DB db = new DB(); + using (MySqlConnection connection = db.getConnection()) + { + connection.Open(); + string query = "SELECT id_Supplier, supplier_name FROM Supplier"; + using (MySqlCommand command = new MySqlCommand(query, connection)) + { + using (MySqlDataReader reader = command.ExecuteReader()) + { + DataTable suppTable = new DataTable(); + suppTable.Load(reader); + + comboBoxSupplier.DataSource = suppTable; + comboBoxSupplier.DisplayMember = "supplier_name"; + comboBoxSupplier.ValueMember = "id_Supplier"; + } + } + } + } + catch (MySqlException ex) + { + MessageBox.Show("Ошибка при загрузке категорий: " + ex.Message); + } + } + + private void LoadManufacturers() + { + try + { + DB db = new DB(); + using (MySqlConnection connection = db.getConnection()) + { + connection.Open(); + string query = "SELECT id_Manufacturer, Manufacturer_name FROM Manufacturer"; + using (MySqlCommand command = new MySqlCommand(query, connection)) + { + using (MySqlDataReader reader = command.ExecuteReader()) + { + DataTable manuTable = new DataTable(); + manuTable.Load(reader); + + comboBoxManufacturer.DataSource = manuTable; + comboBoxManufacturer.DisplayMember = "Manufacturer_name"; + comboBoxManufacturer.ValueMember = "id_Manufacturer"; + } + } + } + } + catch (MySqlException ex) + { + MessageBox.Show("Ошибка при загрузке категорий: " + ex.Message); + } + } + + private void AdmEditProduct_Load(object sender, EventArgs e) + { + + } + + private void btnBack_Click(object sender, EventArgs e) + { + this.Close(); + AdmMainForm amf = new AdmMainForm(); + amf.Show(); + } + } + + +} diff --git a/AdmEditProduct.resx b/AdmEditProduct.resx new file mode 100644 index 0000000..203b438 --- /dev/null +++ b/AdmEditProduct.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 17, 17 + + \ No newline at end of file diff --git a/AdmMainForm.Designer.cs b/AdmMainForm.Designer.cs new file mode 100644 index 0000000..611180d --- /dev/null +++ b/AdmMainForm.Designer.cs @@ -0,0 +1,531 @@ +namespace demMalyhin +{ + partial class AdmMainForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.label1 = new System.Windows.Forms.Label(); + this.labelFIO = new System.Windows.Forms.Label(); + this.btnBack = new System.Windows.Forms.Button(); + this.label2 = new System.Windows.Forms.Label(); + this.panel1 = new System.Windows.Forms.Panel(); + this.panel3 = new System.Windows.Forms.Panel(); + this.label4 = new System.Windows.Forms.Label(); + this.SaleLabel = new System.Windows.Forms.Label(); + this.panel2 = new System.Windows.Forms.Panel(); + this.textBoxFP = new System.Windows.Forms.TextBox(); + this.textBoxStock = new System.Windows.Forms.TextBox(); + this.textBoxUnit = new System.Windows.Forms.TextBox(); + this.textBoxPrice = new System.Windows.Forms.TextBox(); + this.textBoxSup = new System.Windows.Forms.TextBox(); + this.textBoxManuf = new System.Windows.Forms.TextBox(); + this.textBoxDesc = new System.Windows.Forms.TextBox(); + this.label3 = new System.Windows.Forms.Label(); + this.StockLabel = new System.Windows.Forms.Label(); + this.label9 = new System.Windows.Forms.Label(); + this.PriceLabel = new System.Windows.Forms.Label(); + this.SupplierLabel = new System.Windows.Forms.Label(); + this.ManufacturerLabel = new System.Windows.Forms.Label(); + this.DescriptionLabel = new System.Windows.Forms.Label(); + this.NameLabel = new System.Windows.Forms.Label(); + this.CategoryLabel = new System.Windows.Forms.Label(); + this.pictureBoxPhoto = new System.Windows.Forms.PictureBox(); + this.DataGridViewProduct = new System.Windows.Forms.DataGridView(); + this.textBoxSearch = new System.Windows.Forms.TextBox(); + this.comboBoxSort = new System.Windows.Forms.ComboBox(); + this.comboBoxFilter = new System.Windows.Forms.ComboBox(); + this.button1 = new System.Windows.Forms.Button(); + this.button2 = new System.Windows.Forms.Button(); + this.btnDelete = new System.Windows.Forms.Button(); + this.OrdersBtn = new System.Windows.Forms.Button(); + this.btnExit = new System.Windows.Forms.Button(); + this.panel1.SuspendLayout(); + this.panel3.SuspendLayout(); + this.panel2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxPhoto)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.DataGridViewProduct)).BeginInit(); + this.SuspendLayout(); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.BackColor = System.Drawing.Color.Chartreuse; + this.label1.Font = new System.Drawing.Font("Times New Roman", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label1.Location = new System.Drawing.Point(586, 9); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(90, 15); + this.label1.TabIndex = 0; + this.label1.Text = "ФИО Клиента -"; + // + // labelFIO + // + this.labelFIO.AutoSize = true; + this.labelFIO.Font = new System.Drawing.Font("Times New Roman", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.labelFIO.Location = new System.Drawing.Point(676, 9); + this.labelFIO.Name = "labelFIO"; + this.labelFIO.Size = new System.Drawing.Size(0, 15); + this.labelFIO.TabIndex = 1; + // + // btnBack + // + this.btnBack.BackColor = System.Drawing.Color.MediumSpringGreen; + this.btnBack.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.btnBack.Location = new System.Drawing.Point(28, 538); + this.btnBack.Name = "btnBack"; + this.btnBack.Size = new System.Drawing.Size(99, 39); + this.btnBack.TabIndex = 3; + this.btnBack.Text = "Главное меню"; + this.btnBack.UseVisualStyleBackColor = false; + this.btnBack.Click += new System.EventHandler(this.btnBack_Click); + // + // label2 + // + this.label2.AutoSize = true; + this.label2.BackColor = System.Drawing.Color.Chartreuse; + this.label2.Font = new System.Drawing.Font("Times New Roman", 21.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label2.Location = new System.Drawing.Point(258, 9); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(313, 33); + this.label2.TabIndex = 4; + this.label2.Text = "Каталог администратора"; + // + // panel1 + // + this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel1.Controls.Add(this.panel3); + this.panel1.Controls.Add(this.panel2); + this.panel1.Controls.Add(this.pictureBoxPhoto); + this.panel1.Location = new System.Drawing.Point(28, 314); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(789, 218); + this.panel1.TabIndex = 5; + // + // panel3 + // + this.panel3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel3.Controls.Add(this.label4); + this.panel3.Controls.Add(this.SaleLabel); + this.panel3.Location = new System.Drawing.Point(623, 14); + this.panel3.Name = "panel3"; + this.panel3.Size = new System.Drawing.Size(142, 189); + this.panel3.TabIndex = 2; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label4.Location = new System.Drawing.Point(29, 51); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(73, 28); + this.label4.TabIndex = 4; + this.label4.Text = "Действующая\r\nскидка"; + this.label4.TextAlign = System.Drawing.ContentAlignment.TopCenter; + // + // SaleLabel + // + this.SaleLabel.AutoSize = true; + this.SaleLabel.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.SaleLabel.Location = new System.Drawing.Point(53, 87); + this.SaleLabel.Name = "SaleLabel"; + this.SaleLabel.Size = new System.Drawing.Size(0, 14); + this.SaleLabel.TabIndex = 2; + // + // panel2 + // + this.panel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel2.Controls.Add(this.textBoxFP); + this.panel2.Controls.Add(this.textBoxStock); + this.panel2.Controls.Add(this.textBoxUnit); + this.panel2.Controls.Add(this.textBoxPrice); + this.panel2.Controls.Add(this.textBoxSup); + this.panel2.Controls.Add(this.textBoxManuf); + this.panel2.Controls.Add(this.textBoxDesc); + this.panel2.Controls.Add(this.label3); + this.panel2.Controls.Add(this.StockLabel); + this.panel2.Controls.Add(this.label9); + this.panel2.Controls.Add(this.PriceLabel); + this.panel2.Controls.Add(this.SupplierLabel); + this.panel2.Controls.Add(this.ManufacturerLabel); + this.panel2.Controls.Add(this.DescriptionLabel); + this.panel2.Controls.Add(this.NameLabel); + this.panel2.Controls.Add(this.CategoryLabel); + this.panel2.Location = new System.Drawing.Point(212, 14); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(395, 189); + this.panel2.TabIndex = 1; + // + // textBoxFP + // + this.textBoxFP.Font = new System.Drawing.Font("Times New Roman", 8.25F); + this.textBoxFP.Location = new System.Drawing.Point(247, 113); + this.textBoxFP.Name = "textBoxFP"; + this.textBoxFP.ReadOnly = true; + this.textBoxFP.Size = new System.Drawing.Size(95, 20); + this.textBoxFP.TabIndex = 15; + // + // textBoxStock + // + this.textBoxStock.Font = new System.Drawing.Font("Times New Roman", 8.25F); + this.textBoxStock.Location = new System.Drawing.Point(148, 158); + this.textBoxStock.Name = "textBoxStock"; + this.textBoxStock.ReadOnly = true; + this.textBoxStock.Size = new System.Drawing.Size(194, 20); + this.textBoxStock.TabIndex = 14; + // + // textBoxUnit + // + this.textBoxUnit.Font = new System.Drawing.Font("Times New Roman", 8.25F); + this.textBoxUnit.Location = new System.Drawing.Point(148, 135); + this.textBoxUnit.Name = "textBoxUnit"; + this.textBoxUnit.ReadOnly = true; + this.textBoxUnit.Size = new System.Drawing.Size(194, 20); + this.textBoxUnit.TabIndex = 13; + // + // textBoxPrice + // + this.textBoxPrice.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.textBoxPrice.Location = new System.Drawing.Point(148, 113); + this.textBoxPrice.Name = "textBoxPrice"; + this.textBoxPrice.ReadOnly = true; + this.textBoxPrice.Size = new System.Drawing.Size(95, 20); + this.textBoxPrice.TabIndex = 12; + // + // textBoxSup + // + this.textBoxSup.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.textBoxSup.Location = new System.Drawing.Point(148, 87); + this.textBoxSup.Name = "textBoxSup"; + this.textBoxSup.ReadOnly = true; + this.textBoxSup.Size = new System.Drawing.Size(194, 20); + this.textBoxSup.TabIndex = 11; + // + // textBoxManuf + // + this.textBoxManuf.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.textBoxManuf.Location = new System.Drawing.Point(148, 64); + this.textBoxManuf.Name = "textBoxManuf"; + this.textBoxManuf.ReadOnly = true; + this.textBoxManuf.Size = new System.Drawing.Size(194, 20); + this.textBoxManuf.TabIndex = 10; + // + // textBoxDesc + // + this.textBoxDesc.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.textBoxDesc.Location = new System.Drawing.Point(148, 41); + this.textBoxDesc.Name = "textBoxDesc"; + this.textBoxDesc.ReadOnly = true; + this.textBoxDesc.Size = new System.Drawing.Size(194, 20); + this.textBoxDesc.TabIndex = 9; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label3.Location = new System.Drawing.Point(131, 14); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(11, 15); + this.label3.TabIndex = 8; + this.label3.Text = "I"; + // + // StockLabel + // + this.StockLabel.AutoSize = true; + this.StockLabel.BackColor = System.Drawing.Color.Chartreuse; + this.StockLabel.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.StockLabel.Location = new System.Drawing.Point(14, 158); + this.StockLabel.Name = "StockLabel"; + this.StockLabel.Size = new System.Drawing.Size(112, 14); + this.StockLabel.TabIndex = 7; + this.StockLabel.Text = "Количество на складе:"; + // + // label9 + // + this.label9.AutoSize = true; + this.label9.BackColor = System.Drawing.Color.Chartreuse; + this.label9.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label9.Location = new System.Drawing.Point(21, 135); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(104, 14); + this.label9.TabIndex = 6; + this.label9.Text = "Единица измерения:"; + // + // PriceLabel + // + this.PriceLabel.AutoSize = true; + this.PriceLabel.BackColor = System.Drawing.Color.Chartreuse; + this.PriceLabel.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.PriceLabel.Location = new System.Drawing.Point(57, 113); + this.PriceLabel.Name = "PriceLabel"; + this.PriceLabel.Size = new System.Drawing.Size(69, 14); + this.PriceLabel.TabIndex = 5; + this.PriceLabel.Text = "Цена товара:"; + // + // SupplierLabel + // + this.SupplierLabel.AutoSize = true; + this.SupplierLabel.BackColor = System.Drawing.Color.Chartreuse; + this.SupplierLabel.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.SupplierLabel.Location = new System.Drawing.Point(63, 90); + this.SupplierLabel.Name = "SupplierLabel"; + this.SupplierLabel.Size = new System.Drawing.Size(63, 14); + this.SupplierLabel.TabIndex = 4; + this.SupplierLabel.Text = "Поставщик:"; + // + // ManufacturerLabel + // + this.ManufacturerLabel.AutoSize = true; + this.ManufacturerLabel.BackColor = System.Drawing.Color.Chartreuse; + this.ManufacturerLabel.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.ManufacturerLabel.Location = new System.Drawing.Point(44, 67); + this.ManufacturerLabel.Name = "ManufacturerLabel"; + this.ManufacturerLabel.Size = new System.Drawing.Size(82, 14); + this.ManufacturerLabel.TabIndex = 3; + this.ManufacturerLabel.Text = "Производитель:"; + // + // DescriptionLabel + // + this.DescriptionLabel.AutoSize = true; + this.DescriptionLabel.BackColor = System.Drawing.Color.Chartreuse; + this.DescriptionLabel.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.DescriptionLabel.Location = new System.Drawing.Point(34, 44); + this.DescriptionLabel.Name = "DescriptionLabel"; + this.DescriptionLabel.Size = new System.Drawing.Size(92, 14); + this.DescriptionLabel.TabIndex = 2; + this.DescriptionLabel.Text = "Описание товара:"; + // + // NameLabel + // + this.NameLabel.AutoSize = true; + this.NameLabel.BackColor = System.Drawing.Color.Chartreuse; + this.NameLabel.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.NameLabel.Location = new System.Drawing.Point(157, 16); + this.NameLabel.Name = "NameLabel"; + this.NameLabel.Size = new System.Drawing.Size(112, 14); + this.NameLabel.TabIndex = 1; + this.NameLabel.Text = "Наименование товара"; + // + // CategoryLabel + // + this.CategoryLabel.AutoSize = true; + this.CategoryLabel.BackColor = System.Drawing.Color.Chartreuse; + this.CategoryLabel.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.CategoryLabel.Location = new System.Drawing.Point(19, 16); + this.CategoryLabel.Name = "CategoryLabel"; + this.CategoryLabel.Size = new System.Drawing.Size(92, 14); + this.CategoryLabel.TabIndex = 0; + this.CategoryLabel.Text = "Категория товара"; + // + // pictureBoxPhoto + // + this.pictureBoxPhoto.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.pictureBoxPhoto.Location = new System.Drawing.Point(17, 14); + this.pictureBoxPhoto.Name = "pictureBoxPhoto"; + this.pictureBoxPhoto.Size = new System.Drawing.Size(174, 189); + this.pictureBoxPhoto.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.pictureBoxPhoto.TabIndex = 0; + this.pictureBoxPhoto.TabStop = false; + // + // DataGridViewProduct + // + this.DataGridViewProduct.AllowUserToAddRows = false; + this.DataGridViewProduct.AllowUserToDeleteRows = false; + this.DataGridViewProduct.AllowUserToOrderColumns = true; + this.DataGridViewProduct.AllowUserToResizeColumns = false; + this.DataGridViewProduct.AllowUserToResizeRows = false; + this.DataGridViewProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.DataGridViewProduct.Location = new System.Drawing.Point(70, 85); + this.DataGridViewProduct.Name = "DataGridViewProduct"; + this.DataGridViewProduct.ReadOnly = true; + this.DataGridViewProduct.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; + this.DataGridViewProduct.Size = new System.Drawing.Size(691, 223); + this.DataGridViewProduct.TabIndex = 6; + this.DataGridViewProduct.Click += new System.EventHandler(this.dataGridViewProd_Click); + // + // textBoxSearch + // + this.textBoxSearch.BackColor = System.Drawing.Color.MediumSpringGreen; + this.textBoxSearch.Location = new System.Drawing.Point(28, 59); + this.textBoxSearch.Name = "textBoxSearch"; + this.textBoxSearch.Size = new System.Drawing.Size(455, 20); + this.textBoxSearch.TabIndex = 7; + this.textBoxSearch.TextChanged += new System.EventHandler(this.textBoxSearch_TextChanged); + // + // comboBoxSort + // + this.comboBoxSort.BackColor = System.Drawing.Color.MediumSpringGreen; + this.comboBoxSort.FormattingEnabled = true; + this.comboBoxSort.Location = new System.Drawing.Point(489, 59); + this.comboBoxSort.Name = "comboBoxSort"; + this.comboBoxSort.Size = new System.Drawing.Size(160, 21); + this.comboBoxSort.TabIndex = 8; + this.comboBoxSort.SelectedIndexChanged += new System.EventHandler(this.comboBoxSort_SelectedIndexChanged); + // + // comboBoxFilter + // + this.comboBoxFilter.BackColor = System.Drawing.Color.MediumSpringGreen; + this.comboBoxFilter.FormattingEnabled = true; + this.comboBoxFilter.Location = new System.Drawing.Point(657, 59); + this.comboBoxFilter.Name = "comboBoxFilter"; + this.comboBoxFilter.Size = new System.Drawing.Size(160, 21); + this.comboBoxFilter.TabIndex = 9; + this.comboBoxFilter.SelectedIndexChanged += new System.EventHandler(this.comboBoxFilter_SelectedIndexChanged); + // + // button1 + // + this.button1.BackColor = System.Drawing.Color.MediumSpringGreen; + this.button1.Font = new System.Drawing.Font("Times New Roman", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.button1.Location = new System.Drawing.Point(241, 537); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(99, 39); + this.button1.TabIndex = 10; + this.button1.Text = "Добавить"; + this.button1.UseVisualStyleBackColor = false; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // button2 + // + this.button2.BackColor = System.Drawing.Color.MediumSpringGreen; + this.button2.Font = new System.Drawing.Font("Times New Roman", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.button2.Location = new System.Drawing.Point(370, 537); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(141, 39); + this.button2.TabIndex = 11; + this.button2.Text = "Редактировать"; + this.button2.UseVisualStyleBackColor = false; + this.button2.Click += new System.EventHandler(this.button2_Click); + // + // btnDelete + // + this.btnDelete.BackColor = System.Drawing.Color.MediumSpringGreen; + this.btnDelete.Font = new System.Drawing.Font("Times New Roman", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.btnDelete.Location = new System.Drawing.Point(537, 538); + this.btnDelete.Name = "btnDelete"; + this.btnDelete.Size = new System.Drawing.Size(99, 39); + this.btnDelete.TabIndex = 12; + this.btnDelete.Text = "Удалить"; + this.btnDelete.UseVisualStyleBackColor = false; + this.btnDelete.Click += new System.EventHandler(this.btnDelete_Click); + // + // OrdersBtn + // + this.OrdersBtn.BackColor = System.Drawing.Color.MediumSpringGreen; + this.OrdersBtn.Font = new System.Drawing.Font("Times New Roman", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.OrdersBtn.Location = new System.Drawing.Point(718, 538); + this.OrdersBtn.Name = "OrdersBtn"; + this.OrdersBtn.Size = new System.Drawing.Size(99, 39); + this.OrdersBtn.TabIndex = 13; + this.OrdersBtn.Text = "Заказы"; + this.OrdersBtn.UseVisualStyleBackColor = false; + this.OrdersBtn.Click += new System.EventHandler(this.OrdersBtn_Click); + // + // btnExit + // + this.btnExit.BackColor = System.Drawing.Color.MediumSpringGreen; + this.btnExit.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnExit.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btnExit.Location = new System.Drawing.Point(12, 5); + this.btnExit.Name = "btnExit"; + this.btnExit.Size = new System.Drawing.Size(24, 23); + this.btnExit.TabIndex = 14; + this.btnExit.Text = "X"; + this.btnExit.UseVisualStyleBackColor = false; + this.btnExit.Click += new System.EventHandler(this.btnExit_Click); + // + // AdmMainForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(840, 589); + this.Controls.Add(this.btnExit); + this.Controls.Add(this.OrdersBtn); + this.Controls.Add(this.btnDelete); + this.Controls.Add(this.button2); + this.Controls.Add(this.button1); + this.Controls.Add(this.comboBoxFilter); + this.Controls.Add(this.comboBoxSort); + this.Controls.Add(this.textBoxSearch); + this.Controls.Add(this.DataGridViewProduct); + this.Controls.Add(this.panel1); + this.Controls.Add(this.label2); + this.Controls.Add(this.btnBack); + this.Controls.Add(this.labelFIO); + this.Controls.Add(this.label1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Name = "AdmMainForm"; + this.Text = "6"; + this.Load += new System.EventHandler(this.AdmMainForm_Load); + this.panel1.ResumeLayout(false); + this.panel3.ResumeLayout(false); + this.panel3.PerformLayout(); + this.panel2.ResumeLayout(false); + this.panel2.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxPhoto)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.DataGridViewProduct)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label labelFIO; + private System.Windows.Forms.Button btnBack; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Panel panel3; + private System.Windows.Forms.Panel panel2; + private System.Windows.Forms.PictureBox pictureBoxPhoto; + private System.Windows.Forms.DataGridView DataGridViewProduct; + private System.Windows.Forms.Label StockLabel; + private System.Windows.Forms.Label label9; + private System.Windows.Forms.Label PriceLabel; + private System.Windows.Forms.Label SupplierLabel; + private System.Windows.Forms.Label ManufacturerLabel; + private System.Windows.Forms.Label DescriptionLabel; + private System.Windows.Forms.Label NameLabel; + private System.Windows.Forms.Label CategoryLabel; + private System.Windows.Forms.TextBox textBoxStock; + private System.Windows.Forms.TextBox textBoxUnit; + private System.Windows.Forms.TextBox textBoxPrice; + private System.Windows.Forms.TextBox textBoxSup; + private System.Windows.Forms.TextBox textBoxManuf; + private System.Windows.Forms.TextBox textBoxDesc; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label SaleLabel; + private System.Windows.Forms.TextBox textBoxFP; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.TextBox textBoxSearch; + private System.Windows.Forms.ComboBox comboBoxSort; + private System.Windows.Forms.ComboBox comboBoxFilter; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.Button button2; + private System.Windows.Forms.Button btnDelete; + private System.Windows.Forms.Button OrdersBtn; + private System.Windows.Forms.Button btnExit; + } +} \ No newline at end of file diff --git a/AdmMainForm.cs b/AdmMainForm.cs new file mode 100644 index 0000000..fd0bdea --- /dev/null +++ b/AdmMainForm.cs @@ -0,0 +1,446 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Data.Common; +using System.Diagnostics.Eventing.Reader; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using MySql.Data.MySqlClient; +using static System.Windows.Forms.VisualStyles.VisualStyleElement; + +namespace demMalyhin +{ + public partial class AdmMainForm : Form + { + private MySqlDataAdapter dataAdapter; + private DataTable prodTable; + private BindingSource bindingSource = new BindingSource(); + + public AdmMainForm() + { + InitializeComponent(); + LoadProdData(); + LoadSortOptions(); + LoadFilterOptions(); + } + + private void LoadProdData() // загрузка данных в дгв + { + try + { + DB db = new DB(); + using (MySqlConnection connection = db.getConnection()) + { + connection.Open(); + string query = "SELECT article_product AS `Артикул`, product_name AS `Название товара`, price AS `Цена`, supplier_name AS `Поставщик`, Manufacturer_name AS `Производитель`, Category_name AS `Категория`, sale_percent AS `Скидка`, unit_type AS `Единица измерения`, description AS `описание`, quantity_in_stock AS `Количество на складе`, photo AS `фото` FROM products LEFT JOIN Category ON products.category_id = Category.id_Category JOIN Supplier ON products.supplier_id = Supplier.id_Supplier JOIN Manufacturer ON products.manufacturer_id = Manufacturer.id_Manufacturer"; + + dataAdapter = new MySqlDataAdapter(query, connection); + prodTable = new DataTable(); + dataAdapter.Fill(prodTable); + DataGridViewProduct.RowTemplate.Height = 60; + bindingSource.DataSource = prodTable; + DataGridViewProduct.DataSource = bindingSource; + DataGridViewProduct.AllowUserToAddRows = false; + DataGridViewProduct.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells; + DataGridViewProduct.ReadOnly = true; // настройки дгв + + } + } + catch (MySqlException ex) + { + MessageBox.Show("Ошибка при подключении к базе данных или выполнении запроса: " + ex.Message); + } + catch (Exception ex) + { + MessageBox.Show("Произошла общая ошибка: " + ex.Message); + } + + } + + private void dataGridViewProd_Click(object sender, EventArgs e) + { + textBoxDesc.Text = DataGridViewProduct.CurrentRow.Cells[8].Value.ToString(); + textBoxManuf.Text = DataGridViewProduct.CurrentRow.Cells[4].Value.ToString(); + textBoxSup.Text = DataGridViewProduct.CurrentRow.Cells[3].Value.ToString(); + textBoxPrice.Text = DataGridViewProduct.CurrentRow.Cells[2].Value.ToString(); + textBoxUnit.Text = DataGridViewProduct.CurrentRow.Cells[7].Value.ToString(); + textBoxStock.Text = DataGridViewProduct.CurrentRow.Cells[9].Value.ToString(); + NameLabel.Text = DataGridViewProduct.CurrentRow.Cells[1].Value.ToString(); + CategoryLabel.Text = DataGridViewProduct.CurrentRow.Cells[5].Value.ToString(); + SaleLabel.Text = DataGridViewProduct.CurrentRow.Cells[6].Value.ToString() + "%"; + + try + { + object photoData = DataGridViewProduct.CurrentRow.Cells[10].Value; + if (photoData != DBNull.Value) + { + byte[] imageData = (byte[])photoData; + if (imageData != null && imageData.Length > 0) + { + using (MemoryStream ms = new MemoryStream(imageData)) + { + pictureBoxPhoto.Image = Image.FromStream(ms); + pictureBoxPhoto.SizeMode = PictureBoxSizeMode.Zoom; + } + } + else + { + pictureBoxPhoto.Image = Properties.Resources.picture; + pictureBoxPhoto.SizeMode = PictureBoxSizeMode.Zoom; + } + } + else + { + pictureBoxPhoto.Image = Properties.Resources.picture; + pictureBoxPhoto.SizeMode = PictureBoxSizeMode.Zoom; + } + } + catch (Exception ex) + { + MessageBox.Show("Ошибка при загрузке изображения: " + ex.Message); + pictureBoxPhoto.Image = Properties.Resources.picture; + pictureBoxPhoto.SizeMode = PictureBoxSizeMode.Zoom; + } + try + { + var currentRow = DataGridViewProduct.CurrentRow; + if (currentRow == null) return; + + Color defaultColor = SystemColors.Window; + textBoxPrice.BackColor = defaultColor; + textBoxSup.BackColor = defaultColor; + textBoxManuf.BackColor = defaultColor; + textBoxStock.BackColor = defaultColor; + textBoxPrice.ForeColor = Color.Black; + textBoxPrice.Font = new Font(textBoxPrice.Font, FontStyle.Regular); + textBoxFP.Text = ""; + decimal originalPrice = 0m; + int salePercent = 0; + int quantityInStock = 0; + + decimal.TryParse(currentRow.Cells[2].Value?.ToString(), out originalPrice); + int.TryParse(currentRow.Cells[6].Value?.ToString(), out salePercent); + int.TryParse(currentRow.Cells[9].Value?.ToString(), out quantityInStock); + + if (salePercent > 15) + { + Color highDiscountColor = ColorTranslator.FromHtml("#2E8B57"); + textBoxPrice.BackColor = highDiscountColor; + textBoxSup.BackColor = highDiscountColor; + textBoxManuf.BackColor = highDiscountColor; + textBoxStock.BackColor = highDiscountColor; + textBoxDesc.BackColor = highDiscountColor; + textBoxFP.BackColor = highDiscountColor; + textBoxUnit.BackColor = highDiscountColor; + panel3.BackColor = highDiscountColor; + + } + + else + { + textBoxPrice.BackColor = Color.White; + textBoxSup.BackColor = Color.White; + textBoxManuf.BackColor = Color.White; + textBoxStock.BackColor = Color.White; + textBoxDesc.BackColor = Color.White; + textBoxFP.BackColor = Color.White; + textBoxUnit.BackColor = Color.White; + panel3.BackColor = Color.White; + } + + if (salePercent > 0) + { + decimal finalPrice = originalPrice * (1 - (decimal)salePercent / 100); + textBoxPrice.Text = $"{originalPrice:N2}"; + textBoxPrice.ForeColor = Color.Red; + textBoxPrice.Font = new Font(textBoxPrice.Font, FontStyle.Strikeout); + textBoxFP.Text = $"{finalPrice:N2}"; + textBoxFP.ForeColor = Color.Black; + textBoxFP.Font = new Font(textBoxFP.Font, FontStyle.Regular); + } + else + { + textBoxPrice.Text = $"{originalPrice:N2}"; + } + if (quantityInStock <= 0) + { + textBoxStock.BackColor = Color.LightBlue; + } + + } + catch (Exception ex) + { + MessageBox.Show("Ошибка при обработке данных товара: " + ex.Message); + } + } + + private void LoadSortOptions() + { + comboBoxSort.Items.Add("По умолчанию"); + comboBoxSort.Items.Add("Название (А-Я)"); + comboBoxSort.Items.Add("Название (Я-А)"); + comboBoxSort.Items.Add("Цена (возрастающая)"); + comboBoxSort.Items.Add("Цена (убывающая)"); + + comboBoxSort.SelectedIndex = 0; + } + + private void comboBoxSort_SelectedIndexChanged(object sender, EventArgs e) + { + string sortOption = comboBoxSort.SelectedItem.ToString(); + + switch (sortOption) + { + case "По умолчанию": + bindingSource.Sort = ""; + break; + case "Название (А-Я)": + bindingSource.Sort = "Название товара ASC"; + break; + case "Название (Я-А)": + bindingSource.Sort = "Название товара DESC"; + break; + case "Цена (возрастающая)": + bindingSource.Sort = "Цена ASC"; + break; + case "Цена (убывающая)": + bindingSource.Sort = "Цена DESC"; + break; + } + + } + + private void LoadFilterOptions() + { + comboBoxFilter.Items.Add("По умолчанию"); + comboBoxFilter.Items.Add("Мужская обувь"); + comboBoxFilter.Items.Add("Женская обувь"); + + comboBoxSort.SelectedIndex = 0; + + } + + private void comboBoxFilter_SelectedIndexChanged(object sender, EventArgs e) + { + string filterOption = comboBoxFilter.SelectedItem.ToString().Trim(); + + switch (filterOption) + { + case "По умолчанию": + bindingSource.Filter = ""; + break; + + case "Мужская обувь": + bindingSource.Filter = "[Категория] = 'Мужская обувь'"; + break; + + case "Женская обувь": + bindingSource.Filter = "[Категория] = 'Женская обувь'"; + break; + + default: + bindingSource.Filter = ""; + break; + } + } + + private void textBoxSearch_TextChanged(object sender, EventArgs e) + { + string searchText = textBoxSearch.Text.Trim(); + + if (string.IsNullOrEmpty(searchText)) + { + bindingSource.Filter = ""; + } + else + { + string s = searchText.Replace("'", "''"); + string pattern = string.Format("%{0}%", s); + + bindingSource.Filter = string.Format( + "[Артикул] LIKE '{0}' OR [Название товара] LIKE '{0}' OR [Поставщик] LIKE '{0}' OR [Производитель] LIKE '{0}' OR [Категория] LIKE '{0}' OR [Единица измерения] LIKE '{0}' OR " + + "Convert([Цена], 'System.String') LIKE '{0}' OR Convert([Скидка], 'System.String') LIKE '{0}' OR Convert([Количество на складе], 'System.String') LIKE '{0}'", + pattern); + } + } + + private void AdmMainForm_Load(object sender, EventArgs e) + { + labelFIO.Text = LoginForm.ClientSurname + " " + LoginForm.ClientName + " " + LoginForm.ClientPatronymic; + } + + private void btnBack_Click(object sender, EventArgs e) + { + this.Hide(); + LoginForm log = new LoginForm(); + log.Show(); + } + + private void button1_Click(object sender, EventArgs e) + { + this.Hide(); + AddAdmProduct addProductForm = new AddAdmProduct(); + DialogResult result = addProductForm.ShowDialog(); + if (result == DialogResult.OK) + { + LoadProdData(); + } + } + + private void button2_Click(object sender, EventArgs e) + { + if (DataGridViewProduct.SelectedRows.Count > 0) + { + string articleToEdit = Convert.ToString(DataGridViewProduct.SelectedRows[0].Cells["Артикул"].Value); + + this.Hide(); + + AdmEditProduct editProductForm = new AdmEditProduct(articleToEdit); + + DialogResult result = editProductForm.ShowDialog(); + + + if (result == DialogResult.OK) + { + LoadProdData(); + } + } + else + { + MessageBox.Show("Пожалуйста, выберите строку для редактирования."); + } + } + + private void btnDelete_Click(object sender, EventArgs e) + { + if (DataGridViewProduct.SelectedRows.Count > 0) + { + int rowIndex = DataGridViewProduct.SelectedRows[0].Index; + + string idToDelete = Convert.ToString(DataGridViewProduct.SelectedRows[0].Cells["Артикул"].Value); + + if (IsProductInOrders(idToDelete)) + { + MessageBox.Show( + "Невозможно удалить товар, так как он участвует в существующих заказах.", + "Предупреждение", + MessageBoxButtons.OK, + MessageBoxIcon.Warning + ); + return; // Прекращаем выполнение, если товар найден в заказах + } + + DialogResult result = MessageBox.Show( + "Вы действительно хотите удалить товар с артикулом '" + idToDelete + "'?", + "Подтверждение удаления", + MessageBoxButtons.YesNo, + MessageBoxIcon.Question // Используем иконку вопроса + ); + + // Проверяем, нажал ли пользователь "Да" + if (result == DialogResult.Yes) + { + // Если пользователь подтвердил, вызываем метод удаления + DeleteData(idToDelete); + } + + + } + else + { + MessageBox.Show("Пожалуйста, выберите строку для удаления."); + } + } + private void DeleteData(string idToDelete) + { + try + { + DB db = new DB(); + using (MySqlConnection connection = db.getConnection()) + { + connection.Open(); + string query = "DELETE FROM products WHERE article_product = @art"; + using (MySqlCommand command = new MySqlCommand(query, connection)) + { + command.Parameters.AddWithValue("@art", idToDelete); + + int rowsAffected = command.ExecuteNonQuery(); + + if (rowsAffected > 0) + { + MessageBox.Show("Запись успешно удалена."); + LoadProdData(); + } + else + { + MessageBox.Show("Не удалось удалить запись."); + } + } + } + } + catch (MySqlException ex) + { + MessageBox.Show("Ошибка при подключении к базе данных или выполнении запроса удаления: " + ex.Message); + } + catch (Exception ex) + { + MessageBox.Show("Произошла общая ошибка при удалении: " + ex.Message); + } + } + + private bool IsProductInOrders(string productArticle) + { + try + { + DB db = new DB(); + using (MySqlConnection connection = db.getConnection()) + { + connection.Open(); + // Предполагаем, что в таблице orderitems столбец с артикулом товара называется 'product_article' + string query = "SELECT COUNT(*) FROM OrderItems WHERE product_article = @art"; + using (MySqlCommand command = new MySqlCommand(query, connection)) + { + command.Parameters.AddWithValue("@art", productArticle); + + // ExecuteScalar возвращает первый столбец первой строки в результирующем наборе + // или null, если результирующий набор пуст. + // В нашем случае, COUNT(*) всегда вернет число. + long count = (long)command.ExecuteScalar(); + + return count > 0; // Если count > 0, значит товар участвует в заказах + } + } + } + catch (MySqlException ex) + { + MessageBox.Show("Ошибка при проверке наличия товара в заказах: " + ex.Message, "Ошибка базы данных", MessageBoxButtons.OK, MessageBoxIcon.Error); + return true; // Возвращаем true, чтобы предотвратить удаление при ошибке, для безопасности + } + catch (Exception ex) + { + MessageBox.Show("Произошла общая ошибка при проверке наличия товара в заказах: " + ex.Message, "Общая ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); + return true; // Возвращаем true, чтобы предотвратить удаление при ошибке, для безопасности + } + } + + private void OrdersBtn_Click(object sender, EventArgs e) + { + this.Hide(); + AdmOrder ao = new AdmOrder(); + ao.Show(); + } + + private void btnExit_Click(object sender, EventArgs e) + { + Application.Exit(); + } + } +} + + + diff --git a/AdmMainForm.resx b/AdmMainForm.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/AdmMainForm.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/AdmOrder.Designer.cs b/AdmOrder.Designer.cs new file mode 100644 index 0000000..6339bfa --- /dev/null +++ b/AdmOrder.Designer.cs @@ -0,0 +1,143 @@ +namespace demMalyhin +{ + partial class AdmOrder + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.btnDelete = new System.Windows.Forms.Button(); + this.button2 = new System.Windows.Forms.Button(); + this.button1 = new System.Windows.Forms.Button(); + this.DataGridViewProduct = new System.Windows.Forms.DataGridView(); + this.label2 = new System.Windows.Forms.Label(); + this.btnBack = new System.Windows.Forms.Button(); + ((System.ComponentModel.ISupportInitialize)(this.DataGridViewProduct)).BeginInit(); + this.SuspendLayout(); + // + // btnDelete + // + this.btnDelete.BackColor = System.Drawing.Color.MediumSpringGreen; + this.btnDelete.Font = new System.Drawing.Font("Times New Roman", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.btnDelete.Location = new System.Drawing.Point(501, 483); + this.btnDelete.Name = "btnDelete"; + this.btnDelete.Size = new System.Drawing.Size(99, 39); + this.btnDelete.TabIndex = 25; + this.btnDelete.Text = "Удалить"; + this.btnDelete.UseVisualStyleBackColor = false; + // + // button2 + // + this.button2.BackColor = System.Drawing.Color.MediumSpringGreen; + this.button2.Font = new System.Drawing.Font("Times New Roman", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.button2.Location = new System.Drawing.Point(354, 483); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(141, 39); + this.button2.TabIndex = 24; + this.button2.Text = "Редактировать"; + this.button2.UseVisualStyleBackColor = false; + this.button2.Click += new System.EventHandler(this.button2_Click); + // + // button1 + // + this.button1.BackColor = System.Drawing.Color.MediumSpringGreen; + this.button1.Font = new System.Drawing.Font("Times New Roman", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.button1.Location = new System.Drawing.Point(248, 483); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(99, 39); + this.button1.TabIndex = 23; + this.button1.Text = "Добавить"; + this.button1.UseVisualStyleBackColor = false; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // DataGridViewProduct + // + this.DataGridViewProduct.AllowUserToAddRows = false; + this.DataGridViewProduct.AllowUserToDeleteRows = false; + this.DataGridViewProduct.AllowUserToOrderColumns = true; + this.DataGridViewProduct.AllowUserToResizeColumns = false; + this.DataGridViewProduct.AllowUserToResizeRows = false; + this.DataGridViewProduct.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells; + this.DataGridViewProduct.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.AllCells; + this.DataGridViewProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.DataGridViewProduct.Location = new System.Drawing.Point(66, 52); + this.DataGridViewProduct.Name = "DataGridViewProduct"; + this.DataGridViewProduct.ReadOnly = true; + this.DataGridViewProduct.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; + this.DataGridViewProduct.Size = new System.Drawing.Size(691, 425); + this.DataGridViewProduct.TabIndex = 19; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.BackColor = System.Drawing.Color.Chartreuse; + this.label2.Font = new System.Drawing.Font("Times New Roman", 21.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label2.Location = new System.Drawing.Point(254, 4); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(301, 33); + this.label2.TabIndex = 17; + this.label2.Text = "Заказы администратора"; + // + // btnBack + // + this.btnBack.BackColor = System.Drawing.Color.MediumSpringGreen; + this.btnBack.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.btnBack.Location = new System.Drawing.Point(86, 483); + this.btnBack.Name = "btnBack"; + this.btnBack.Size = new System.Drawing.Size(99, 39); + this.btnBack.TabIndex = 16; + this.btnBack.Text = "Каталог"; + this.btnBack.UseVisualStyleBackColor = false; + this.btnBack.Click += new System.EventHandler(this.btnBack_Click); + // + // AdmOrder + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(846, 532); + this.Controls.Add(this.btnDelete); + this.Controls.Add(this.button2); + this.Controls.Add(this.button1); + this.Controls.Add(this.DataGridViewProduct); + this.Controls.Add(this.label2); + this.Controls.Add(this.btnBack); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Name = "AdmOrder"; + this.Text = "AdmOrder"; + ((System.ComponentModel.ISupportInitialize)(this.DataGridViewProduct)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + private System.Windows.Forms.Button btnDelete; + private System.Windows.Forms.Button button2; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.DataGridView DataGridViewProduct; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Button btnBack; + } +} \ No newline at end of file diff --git a/AdmOrder.cs b/AdmOrder.cs new file mode 100644 index 0000000..8db3d5b --- /dev/null +++ b/AdmOrder.cs @@ -0,0 +1,99 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Data.Common; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using MySql.Data.MySqlClient; + +namespace demMalyhin +{ + public partial class AdmOrder : Form + { + private MySqlDataAdapter dataAdapter; + private DataTable prodTable; + private BindingSource bindingSource = new BindingSource(); + public AdmOrder() + { + InitializeComponent(); + LoadProdData(); + } + + private void LoadProdData() // загрузка данных в дгв + { + try + { + DB db = new DB(); + using (MySqlConnection connection = db.getConnection()) + { + connection.Open(); + string query = "SELECT id_Orders AS `Идентификатор`, order_date AS `Дата заказа`, delivery_date AS `Дата доставки`, pickup_points.index AS `Почтовый индекс`, pickup_points.street AS `Улица`, pickup_points.city AS `Город`, pickup_points.house_number AS `Номер здания`, users.Surname AS `Фамилия клиента`, users.Name AS `Имя клиента`, users.Patronymic AS `Отчество`, Orders.code AS `Код заказа`, OrderStatus.status_name AS `Статус заказа` FROM Orders LEFT JOIN pickup_points ON Orders.pickup_point_id = pickup_points.idpickup_points JOIN users ON Orders.user_initials_id = users.id_users JOIN OrderStatus ON Orders.orderstatus_id = OrderStatus.id_OrderStatus"; + + dataAdapter = new MySqlDataAdapter(query, connection); + prodTable = new DataTable(); + dataAdapter.Fill(prodTable); + DataGridViewProduct.RowTemplate.Height = 60; + bindingSource.DataSource = prodTable; + DataGridViewProduct.DataSource = bindingSource; + DataGridViewProduct.AllowUserToAddRows = false; + DataGridViewProduct.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells; + DataGridViewProduct.ReadOnly = true; // настройки дгв + + } + } + catch (MySqlException ex) + { + MessageBox.Show("Ошибка при подключении к базе данных или выполнении запроса: " + ex.Message); + } + catch (Exception ex) + { + MessageBox.Show("Произошла общая ошибка: " + ex.Message); + } + + } + + private void button1_Click(object sender, EventArgs e) + { + AdmAddOrder addProductForm = new AdmAddOrder(); + DialogResult result = addProductForm.ShowDialog(); + if (result == DialogResult.OK) + { + LoadProdData(); + } + } + + private void button2_Click(object sender, EventArgs e) + { + if (DataGridViewProduct.SelectedRows.Count > 0) + { + string articleToEdit = Convert.ToString(DataGridViewProduct.SelectedRows[0].Cells["Идентификатор"].Value); + + + AdmEditOrder editProductForm = new AdmEditOrder(articleToEdit); + + DialogResult result = editProductForm.ShowDialog(); + + + if (result == DialogResult.OK) + { + LoadProdData(); + } + } + else + { + MessageBox.Show("Пожалуйста, выберите строку для редактирования."); + } + } + + private void btnBack_Click(object sender, EventArgs e) + { + this.Close(); + AdmMainForm mainForm = new AdmMainForm(); + mainForm.Show(); + } + } +} diff --git a/AdmOrder.resx b/AdmOrder.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/AdmOrder.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/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/DB.cs b/DB.cs new file mode 100644 index 0000000..4531bd2 --- /dev/null +++ b/DB.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.Data.SqlClient; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using MySql.Data.MySqlClient; + +namespace demMalyhin +{ + internal class DB + { + MySqlConnection connection = new MySqlConnection("server=cfif31.ru;port=3306;username=ISPr25-21_MalykhinID;password=ISPr25-21_MalykhinID;database=ISPr25-21_MalykhinID_shoestore"); + + public void openConnection() + { + if (connection.State == System.Data.ConnectionState.Closed) + connection.Open(); + } + public void closeConnection() + { + if (connection.State == System.Data.ConnectionState.Open) + connection.Close(); + } + public MySqlConnection getConnection() + { + return connection; + } + } +} diff --git a/GuestMainForm.Designer.cs b/GuestMainForm.Designer.cs new file mode 100644 index 0000000..948b2a1 --- /dev/null +++ b/GuestMainForm.Designer.cs @@ -0,0 +1,406 @@ +namespace demMalyhin +{ + partial class GuestMainForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.DataGridViewProduct = new System.Windows.Forms.DataGridView(); + this.panel1 = new System.Windows.Forms.Panel(); + this.panel3 = new System.Windows.Forms.Panel(); + this.label4 = new System.Windows.Forms.Label(); + this.SaleLabel = new System.Windows.Forms.Label(); + this.panel2 = new System.Windows.Forms.Panel(); + this.textBoxFP = new System.Windows.Forms.TextBox(); + this.textBoxStock = new System.Windows.Forms.TextBox(); + this.textBoxUnit = new System.Windows.Forms.TextBox(); + this.textBoxPrice = new System.Windows.Forms.TextBox(); + this.textBoxSup = new System.Windows.Forms.TextBox(); + this.textBoxManuf = new System.Windows.Forms.TextBox(); + this.textBoxDesc = new System.Windows.Forms.TextBox(); + this.label3 = new System.Windows.Forms.Label(); + this.StockLabel = new System.Windows.Forms.Label(); + this.label9 = new System.Windows.Forms.Label(); + this.PriceLabel = new System.Windows.Forms.Label(); + this.SupplierLabel = new System.Windows.Forms.Label(); + this.ManufacturerLabel = new System.Windows.Forms.Label(); + this.DescriptionLabel = new System.Windows.Forms.Label(); + this.NameLabel = new System.Windows.Forms.Label(); + this.CategoryLabel = new System.Windows.Forms.Label(); + this.pictureBoxPhoto = new System.Windows.Forms.PictureBox(); + this.btnBack = new System.Windows.Forms.Button(); + this.btnExit = new System.Windows.Forms.Button(); + this.label11 = new System.Windows.Forms.Label(); + ((System.ComponentModel.ISupportInitialize)(this.DataGridViewProduct)).BeginInit(); + this.panel1.SuspendLayout(); + this.panel3.SuspendLayout(); + this.panel2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxPhoto)).BeginInit(); + this.SuspendLayout(); + // + // DataGridViewProduct + // + this.DataGridViewProduct.AllowUserToAddRows = false; + this.DataGridViewProduct.AllowUserToDeleteRows = false; + this.DataGridViewProduct.AllowUserToOrderColumns = true; + this.DataGridViewProduct.AllowUserToResizeColumns = false; + this.DataGridViewProduct.AllowUserToResizeRows = false; + this.DataGridViewProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.DataGridViewProduct.Location = new System.Drawing.Point(52, 58); + this.DataGridViewProduct.Name = "DataGridViewProduct"; + this.DataGridViewProduct.ReadOnly = true; + this.DataGridViewProduct.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; + this.DataGridViewProduct.Size = new System.Drawing.Size(748, 223); + this.DataGridViewProduct.TabIndex = 8; + this.DataGridViewProduct.Click += new System.EventHandler(this.dataGridViewProd_Click); + // + // panel1 + // + this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel1.Controls.Add(this.panel3); + this.panel1.Controls.Add(this.panel2); + this.panel1.Controls.Add(this.pictureBoxPhoto); + this.panel1.Location = new System.Drawing.Point(34, 287); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(789, 218); + this.panel1.TabIndex = 7; + // + // panel3 + // + this.panel3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel3.Controls.Add(this.label4); + this.panel3.Controls.Add(this.SaleLabel); + this.panel3.Location = new System.Drawing.Point(623, 14); + this.panel3.Name = "panel3"; + this.panel3.Size = new System.Drawing.Size(142, 189); + this.panel3.TabIndex = 2; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label4.Location = new System.Drawing.Point(29, 51); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(73, 28); + this.label4.TabIndex = 4; + this.label4.Text = "Действующая\r\nскидка"; + this.label4.TextAlign = System.Drawing.ContentAlignment.TopCenter; + // + // SaleLabel + // + this.SaleLabel.AutoSize = true; + this.SaleLabel.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.SaleLabel.Location = new System.Drawing.Point(53, 87); + this.SaleLabel.Name = "SaleLabel"; + this.SaleLabel.Size = new System.Drawing.Size(0, 14); + this.SaleLabel.TabIndex = 2; + // + // panel2 + // + this.panel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel2.Controls.Add(this.textBoxFP); + this.panel2.Controls.Add(this.textBoxStock); + this.panel2.Controls.Add(this.textBoxUnit); + this.panel2.Controls.Add(this.textBoxPrice); + this.panel2.Controls.Add(this.textBoxSup); + this.panel2.Controls.Add(this.textBoxManuf); + this.panel2.Controls.Add(this.textBoxDesc); + this.panel2.Controls.Add(this.label3); + this.panel2.Controls.Add(this.StockLabel); + this.panel2.Controls.Add(this.label9); + this.panel2.Controls.Add(this.PriceLabel); + this.panel2.Controls.Add(this.SupplierLabel); + this.panel2.Controls.Add(this.ManufacturerLabel); + this.panel2.Controls.Add(this.DescriptionLabel); + this.panel2.Controls.Add(this.NameLabel); + this.panel2.Controls.Add(this.CategoryLabel); + this.panel2.Location = new System.Drawing.Point(212, 14); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(395, 189); + this.panel2.TabIndex = 1; + // + // textBoxFP + // + this.textBoxFP.Font = new System.Drawing.Font("Times New Roman", 8.25F); + this.textBoxFP.Location = new System.Drawing.Point(247, 113); + this.textBoxFP.Name = "textBoxFP"; + this.textBoxFP.ReadOnly = true; + this.textBoxFP.Size = new System.Drawing.Size(95, 20); + this.textBoxFP.TabIndex = 15; + // + // textBoxStock + // + this.textBoxStock.Font = new System.Drawing.Font("Times New Roman", 8.25F); + this.textBoxStock.Location = new System.Drawing.Point(148, 158); + this.textBoxStock.Name = "textBoxStock"; + this.textBoxStock.ReadOnly = true; + this.textBoxStock.Size = new System.Drawing.Size(194, 20); + this.textBoxStock.TabIndex = 14; + // + // textBoxUnit + // + this.textBoxUnit.Font = new System.Drawing.Font("Times New Roman", 8.25F); + this.textBoxUnit.Location = new System.Drawing.Point(148, 135); + this.textBoxUnit.Name = "textBoxUnit"; + this.textBoxUnit.ReadOnly = true; + this.textBoxUnit.Size = new System.Drawing.Size(194, 20); + this.textBoxUnit.TabIndex = 13; + // + // textBoxPrice + // + this.textBoxPrice.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.textBoxPrice.Location = new System.Drawing.Point(148, 113); + this.textBoxPrice.Name = "textBoxPrice"; + this.textBoxPrice.ReadOnly = true; + this.textBoxPrice.Size = new System.Drawing.Size(95, 20); + this.textBoxPrice.TabIndex = 12; + // + // textBoxSup + // + this.textBoxSup.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.textBoxSup.Location = new System.Drawing.Point(148, 87); + this.textBoxSup.Name = "textBoxSup"; + this.textBoxSup.ReadOnly = true; + this.textBoxSup.Size = new System.Drawing.Size(194, 20); + this.textBoxSup.TabIndex = 11; + // + // textBoxManuf + // + this.textBoxManuf.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.textBoxManuf.Location = new System.Drawing.Point(148, 64); + this.textBoxManuf.Name = "textBoxManuf"; + this.textBoxManuf.ReadOnly = true; + this.textBoxManuf.Size = new System.Drawing.Size(194, 20); + this.textBoxManuf.TabIndex = 10; + // + // textBoxDesc + // + this.textBoxDesc.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.textBoxDesc.Location = new System.Drawing.Point(148, 41); + this.textBoxDesc.Name = "textBoxDesc"; + this.textBoxDesc.ReadOnly = true; + this.textBoxDesc.Size = new System.Drawing.Size(194, 20); + this.textBoxDesc.TabIndex = 9; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label3.Location = new System.Drawing.Point(131, 14); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(11, 15); + this.label3.TabIndex = 8; + this.label3.Text = "I"; + // + // StockLabel + // + this.StockLabel.AutoSize = true; + this.StockLabel.BackColor = System.Drawing.Color.Chartreuse; + this.StockLabel.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.StockLabel.Location = new System.Drawing.Point(14, 158); + this.StockLabel.Name = "StockLabel"; + this.StockLabel.Size = new System.Drawing.Size(112, 14); + this.StockLabel.TabIndex = 7; + this.StockLabel.Text = "Количество на складе:"; + // + // label9 + // + this.label9.AutoSize = true; + this.label9.BackColor = System.Drawing.Color.Chartreuse; + this.label9.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label9.Location = new System.Drawing.Point(21, 135); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(104, 14); + this.label9.TabIndex = 6; + this.label9.Text = "Единица измерения:"; + // + // PriceLabel + // + this.PriceLabel.AutoSize = true; + this.PriceLabel.BackColor = System.Drawing.Color.Chartreuse; + this.PriceLabel.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.PriceLabel.Location = new System.Drawing.Point(57, 113); + this.PriceLabel.Name = "PriceLabel"; + this.PriceLabel.Size = new System.Drawing.Size(69, 14); + this.PriceLabel.TabIndex = 5; + this.PriceLabel.Text = "Цена товара:"; + // + // SupplierLabel + // + this.SupplierLabel.AutoSize = true; + this.SupplierLabel.BackColor = System.Drawing.Color.Chartreuse; + this.SupplierLabel.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.SupplierLabel.Location = new System.Drawing.Point(63, 90); + this.SupplierLabel.Name = "SupplierLabel"; + this.SupplierLabel.Size = new System.Drawing.Size(63, 14); + this.SupplierLabel.TabIndex = 4; + this.SupplierLabel.Text = "Поставщик:"; + // + // ManufacturerLabel + // + this.ManufacturerLabel.AutoSize = true; + this.ManufacturerLabel.BackColor = System.Drawing.Color.Chartreuse; + this.ManufacturerLabel.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.ManufacturerLabel.Location = new System.Drawing.Point(44, 67); + this.ManufacturerLabel.Name = "ManufacturerLabel"; + this.ManufacturerLabel.Size = new System.Drawing.Size(82, 14); + this.ManufacturerLabel.TabIndex = 3; + this.ManufacturerLabel.Text = "Производитель:"; + // + // DescriptionLabel + // + this.DescriptionLabel.AutoSize = true; + this.DescriptionLabel.BackColor = System.Drawing.Color.Chartreuse; + this.DescriptionLabel.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.DescriptionLabel.Location = new System.Drawing.Point(34, 44); + this.DescriptionLabel.Name = "DescriptionLabel"; + this.DescriptionLabel.Size = new System.Drawing.Size(92, 14); + this.DescriptionLabel.TabIndex = 2; + this.DescriptionLabel.Text = "Описание товара:"; + // + // NameLabel + // + this.NameLabel.AutoSize = true; + this.NameLabel.BackColor = System.Drawing.Color.Chartreuse; + this.NameLabel.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.NameLabel.Location = new System.Drawing.Point(157, 16); + this.NameLabel.Name = "NameLabel"; + this.NameLabel.Size = new System.Drawing.Size(112, 14); + this.NameLabel.TabIndex = 1; + this.NameLabel.Text = "Наименование товара"; + // + // CategoryLabel + // + this.CategoryLabel.AutoSize = true; + this.CategoryLabel.BackColor = System.Drawing.Color.Chartreuse; + this.CategoryLabel.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.CategoryLabel.Location = new System.Drawing.Point(19, 16); + this.CategoryLabel.Name = "CategoryLabel"; + this.CategoryLabel.Size = new System.Drawing.Size(92, 14); + this.CategoryLabel.TabIndex = 0; + this.CategoryLabel.Text = "Категория товара"; + // + // pictureBoxPhoto + // + this.pictureBoxPhoto.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.pictureBoxPhoto.Location = new System.Drawing.Point(17, 14); + this.pictureBoxPhoto.Name = "pictureBoxPhoto"; + this.pictureBoxPhoto.Size = new System.Drawing.Size(174, 189); + this.pictureBoxPhoto.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.pictureBoxPhoto.TabIndex = 0; + this.pictureBoxPhoto.TabStop = false; + // + // btnBack + // + this.btnBack.BackColor = System.Drawing.Color.MediumSpringGreen; + this.btnBack.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.btnBack.Location = new System.Drawing.Point(382, 511); + this.btnBack.Name = "btnBack"; + this.btnBack.Size = new System.Drawing.Size(99, 39); + this.btnBack.TabIndex = 9; + this.btnBack.Text = "Главное меню"; + this.btnBack.UseVisualStyleBackColor = false; + this.btnBack.Click += new System.EventHandler(this.btnBack_Click); + // + // btnExit + // + this.btnExit.BackColor = System.Drawing.Color.MediumSpringGreen; + this.btnExit.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnExit.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btnExit.Location = new System.Drawing.Point(843, 2); + this.btnExit.Name = "btnExit"; + this.btnExit.Size = new System.Drawing.Size(24, 23); + this.btnExit.TabIndex = 10; + this.btnExit.Text = "X"; + this.btnExit.UseVisualStyleBackColor = false; + this.btnExit.Click += new System.EventHandler(this.btnExit_Click); + // + // label11 + // + this.label11.AutoSize = true; + this.label11.BackColor = System.Drawing.Color.Chartreuse; + this.label11.Font = new System.Drawing.Font("Times New Roman", 21.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label11.Location = new System.Drawing.Point(318, 9); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(245, 33); + this.label11.TabIndex = 39; + this.label11.Text = "Каталог (гостевой)"; + // + // GuestMainForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(870, 563); + this.Controls.Add(this.label11); + this.Controls.Add(this.btnExit); + this.Controls.Add(this.btnBack); + this.Controls.Add(this.DataGridViewProduct); + this.Controls.Add(this.panel1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Name = "GuestMainForm"; + this.Text = "GuestMainForm"; + ((System.ComponentModel.ISupportInitialize)(this.DataGridViewProduct)).EndInit(); + this.panel1.ResumeLayout(false); + this.panel3.ResumeLayout(false); + this.panel3.PerformLayout(); + this.panel2.ResumeLayout(false); + this.panel2.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxPhoto)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.DataGridView DataGridViewProduct; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Panel panel3; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label SaleLabel; + private System.Windows.Forms.Panel panel2; + private System.Windows.Forms.TextBox textBoxFP; + private System.Windows.Forms.TextBox textBoxStock; + private System.Windows.Forms.TextBox textBoxUnit; + private System.Windows.Forms.TextBox textBoxPrice; + private System.Windows.Forms.TextBox textBoxSup; + private System.Windows.Forms.TextBox textBoxManuf; + private System.Windows.Forms.TextBox textBoxDesc; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label StockLabel; + private System.Windows.Forms.Label label9; + private System.Windows.Forms.Label PriceLabel; + private System.Windows.Forms.Label SupplierLabel; + private System.Windows.Forms.Label ManufacturerLabel; + private System.Windows.Forms.Label DescriptionLabel; + private System.Windows.Forms.Label NameLabel; + private System.Windows.Forms.Label CategoryLabel; + private System.Windows.Forms.PictureBox pictureBoxPhoto; + private System.Windows.Forms.Button btnBack; + private System.Windows.Forms.Button btnExit; + private System.Windows.Forms.Label label11; + } +} \ No newline at end of file diff --git a/GuestMainForm.cs b/GuestMainForm.cs new file mode 100644 index 0000000..08eba71 --- /dev/null +++ b/GuestMainForm.cs @@ -0,0 +1,188 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using MySql.Data.MySqlClient; + +namespace demMalyhin +{ + public partial class GuestMainForm : Form + { + private MySqlDataAdapter dataAdapter; + private DataTable prodTable; + private BindingSource bindingSource = new BindingSource(); + public GuestMainForm() + { + InitializeComponent(); + LoadProdData(); + } + + private void LoadProdData() // загрузка данных в дгв + { + try + { + DB db = new DB(); + using (MySqlConnection connection = db.getConnection()) + { + connection.Open(); + string query = "SELECT article_product AS `Артикул`, product_name AS `Название товара`, price AS `Цена`, supplier_name AS `Поставщик`, Manufacturer_name AS `Производитель`, Category_name AS `Категория`, sale_percent AS `Скидка`, unit_type AS `Единица измерения`, description AS `описание`, quantity_in_stock AS `Количество на складе`, photo AS `фото` FROM products LEFT JOIN Category ON products.category_id = Category.id_Category JOIN Supplier ON products.supplier_id = Supplier.id_Supplier JOIN Manufacturer ON products.manufacturer_id = Manufacturer.id_Manufacturer"; + + dataAdapter = new MySqlDataAdapter(query, connection); + prodTable = new DataTable(); + dataAdapter.Fill(prodTable); + DataGridViewProduct.RowTemplate.Height = 60; + bindingSource.DataSource = prodTable; + DataGridViewProduct.DataSource = bindingSource; + DataGridViewProduct.AllowUserToAddRows = false; + DataGridViewProduct.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells; + DataGridViewProduct.ReadOnly = true; // настройки дгв + + } + } + catch (MySqlException ex) + { + MessageBox.Show("Ошибка при подключении к базе данных или выполнении запроса: " + ex.Message); + } + catch (Exception ex) + { + MessageBox.Show("Произошла общая ошибка: " + ex.Message); + } + + } + + private void dataGridViewProd_Click(object sender, EventArgs e) + { + textBoxDesc.Text = DataGridViewProduct.CurrentRow.Cells[8].Value.ToString(); + textBoxManuf.Text = DataGridViewProduct.CurrentRow.Cells[4].Value.ToString(); + textBoxSup.Text = DataGridViewProduct.CurrentRow.Cells[3].Value.ToString(); + textBoxPrice.Text = DataGridViewProduct.CurrentRow.Cells[2].Value.ToString(); + textBoxUnit.Text = DataGridViewProduct.CurrentRow.Cells[7].Value.ToString(); + textBoxStock.Text = DataGridViewProduct.CurrentRow.Cells[9].Value.ToString(); + NameLabel.Text = DataGridViewProduct.CurrentRow.Cells[1].Value.ToString(); + CategoryLabel.Text = DataGridViewProduct.CurrentRow.Cells[5].Value.ToString(); + SaleLabel.Text = DataGridViewProduct.CurrentRow.Cells[6].Value.ToString() + "%"; + + try + { + object photoData = DataGridViewProduct.CurrentRow.Cells[10].Value; + if (photoData != DBNull.Value) + { + byte[] imageData = (byte[])photoData; + if (imageData != null && imageData.Length > 0) + { + using (MemoryStream ms = new MemoryStream(imageData)) + { + pictureBoxPhoto.Image = Image.FromStream(ms); + pictureBoxPhoto.SizeMode = PictureBoxSizeMode.Zoom; + } + } + else + { + pictureBoxPhoto.Image = Properties.Resources.picture; + pictureBoxPhoto.SizeMode = PictureBoxSizeMode.Zoom; + } + } + else + { + pictureBoxPhoto.Image = Properties.Resources.picture; + pictureBoxPhoto.SizeMode = PictureBoxSizeMode.Zoom; + } + } + catch (Exception ex) + { + MessageBox.Show("Ошибка при загрузке изображения: " + ex.Message); + pictureBoxPhoto.Image = Properties.Resources.picture; + pictureBoxPhoto.SizeMode = PictureBoxSizeMode.Zoom; + } + try + { + var currentRow = DataGridViewProduct.CurrentRow; + if (currentRow == null) return; + + Color defaultColor = SystemColors.Window; + textBoxPrice.BackColor = defaultColor; + textBoxSup.BackColor = defaultColor; + textBoxManuf.BackColor = defaultColor; + textBoxStock.BackColor = defaultColor; + textBoxPrice.ForeColor = Color.Black; + textBoxPrice.Font = new Font(textBoxPrice.Font, FontStyle.Regular); + textBoxFP.Text = ""; + decimal originalPrice = 0m; + int salePercent = 0; + int quantityInStock = 0; + + decimal.TryParse(currentRow.Cells[2].Value?.ToString(), out originalPrice); + int.TryParse(currentRow.Cells[6].Value?.ToString(), out salePercent); + int.TryParse(currentRow.Cells[9].Value?.ToString(), out quantityInStock); + + if (salePercent > 15) + { + Color highDiscountColor = ColorTranslator.FromHtml("#2E8B57"); + textBoxPrice.BackColor = highDiscountColor; + textBoxSup.BackColor = highDiscountColor; + textBoxManuf.BackColor = highDiscountColor; + textBoxStock.BackColor = highDiscountColor; + textBoxDesc.BackColor = highDiscountColor; + textBoxFP.BackColor = highDiscountColor; + textBoxUnit.BackColor = highDiscountColor; + panel3.BackColor = highDiscountColor; + + } + + else + { + textBoxPrice.BackColor = Color.White; + textBoxSup.BackColor = Color.White; + textBoxManuf.BackColor = Color.White; + textBoxStock.BackColor = Color.White; + textBoxDesc.BackColor = Color.White; + textBoxFP.BackColor = Color.White; + textBoxUnit.BackColor = Color.White; + panel3.BackColor = Color.White; + } + + if (salePercent > 0) + { + decimal finalPrice = originalPrice * (1 - (decimal)salePercent / 100); + textBoxPrice.Text = $"{originalPrice:N2}"; + textBoxPrice.ForeColor = Color.Red; + textBoxPrice.Font = new Font(textBoxPrice.Font, FontStyle.Strikeout); + textBoxFP.Text = $"{finalPrice:N2}"; + textBoxFP.ForeColor = Color.Black; + textBoxFP.Font = new Font(textBoxFP.Font, FontStyle.Regular); + } + else + { + textBoxPrice.Text = $"{originalPrice:N2}"; + } + if (quantityInStock <= 0) + { + textBoxStock.BackColor = Color.LightBlue; + } + + } + catch (Exception ex) + { + MessageBox.Show("Ошибка при обработке данных товара: " + ex.Message); + } + } + + private void btnBack_Click(object sender, EventArgs e) + { + this.Hide(); + LoginForm log = new LoginForm(); + log.Show(); + } + + private void btnExit_Click(object sender, EventArgs e) + { + Application.Exit(); + } + } +} diff --git a/GuestMainForm.resx b/GuestMainForm.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/GuestMainForm.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/Icon.ico b/Icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..bdb7d5627a0344fb14054f29ffcdee769b40878c GIT binary patch literal 147115 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�# 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

-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 hj(X;^C}zwb( + /// Обязательная переменная конструктора. + /// + 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(LoginForm)); + this.ButtonLogin = new System.Windows.Forms.Button(); + this.loginField = new System.Windows.Forms.TextBox(); + this.passField = new System.Windows.Forms.TextBox(); + this.checkBoxPass = new System.Windows.Forms.CheckBox(); + this.label1 = new System.Windows.Forms.Label(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.label2 = new System.Windows.Forms.Label(); + this.btnExit = new System.Windows.Forms.Button(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.SuspendLayout(); + // + // ButtonLogin + // + this.ButtonLogin.BackColor = System.Drawing.Color.MediumSpringGreen; + this.ButtonLogin.Font = new System.Drawing.Font("Times New Roman", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.ButtonLogin.ForeColor = System.Drawing.Color.Black; + this.ButtonLogin.Location = new System.Drawing.Point(121, 364); + this.ButtonLogin.Name = "ButtonLogin"; + this.ButtonLogin.Size = new System.Drawing.Size(119, 55); + this.ButtonLogin.TabIndex = 0; + this.ButtonLogin.Text = "Авторизоваться"; + this.ButtonLogin.UseVisualStyleBackColor = false; + this.ButtonLogin.Click += new System.EventHandler(this.ButtonLogin_Click); + // + // loginField + // + this.loginField.BackColor = System.Drawing.Color.Chartreuse; + this.loginField.Font = new System.Drawing.Font("Times New Roman", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.loginField.Location = new System.Drawing.Point(109, 176); + this.loginField.Name = "loginField"; + this.loginField.Size = new System.Drawing.Size(144, 22); + this.loginField.TabIndex = 1; + // + // passField + // + this.passField.BackColor = System.Drawing.Color.Chartreuse; + this.passField.Font = new System.Drawing.Font("Times New Roman", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.passField.Location = new System.Drawing.Point(109, 236); + this.passField.Name = "passField"; + this.passField.Size = new System.Drawing.Size(144, 22); + this.passField.TabIndex = 2; + this.passField.UseSystemPasswordChar = true; + // + // checkBoxPass + // + this.checkBoxPass.AutoSize = true; + this.checkBoxPass.BackColor = System.Drawing.Color.Chartreuse; + this.checkBoxPass.Font = new System.Drawing.Font("Times New Roman", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.checkBoxPass.Location = new System.Drawing.Point(122, 294); + this.checkBoxPass.Name = "checkBoxPass"; + this.checkBoxPass.Size = new System.Drawing.Size(118, 19); + this.checkBoxPass.TabIndex = 3; + this.checkBoxPass.Text = "Показать пароль"; + this.checkBoxPass.UseVisualStyleBackColor = false; + this.checkBoxPass.CheckedChanged += new System.EventHandler(this.checkBoxPass_CheckedChanged); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.BackColor = System.Drawing.Color.MediumSpringGreen; + this.label1.Font = new System.Drawing.Font("Times New Roman", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label1.ForeColor = System.Drawing.Color.Black; + this.label1.Location = new System.Drawing.Point(134, 346); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(94, 15); + this.label1.TabIndex = 4; + this.label1.Text = "Войти как гость"; + this.label1.Click += new System.EventHandler(this.label1_Click); + // + // pictureBox1 + // + this.pictureBox1.InitialImage = ((System.Drawing.Image)(resources.GetObject("pictureBox1.InitialImage"))); + this.pictureBox1.Location = new System.Drawing.Point(132, 96); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(108, 74); + this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.pictureBox1.TabIndex = 5; + this.pictureBox1.TabStop = false; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.BackColor = System.Drawing.Color.Chartreuse; + this.label2.Font = new System.Drawing.Font("Times New Roman", 24F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label2.Location = new System.Drawing.Point(91, 48); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(190, 36); + this.label2.TabIndex = 6; + this.label2.Text = "Авторизация"; + // + // btnExit + // + this.btnExit.BackColor = System.Drawing.Color.MediumSpringGreen; + this.btnExit.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnExit.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btnExit.Location = new System.Drawing.Point(333, 3); + this.btnExit.Name = "btnExit"; + this.btnExit.Size = new System.Drawing.Size(24, 23); + this.btnExit.TabIndex = 8; + this.btnExit.Text = "X"; + this.btnExit.UseVisualStyleBackColor = false; + this.btnExit.Click += new System.EventHandler(this.btnExit_Click); + // + // LoginForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(359, 451); + this.Controls.Add(this.btnExit); + this.Controls.Add(this.label2); + this.Controls.Add(this.pictureBox1); + this.Controls.Add(this.label1); + this.Controls.Add(this.checkBoxPass); + this.Controls.Add(this.passField); + this.Controls.Add(this.loginField); + this.Controls.Add(this.ButtonLogin); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Name = "LoginForm"; + this.Text = "Form1"; + this.Load += new System.EventHandler(this.LoginForm_Load); + this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.TextBox_KeyPress_NoSpaces); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Button ButtonLogin; + private System.Windows.Forms.TextBox loginField; + private System.Windows.Forms.TextBox passField; + private System.Windows.Forms.CheckBox checkBoxPass; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.PictureBox pictureBox1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Button btnExit; + } +} + diff --git a/LoginForm.cs b/LoginForm.cs new file mode 100644 index 0000000..859950b --- /dev/null +++ b/LoginForm.cs @@ -0,0 +1,173 @@ +using System.Data.SqlClient; +using System.Data; +using System.Windows.Forms; +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 MySql.Data.MySqlClient; +using MySqlX.XDevAPI; +using static System.Windows.Forms.VisualStyles.VisualStyleElement.Button; +using System.Diagnostics.Eventing.Reader; + +namespace demMalyhin +{ + public partial class LoginForm : Form + { + public static string ClientSurname { get; private set; } + public static string ClientName { get; private set; } + public static string ClientPatronymic { get; private set; } + public LoginForm() + { + InitializeComponent(); + loginField.KeyPress += TextBox_KeyPress_NoSpaces; + passField.KeyPress += TextBox_KeyPress_NoSpaces; + } + private void TextBox_KeyPress_NoSpaces(object sender, KeyPressEventArgs e) + { + if (e.KeyChar == ' ') + { + e.Handled = true; + } + } + + private void label2_Click(object sender, EventArgs e) + { + } + + private void ButtonLogin_Click(object sender, EventArgs e) + { + string loginUser = loginField.Text; + string passUser = passField.Text; + + if (string.IsNullOrWhiteSpace(loginField.Text)) + { + MessageBox.Show("Введите логин.", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information); + return; + } + + if (string.IsNullOrWhiteSpace(passField.Text)) + { + MessageBox.Show("Введите пароль.", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information); + return; + } + + DB db = new DB(); + + using (MySqlConnection connection = db.getConnection()) + { + DataTable table = new DataTable(); + MySqlDataAdapter adapter = new MySqlDataAdapter(); + MySqlCommand command = new MySqlCommand("SELECT RoleID, login, Surname, Name, Patronymic FROM users WHERE login = @uL AND password = @uP", connection); + command.Parameters.Add("@uL", MySqlDbType.VarChar).Value = loginUser; + command.Parameters.Add("@uP", MySqlDbType.VarChar).Value = passUser; + + adapter.SelectCommand = command; + + try + { + connection.Open(); + adapter.Fill(table); + + if (table.Rows.Count == 1) + { + string roleID = table.Rows[0]["RoleID"].ToString(); + string userLogin = table.Rows[0]["login"].ToString(); + + ClientSurname = Convert.ToString(table.Rows[0]["Surname"]); + ClientName = Convert.ToString(table.Rows[0]["Name"]); + ClientPatronymic = Convert.ToString(table.Rows[0]["Patronymic"]); + + switch (roleID) + { + case "1": + MessageBox.Show("Вы авторизовались под ролью: Admin. Ваше фио: " + ClientSurname + " " + ClientName + " " + ClientPatronymic); + this.Hide(); + AdmMainForm adm = new AdmMainForm(); + adm.Show(); + break; + + case "2": + MessageBox.Show("Авторизация успешна, добро пожаловать! Вы авторизовались под ролью: Manager"); + this.Hide(); + ManagerMainForm usManager = new ManagerMainForm(); + usManager.Show(); + break; + + case "3": + MessageBox.Show("Авторизация успешна, добро пожаловать! Вы авторизовались под ролью: Authorized Client"); + this.Hide(); + UserMainForm usClient = new UserMainForm(); + usClient.Show(); + break; + } + } + else + { + MessageBox.Show("Введен неверный логин или пароль", "Ошибка авторизации", MessageBoxButtons.OK, MessageBoxIcon.Warning); + } + } + catch (MySqlException ex) + { + MessageBox.Show("Ошибка подключения к базе данных или выполнения запроса: " + ex.Message, "Ошибка БД", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + finally + { + db.closeConnection(); + } + } + } + + private void btnExit_Click(object sender, EventArgs e) + { + Application.Exit(); + } + + private void regLabel_Click(object sender, EventArgs e) + { + this.Hide(); + ManagerMainForm regForm = new ManagerMainForm(); + regForm.Show(); + } + + private void closeBtn_Click(object sender, EventArgs e) + { + Application.Exit(); + } + + private void button1_Click(object sender, EventArgs e) + { + this.WindowState = FormWindowState.Minimized; + } + + private void checkBoxPass_CheckedChanged(object sender, EventArgs e) + { + if (checkBoxPass.Checked) + { + passField.UseSystemPasswordChar = false; + } + else + { + passField.UseSystemPasswordChar = true; + } + } + + private void label1_Click(object sender, EventArgs e) + { + this.Hide(); + GuestMainForm guest = new GuestMainForm(); + guest.Show(); + + } + + private void LoginForm_Load(object sender, EventArgs e) + { + pictureBox1.Image = Properties.Resources.Icon1; + } + } +} \ No newline at end of file diff --git a/LoginForm.resx b/LoginForm.resx new file mode 100644 index 0000000..be46f2a --- /dev/null +++ b/LoginForm.resx @@ -0,0 +1,2192 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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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 + nqpc6cjR/wOZdJ6L8NqgyQAAAABJRU5ErkJggg== + + + \ No newline at end of file diff --git a/ManagerMainForm.Designer.cs b/ManagerMainForm.Designer.cs new file mode 100644 index 0000000..1448b4c --- /dev/null +++ b/ManagerMainForm.Designer.cs @@ -0,0 +1,486 @@ +namespace demMalyhin +{ + partial class ManagerMainForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.btnExit = new System.Windows.Forms.Button(); + this.OrdersBtn = new System.Windows.Forms.Button(); + this.comboBoxFilter = new System.Windows.Forms.ComboBox(); + this.comboBoxSort = new System.Windows.Forms.ComboBox(); + this.textBoxSearch = new System.Windows.Forms.TextBox(); + this.DataGridViewProduct = new System.Windows.Forms.DataGridView(); + this.panel1 = new System.Windows.Forms.Panel(); + this.panel3 = new System.Windows.Forms.Panel(); + this.label4 = new System.Windows.Forms.Label(); + this.SaleLabel = new System.Windows.Forms.Label(); + this.panel2 = new System.Windows.Forms.Panel(); + this.textBoxFP = new System.Windows.Forms.TextBox(); + this.textBoxStock = new System.Windows.Forms.TextBox(); + this.textBoxUnit = new System.Windows.Forms.TextBox(); + this.textBoxPrice = new System.Windows.Forms.TextBox(); + this.textBoxSup = new System.Windows.Forms.TextBox(); + this.textBoxManuf = new System.Windows.Forms.TextBox(); + this.textBoxDesc = new System.Windows.Forms.TextBox(); + this.label3 = new System.Windows.Forms.Label(); + this.StockLabel = new System.Windows.Forms.Label(); + this.label9 = new System.Windows.Forms.Label(); + this.PriceLabel = new System.Windows.Forms.Label(); + this.SupplierLabel = new System.Windows.Forms.Label(); + this.ManufacturerLabel = new System.Windows.Forms.Label(); + this.DescriptionLabel = new System.Windows.Forms.Label(); + this.NameLabel = new System.Windows.Forms.Label(); + this.CategoryLabel = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.btnBack = new System.Windows.Forms.Button(); + this.labelFIO = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.pictureBoxPhoto = new System.Windows.Forms.PictureBox(); + ((System.ComponentModel.ISupportInitialize)(this.DataGridViewProduct)).BeginInit(); + this.panel1.SuspendLayout(); + this.panel3.SuspendLayout(); + this.panel2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxPhoto)).BeginInit(); + this.SuspendLayout(); + // + // btnExit + // + this.btnExit.BackColor = System.Drawing.Color.MediumSpringGreen; + this.btnExit.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnExit.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btnExit.Location = new System.Drawing.Point(12, 7); + this.btnExit.Name = "btnExit"; + this.btnExit.Size = new System.Drawing.Size(24, 23); + this.btnExit.TabIndex = 28; + this.btnExit.Text = "X"; + this.btnExit.UseVisualStyleBackColor = false; + this.btnExit.Click += new System.EventHandler(this.btnExit_Click); + // + // OrdersBtn + // + this.OrdersBtn.BackColor = System.Drawing.Color.MediumSpringGreen; + this.OrdersBtn.Font = new System.Drawing.Font("Times New Roman", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.OrdersBtn.Location = new System.Drawing.Point(720, 540); + this.OrdersBtn.Name = "OrdersBtn"; + this.OrdersBtn.Size = new System.Drawing.Size(99, 39); + this.OrdersBtn.TabIndex = 27; + this.OrdersBtn.Text = "Заказы"; + this.OrdersBtn.UseVisualStyleBackColor = false; + this.OrdersBtn.Click += new System.EventHandler(this.OrdersBtn_Click); + // + // comboBoxFilter + // + this.comboBoxFilter.BackColor = System.Drawing.Color.MediumSpringGreen; + this.comboBoxFilter.FormattingEnabled = true; + this.comboBoxFilter.Location = new System.Drawing.Point(659, 61); + this.comboBoxFilter.Name = "comboBoxFilter"; + this.comboBoxFilter.Size = new System.Drawing.Size(160, 21); + this.comboBoxFilter.TabIndex = 23; + this.comboBoxFilter.SelectedIndexChanged += new System.EventHandler(this.comboBoxFilter_SelectedIndexChanged); + // + // comboBoxSort + // + this.comboBoxSort.BackColor = System.Drawing.Color.MediumSpringGreen; + this.comboBoxSort.FormattingEnabled = true; + this.comboBoxSort.Location = new System.Drawing.Point(491, 61); + this.comboBoxSort.Name = "comboBoxSort"; + this.comboBoxSort.Size = new System.Drawing.Size(160, 21); + this.comboBoxSort.TabIndex = 22; + this.comboBoxSort.SelectedIndexChanged += new System.EventHandler(this.comboBoxSort_SelectedIndexChanged); + // + // textBoxSearch + // + this.textBoxSearch.BackColor = System.Drawing.Color.MediumSpringGreen; + this.textBoxSearch.Location = new System.Drawing.Point(30, 61); + this.textBoxSearch.Name = "textBoxSearch"; + this.textBoxSearch.Size = new System.Drawing.Size(455, 20); + this.textBoxSearch.TabIndex = 21; + this.textBoxSearch.TextChanged += new System.EventHandler(this.textBoxSearch_TextChanged); + // + // DataGridViewProduct + // + this.DataGridViewProduct.AllowUserToAddRows = false; + this.DataGridViewProduct.AllowUserToDeleteRows = false; + this.DataGridViewProduct.AllowUserToOrderColumns = true; + this.DataGridViewProduct.AllowUserToResizeColumns = false; + this.DataGridViewProduct.AllowUserToResizeRows = false; + this.DataGridViewProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.DataGridViewProduct.Location = new System.Drawing.Point(72, 87); + this.DataGridViewProduct.Name = "DataGridViewProduct"; + this.DataGridViewProduct.ReadOnly = true; + this.DataGridViewProduct.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; + this.DataGridViewProduct.Size = new System.Drawing.Size(691, 223); + this.DataGridViewProduct.TabIndex = 20; + this.DataGridViewProduct.Click += new System.EventHandler(this.dataGridViewProd_Click); + // + // panel1 + // + this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel1.Controls.Add(this.panel3); + this.panel1.Controls.Add(this.panel2); + this.panel1.Controls.Add(this.pictureBoxPhoto); + this.panel1.Location = new System.Drawing.Point(30, 316); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(789, 218); + this.panel1.TabIndex = 19; + // + // panel3 + // + this.panel3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel3.Controls.Add(this.label4); + this.panel3.Controls.Add(this.SaleLabel); + this.panel3.Location = new System.Drawing.Point(623, 14); + this.panel3.Name = "panel3"; + this.panel3.Size = new System.Drawing.Size(142, 189); + this.panel3.TabIndex = 2; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label4.Location = new System.Drawing.Point(29, 51); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(73, 28); + this.label4.TabIndex = 4; + this.label4.Text = "Действующая\r\nскидка"; + this.label4.TextAlign = System.Drawing.ContentAlignment.TopCenter; + // + // SaleLabel + // + this.SaleLabel.AutoSize = true; + this.SaleLabel.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.SaleLabel.Location = new System.Drawing.Point(53, 87); + this.SaleLabel.Name = "SaleLabel"; + this.SaleLabel.Size = new System.Drawing.Size(0, 14); + this.SaleLabel.TabIndex = 2; + // + // panel2 + // + this.panel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel2.Controls.Add(this.textBoxFP); + this.panel2.Controls.Add(this.textBoxStock); + this.panel2.Controls.Add(this.textBoxUnit); + this.panel2.Controls.Add(this.textBoxPrice); + this.panel2.Controls.Add(this.textBoxSup); + this.panel2.Controls.Add(this.textBoxManuf); + this.panel2.Controls.Add(this.textBoxDesc); + this.panel2.Controls.Add(this.label3); + this.panel2.Controls.Add(this.StockLabel); + this.panel2.Controls.Add(this.label9); + this.panel2.Controls.Add(this.PriceLabel); + this.panel2.Controls.Add(this.SupplierLabel); + this.panel2.Controls.Add(this.ManufacturerLabel); + this.panel2.Controls.Add(this.DescriptionLabel); + this.panel2.Controls.Add(this.NameLabel); + this.panel2.Controls.Add(this.CategoryLabel); + this.panel2.Location = new System.Drawing.Point(212, 14); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(395, 189); + this.panel2.TabIndex = 1; + // + // textBoxFP + // + this.textBoxFP.Font = new System.Drawing.Font("Times New Roman", 8.25F); + this.textBoxFP.Location = new System.Drawing.Point(247, 113); + this.textBoxFP.Name = "textBoxFP"; + this.textBoxFP.ReadOnly = true; + this.textBoxFP.Size = new System.Drawing.Size(95, 20); + this.textBoxFP.TabIndex = 15; + // + // textBoxStock + // + this.textBoxStock.Font = new System.Drawing.Font("Times New Roman", 8.25F); + this.textBoxStock.Location = new System.Drawing.Point(148, 158); + this.textBoxStock.Name = "textBoxStock"; + this.textBoxStock.ReadOnly = true; + this.textBoxStock.Size = new System.Drawing.Size(194, 20); + this.textBoxStock.TabIndex = 14; + // + // textBoxUnit + // + this.textBoxUnit.Font = new System.Drawing.Font("Times New Roman", 8.25F); + this.textBoxUnit.Location = new System.Drawing.Point(148, 135); + this.textBoxUnit.Name = "textBoxUnit"; + this.textBoxUnit.ReadOnly = true; + this.textBoxUnit.Size = new System.Drawing.Size(194, 20); + this.textBoxUnit.TabIndex = 13; + // + // textBoxPrice + // + this.textBoxPrice.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.textBoxPrice.Location = new System.Drawing.Point(148, 113); + this.textBoxPrice.Name = "textBoxPrice"; + this.textBoxPrice.ReadOnly = true; + this.textBoxPrice.Size = new System.Drawing.Size(95, 20); + this.textBoxPrice.TabIndex = 12; + // + // textBoxSup + // + this.textBoxSup.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.textBoxSup.Location = new System.Drawing.Point(148, 87); + this.textBoxSup.Name = "textBoxSup"; + this.textBoxSup.ReadOnly = true; + this.textBoxSup.Size = new System.Drawing.Size(194, 20); + this.textBoxSup.TabIndex = 11; + // + // textBoxManuf + // + this.textBoxManuf.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.textBoxManuf.Location = new System.Drawing.Point(148, 64); + this.textBoxManuf.Name = "textBoxManuf"; + this.textBoxManuf.ReadOnly = true; + this.textBoxManuf.Size = new System.Drawing.Size(194, 20); + this.textBoxManuf.TabIndex = 10; + // + // textBoxDesc + // + this.textBoxDesc.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.textBoxDesc.Location = new System.Drawing.Point(148, 41); + this.textBoxDesc.Name = "textBoxDesc"; + this.textBoxDesc.ReadOnly = true; + this.textBoxDesc.Size = new System.Drawing.Size(194, 20); + this.textBoxDesc.TabIndex = 9; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label3.Location = new System.Drawing.Point(131, 14); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(11, 15); + this.label3.TabIndex = 8; + this.label3.Text = "I"; + // + // StockLabel + // + this.StockLabel.AutoSize = true; + this.StockLabel.BackColor = System.Drawing.Color.Chartreuse; + this.StockLabel.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.StockLabel.Location = new System.Drawing.Point(14, 158); + this.StockLabel.Name = "StockLabel"; + this.StockLabel.Size = new System.Drawing.Size(112, 14); + this.StockLabel.TabIndex = 7; + this.StockLabel.Text = "Количество на складе:"; + // + // label9 + // + this.label9.AutoSize = true; + this.label9.BackColor = System.Drawing.Color.Chartreuse; + this.label9.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label9.Location = new System.Drawing.Point(21, 135); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(104, 14); + this.label9.TabIndex = 6; + this.label9.Text = "Единица измерения:"; + // + // PriceLabel + // + this.PriceLabel.AutoSize = true; + this.PriceLabel.BackColor = System.Drawing.Color.Chartreuse; + this.PriceLabel.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.PriceLabel.Location = new System.Drawing.Point(57, 113); + this.PriceLabel.Name = "PriceLabel"; + this.PriceLabel.Size = new System.Drawing.Size(69, 14); + this.PriceLabel.TabIndex = 5; + this.PriceLabel.Text = "Цена товара:"; + // + // SupplierLabel + // + this.SupplierLabel.AutoSize = true; + this.SupplierLabel.BackColor = System.Drawing.Color.Chartreuse; + this.SupplierLabel.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.SupplierLabel.Location = new System.Drawing.Point(63, 90); + this.SupplierLabel.Name = "SupplierLabel"; + this.SupplierLabel.Size = new System.Drawing.Size(63, 14); + this.SupplierLabel.TabIndex = 4; + this.SupplierLabel.Text = "Поставщик:"; + // + // ManufacturerLabel + // + this.ManufacturerLabel.AutoSize = true; + this.ManufacturerLabel.BackColor = System.Drawing.Color.Chartreuse; + this.ManufacturerLabel.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.ManufacturerLabel.Location = new System.Drawing.Point(44, 67); + this.ManufacturerLabel.Name = "ManufacturerLabel"; + this.ManufacturerLabel.Size = new System.Drawing.Size(82, 14); + this.ManufacturerLabel.TabIndex = 3; + this.ManufacturerLabel.Text = "Производитель:"; + // + // DescriptionLabel + // + this.DescriptionLabel.AutoSize = true; + this.DescriptionLabel.BackColor = System.Drawing.Color.Chartreuse; + this.DescriptionLabel.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.DescriptionLabel.Location = new System.Drawing.Point(34, 44); + this.DescriptionLabel.Name = "DescriptionLabel"; + this.DescriptionLabel.Size = new System.Drawing.Size(92, 14); + this.DescriptionLabel.TabIndex = 2; + this.DescriptionLabel.Text = "Описание товара:"; + // + // NameLabel + // + this.NameLabel.AutoSize = true; + this.NameLabel.BackColor = System.Drawing.Color.Chartreuse; + this.NameLabel.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.NameLabel.Location = new System.Drawing.Point(157, 16); + this.NameLabel.Name = "NameLabel"; + this.NameLabel.Size = new System.Drawing.Size(112, 14); + this.NameLabel.TabIndex = 1; + this.NameLabel.Text = "Наименование товара"; + // + // CategoryLabel + // + this.CategoryLabel.AutoSize = true; + this.CategoryLabel.BackColor = System.Drawing.Color.Chartreuse; + this.CategoryLabel.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.CategoryLabel.Location = new System.Drawing.Point(19, 16); + this.CategoryLabel.Name = "CategoryLabel"; + this.CategoryLabel.Size = new System.Drawing.Size(92, 14); + this.CategoryLabel.TabIndex = 0; + this.CategoryLabel.Text = "Категория товара"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.BackColor = System.Drawing.Color.Chartreuse; + this.label2.Font = new System.Drawing.Font("Times New Roman", 21.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label2.Location = new System.Drawing.Point(275, 11); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(251, 33); + this.label2.TabIndex = 18; + this.label2.Text = "Каталог менеджера"; + // + // btnBack + // + this.btnBack.BackColor = System.Drawing.Color.MediumSpringGreen; + this.btnBack.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.btnBack.Location = new System.Drawing.Point(30, 540); + this.btnBack.Name = "btnBack"; + this.btnBack.Size = new System.Drawing.Size(99, 39); + this.btnBack.TabIndex = 17; + this.btnBack.Text = "Главное меню"; + this.btnBack.UseVisualStyleBackColor = false; + this.btnBack.Click += new System.EventHandler(this.btnBack_Click); + // + // labelFIO + // + this.labelFIO.AutoSize = true; + this.labelFIO.Font = new System.Drawing.Font("Times New Roman", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.labelFIO.Location = new System.Drawing.Point(651, 11); + this.labelFIO.Name = "labelFIO"; + this.labelFIO.Size = new System.Drawing.Size(0, 15); + this.labelFIO.TabIndex = 16; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.BackColor = System.Drawing.Color.Chartreuse; + this.label1.Font = new System.Drawing.Font("Times New Roman", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label1.Location = new System.Drawing.Point(561, 11); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(90, 15); + this.label1.TabIndex = 15; + this.label1.Text = "ФИО Клиента -"; + // + // pictureBoxPhoto + // + this.pictureBoxPhoto.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.pictureBoxPhoto.Location = new System.Drawing.Point(17, 14); + this.pictureBoxPhoto.Name = "pictureBoxPhoto"; + this.pictureBoxPhoto.Size = new System.Drawing.Size(174, 189); + this.pictureBoxPhoto.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.pictureBoxPhoto.TabIndex = 0; + this.pictureBoxPhoto.TabStop = false; + // + // ManagerMainForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(847, 589); + this.Controls.Add(this.btnExit); + this.Controls.Add(this.OrdersBtn); + this.Controls.Add(this.comboBoxFilter); + this.Controls.Add(this.comboBoxSort); + this.Controls.Add(this.textBoxSearch); + this.Controls.Add(this.DataGridViewProduct); + this.Controls.Add(this.panel1); + this.Controls.Add(this.label2); + this.Controls.Add(this.btnBack); + this.Controls.Add(this.labelFIO); + this.Controls.Add(this.label1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Name = "ManagerMainForm"; + this.Text = "RegForm"; + this.Load += new System.EventHandler(this.ManagerMainForm_Load); + ((System.ComponentModel.ISupportInitialize)(this.DataGridViewProduct)).EndInit(); + this.panel1.ResumeLayout(false); + this.panel3.ResumeLayout(false); + this.panel3.PerformLayout(); + this.panel2.ResumeLayout(false); + this.panel2.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxPhoto)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Button btnExit; + private System.Windows.Forms.Button OrdersBtn; + private System.Windows.Forms.ComboBox comboBoxFilter; + private System.Windows.Forms.ComboBox comboBoxSort; + private System.Windows.Forms.TextBox textBoxSearch; + private System.Windows.Forms.DataGridView DataGridViewProduct; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Panel panel3; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label SaleLabel; + private System.Windows.Forms.Panel panel2; + private System.Windows.Forms.TextBox textBoxFP; + private System.Windows.Forms.TextBox textBoxStock; + private System.Windows.Forms.TextBox textBoxUnit; + private System.Windows.Forms.TextBox textBoxPrice; + private System.Windows.Forms.TextBox textBoxSup; + private System.Windows.Forms.TextBox textBoxManuf; + private System.Windows.Forms.TextBox textBoxDesc; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label StockLabel; + private System.Windows.Forms.Label label9; + private System.Windows.Forms.Label PriceLabel; + private System.Windows.Forms.Label SupplierLabel; + private System.Windows.Forms.Label ManufacturerLabel; + private System.Windows.Forms.Label DescriptionLabel; + private System.Windows.Forms.Label NameLabel; + private System.Windows.Forms.Label CategoryLabel; + private System.Windows.Forms.PictureBox pictureBoxPhoto; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Button btnBack; + private System.Windows.Forms.Label labelFIO; + private System.Windows.Forms.Label label1; + } +} \ No newline at end of file diff --git a/ManagerMainForm.cs b/ManagerMainForm.cs new file mode 100644 index 0000000..7149524 --- /dev/null +++ b/ManagerMainForm.cs @@ -0,0 +1,296 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using MySql.Data.MySqlClient; + +namespace demMalyhin +{ + public partial class ManagerMainForm : Form + { + private MySqlDataAdapter dataAdapter; + private DataTable prodTable; + private BindingSource bindingSource = new BindingSource(); + public ManagerMainForm() + { + InitializeComponent(); + LoadProdData(); + LoadSortOptions(); + LoadFilterOptions(); + } + private void LoadProdData() // загрузка данных в дгв + { + try + { + DB db = new DB(); + using (MySqlConnection connection = db.getConnection()) + { + connection.Open(); + string query = "SELECT article_product AS `Артикул`, product_name AS `Название товара`, price AS `Цена`, supplier_name AS `Поставщик`, Manufacturer_name AS `Производитель`, Category_name AS `Категория`, sale_percent AS `Скидка`, unit_type AS `Единица измерения`, description AS `описание`, quantity_in_stock AS `Количество на складе`, photo AS `фото` FROM products LEFT JOIN Category ON products.category_id = Category.id_Category JOIN Supplier ON products.supplier_id = Supplier.id_Supplier JOIN Manufacturer ON products.manufacturer_id = Manufacturer.id_Manufacturer"; + + dataAdapter = new MySqlDataAdapter(query, connection); + prodTable = new DataTable(); + dataAdapter.Fill(prodTable); + DataGridViewProduct.RowTemplate.Height = 60; + bindingSource.DataSource = prodTable; + DataGridViewProduct.DataSource = bindingSource; + DataGridViewProduct.AllowUserToAddRows = false; + DataGridViewProduct.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells; + DataGridViewProduct.ReadOnly = true; // настройки дгв + + } + } + catch (MySqlException ex) + { + MessageBox.Show("Ошибка при подключении к базе данных или выполнении запроса: " + ex.Message); + } + catch (Exception ex) + { + MessageBox.Show("Произошла общая ошибка: " + ex.Message); + } + + } + + private void dataGridViewProd_Click(object sender, EventArgs e) + { + textBoxDesc.Text = DataGridViewProduct.CurrentRow.Cells[8].Value.ToString(); + textBoxManuf.Text = DataGridViewProduct.CurrentRow.Cells[4].Value.ToString(); + textBoxSup.Text = DataGridViewProduct.CurrentRow.Cells[3].Value.ToString(); + textBoxPrice.Text = DataGridViewProduct.CurrentRow.Cells[2].Value.ToString(); + textBoxUnit.Text = DataGridViewProduct.CurrentRow.Cells[7].Value.ToString(); + textBoxStock.Text = DataGridViewProduct.CurrentRow.Cells[9].Value.ToString(); + NameLabel.Text = DataGridViewProduct.CurrentRow.Cells[1].Value.ToString(); + CategoryLabel.Text = DataGridViewProduct.CurrentRow.Cells[5].Value.ToString(); + SaleLabel.Text = DataGridViewProduct.CurrentRow.Cells[6].Value.ToString() + "%"; + + try + { + object photoData = DataGridViewProduct.CurrentRow.Cells[10].Value; + if (photoData != DBNull.Value) + { + byte[] imageData = (byte[])photoData; + if (imageData != null && imageData.Length > 0) + { + using (MemoryStream ms = new MemoryStream(imageData)) + { + pictureBoxPhoto.Image = Image.FromStream(ms); + pictureBoxPhoto.SizeMode = PictureBoxSizeMode.Zoom; + } + } + else + { + pictureBoxPhoto.Image = Properties.Resources.picture; + pictureBoxPhoto.SizeMode = PictureBoxSizeMode.Zoom; + } + } + else + { + pictureBoxPhoto.Image = Properties.Resources.picture; + pictureBoxPhoto.SizeMode = PictureBoxSizeMode.Zoom; + } + } + catch (Exception ex) + { + MessageBox.Show("Ошибка при загрузке изображения: " + ex.Message); + pictureBoxPhoto.Image = Properties.Resources.picture; + pictureBoxPhoto.SizeMode = PictureBoxSizeMode.Zoom; + } + try + { + var currentRow = DataGridViewProduct.CurrentRow; + if (currentRow == null) return; + + Color defaultColor = SystemColors.Window; + textBoxPrice.BackColor = defaultColor; + textBoxSup.BackColor = defaultColor; + textBoxManuf.BackColor = defaultColor; + textBoxStock.BackColor = defaultColor; + textBoxPrice.ForeColor = Color.Black; + textBoxPrice.Font = new Font(textBoxPrice.Font, FontStyle.Regular); + textBoxFP.Text = ""; + decimal originalPrice = 0m; + int salePercent = 0; + int quantityInStock = 0; + + decimal.TryParse(currentRow.Cells[2].Value?.ToString(), out originalPrice); + int.TryParse(currentRow.Cells[6].Value?.ToString(), out salePercent); + int.TryParse(currentRow.Cells[9].Value?.ToString(), out quantityInStock); + + if (salePercent > 15) + { + Color highDiscountColor = ColorTranslator.FromHtml("#2E8B57"); + textBoxPrice.BackColor = highDiscountColor; + textBoxSup.BackColor = highDiscountColor; + textBoxManuf.BackColor = highDiscountColor; + textBoxStock.BackColor = highDiscountColor; + textBoxDesc.BackColor = highDiscountColor; + textBoxFP.BackColor = highDiscountColor; + textBoxUnit.BackColor = highDiscountColor; + panel3.BackColor = highDiscountColor; + + } + + else + { + textBoxPrice.BackColor = Color.White; + textBoxSup.BackColor = Color.White; + textBoxManuf.BackColor = Color.White; + textBoxStock.BackColor = Color.White; + textBoxDesc.BackColor = Color.White; + textBoxFP.BackColor = Color.White; + textBoxUnit.BackColor = Color.White; + panel3.BackColor = Color.White; + } + + if (salePercent > 0) + { + decimal finalPrice = originalPrice * (1 - (decimal)salePercent / 100); + textBoxPrice.Text = $"{originalPrice:N2}"; + textBoxPrice.ForeColor = Color.Red; + textBoxPrice.Font = new Font(textBoxPrice.Font, FontStyle.Strikeout); + textBoxFP.Text = $"{finalPrice:N2}"; + textBoxFP.ForeColor = Color.Black; + textBoxFP.Font = new Font(textBoxFP.Font, FontStyle.Regular); + } + else + { + textBoxPrice.Text = $"{originalPrice:N2}"; + } + if (quantityInStock <= 0) + { + textBoxStock.BackColor = Color.LightBlue; + } + + } + catch (Exception ex) + { + MessageBox.Show("Ошибка при обработке данных товара: " + ex.Message); + } + } + + private void LoadSortOptions() + { + comboBoxSort.Items.Add("По умолчанию"); + comboBoxSort.Items.Add("Название (А-Я)"); + comboBoxSort.Items.Add("Название (Я-А)"); + comboBoxSort.Items.Add("Цена (возрастающая)"); + comboBoxSort.Items.Add("Цена (убывающая)"); + + comboBoxSort.SelectedIndex = 0; + } + + private void comboBoxSort_SelectedIndexChanged(object sender, EventArgs e) + { + string sortOption = comboBoxSort.SelectedItem.ToString(); + + switch (sortOption) + { + case "По умолчанию": + bindingSource.Sort = ""; + break; + case "Название (А-Я)": + bindingSource.Sort = "Название товара ASC"; + break; + case "Название (Я-А)": + bindingSource.Sort = "Название товара DESC"; + break; + case "Цена (возрастающая)": + bindingSource.Sort = "Цена ASC"; + break; + case "Цена (убывающая)": + bindingSource.Sort = "Цена DESC"; + break; + } + + } + + private void LoadFilterOptions() + { + comboBoxFilter.Items.Add("По умолчанию"); + comboBoxFilter.Items.Add("Мужская обувь"); + comboBoxFilter.Items.Add("Женская обувь"); + + comboBoxSort.SelectedIndex = 0; + + } + + private void comboBoxFilter_SelectedIndexChanged(object sender, EventArgs e) + { + string filterOption = comboBoxFilter.SelectedItem.ToString().Trim(); + + switch (filterOption) + { + case "По умолчанию": + bindingSource.Filter = ""; + break; + + case "Мужская обувь": + bindingSource.Filter = "[Категория] = 'Мужская обувь'"; + break; + + case "Женская обувь": + bindingSource.Filter = "[Категория] = 'Женская обувь'"; + break; + + default: + bindingSource.Filter = ""; + break; + } + } + + private void textBoxSearch_TextChanged(object sender, EventArgs e) + { + string searchText = textBoxSearch.Text.Trim(); + + if (string.IsNullOrEmpty(searchText)) + { + bindingSource.Filter = ""; + } + else + { + string s = searchText.Replace("'", "''"); + string pattern = string.Format("%{0}%", s); + + bindingSource.Filter = string.Format( + "[Артикул] LIKE '{0}' OR [Название товара] LIKE '{0}' OR [Поставщик] LIKE '{0}' OR [Производитель] LIKE '{0}' OR [Категория] LIKE '{0}' OR [Единица измерения] LIKE '{0}' OR " + + "Convert([Цена], 'System.String') LIKE '{0}' OR Convert([Скидка], 'System.String') LIKE '{0}' OR Convert([Количество на складе], 'System.String') LIKE '{0}'", + pattern); + } + } + + private void AdmMainForm_Load(object sender, EventArgs e) + { + labelFIO.Text = LoginForm.ClientSurname + " " + LoginForm.ClientName + " " + LoginForm.ClientPatronymic; + } + + private void btnBack_Click(object sender, EventArgs e) + { + this.Hide(); + LoginForm log = new LoginForm(); + log.Show(); + } + + private void OrdersBtn_Click(object sender, EventArgs e) + { + this.Hide(); + ManagerOrder mo = new ManagerOrder(); + mo.Show(); + } + + private void btnExit_Click(object sender, EventArgs e) + { + Application.Exit(); + } + + private void ManagerMainForm_Load(object sender, EventArgs e) + { + labelFIO.Text = LoginForm.ClientSurname + " " + LoginForm.ClientName + " " + LoginForm.ClientPatronymic; + } + } +} diff --git a/ManagerMainForm.resx b/ManagerMainForm.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/ManagerMainForm.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/ManagerOrder.Designer.cs b/ManagerOrder.Designer.cs new file mode 100644 index 0000000..f535af3 --- /dev/null +++ b/ManagerOrder.Designer.cs @@ -0,0 +1,116 @@ +namespace demMalyhin +{ + partial class ManagerOrder + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.DataGridViewProduct = new System.Windows.Forms.DataGridView(); + this.label2 = new System.Windows.Forms.Label(); + this.btnBack = new System.Windows.Forms.Button(); + this.btnExit = new System.Windows.Forms.Button(); + ((System.ComponentModel.ISupportInitialize)(this.DataGridViewProduct)).BeginInit(); + this.SuspendLayout(); + // + // DataGridViewProduct + // + this.DataGridViewProduct.AllowUserToAddRows = false; + this.DataGridViewProduct.AllowUserToDeleteRows = false; + this.DataGridViewProduct.AllowUserToOrderColumns = true; + this.DataGridViewProduct.AllowUserToResizeColumns = false; + this.DataGridViewProduct.AllowUserToResizeRows = false; + this.DataGridViewProduct.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells; + this.DataGridViewProduct.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.AllCells; + this.DataGridViewProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.DataGridViewProduct.Location = new System.Drawing.Point(91, 58); + this.DataGridViewProduct.Name = "DataGridViewProduct"; + this.DataGridViewProduct.ReadOnly = true; + this.DataGridViewProduct.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; + this.DataGridViewProduct.Size = new System.Drawing.Size(691, 402); + this.DataGridViewProduct.TabIndex = 21; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.BackColor = System.Drawing.Color.Chartreuse; + this.label2.Font = new System.Drawing.Font("Times New Roman", 21.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label2.Location = new System.Drawing.Point(319, 9); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(247, 33); + this.label2.TabIndex = 20; + this.label2.Text = "Заказы (менеджер)"; + // + // btnBack + // + this.btnBack.BackColor = System.Drawing.Color.MediumSpringGreen; + this.btnBack.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.btnBack.Location = new System.Drawing.Point(380, 470); + this.btnBack.Name = "btnBack"; + this.btnBack.Size = new System.Drawing.Size(99, 39); + this.btnBack.TabIndex = 22; + this.btnBack.Text = "Каталог"; + this.btnBack.UseVisualStyleBackColor = false; + this.btnBack.Click += new System.EventHandler(this.btnBack_Click); + // + // btnExit + // + this.btnExit.BackColor = System.Drawing.Color.MediumSpringGreen; + this.btnExit.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnExit.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btnExit.Location = new System.Drawing.Point(846, 9); + this.btnExit.Name = "btnExit"; + this.btnExit.Size = new System.Drawing.Size(24, 23); + this.btnExit.TabIndex = 29; + this.btnExit.Text = "X"; + this.btnExit.UseVisualStyleBackColor = false; + this.btnExit.Click += new System.EventHandler(this.btnExit_Click); + // + // ManagerOrder + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(873, 521); + this.Controls.Add(this.btnExit); + this.Controls.Add(this.btnBack); + this.Controls.Add(this.DataGridViewProduct); + this.Controls.Add(this.label2); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Name = "ManagerOrder"; + this.Text = "ManagerOrder"; + ((System.ComponentModel.ISupportInitialize)(this.DataGridViewProduct)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.DataGridView DataGridViewProduct; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Button btnBack; + private System.Windows.Forms.Button btnExit; + } +} \ No newline at end of file diff --git a/ManagerOrder.cs b/ManagerOrder.cs new file mode 100644 index 0000000..4d569c1 --- /dev/null +++ b/ManagerOrder.cs @@ -0,0 +1,70 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Data.Common; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using MySql.Data.MySqlClient; + +namespace demMalyhin +{ + public partial class ManagerOrder : Form + { + private MySqlDataAdapter dataAdapter; + private DataTable prodTable; + private BindingSource bindingSource = new BindingSource(); + public ManagerOrder() + { + InitializeComponent(); + LoadProdData(); + } + + private void btnBack_Click(object sender, EventArgs e) + { + this.Close(); + ManagerMainForm mainForm = new ManagerMainForm(); + mainForm.Show(); + } + private void LoadProdData() // загрузка данных в дгв + { + try + { + DB db = new DB(); + using (MySqlConnection connection = db.getConnection()) + { + connection.Open(); + string query = "SELECT id_Orders AS `Идентификатор`, order_date AS `Дата заказа`, delivery_date AS `Дата доставки`, pickup_points.index AS `Почтовый индекс`, pickup_points.street AS `Улица`, pickup_points.city AS `Город`, pickup_points.house_number AS `Номер здания`, users.Surname AS `Фамилия клиента`, users.Name AS `Имя клиента`, users.Patronymic AS `Отчество`, Orders.code AS `Код заказа`, OrderStatus.status_name AS `Статус заказа` FROM Orders LEFT JOIN pickup_points ON Orders.pickup_point_id = pickup_points.idpickup_points JOIN users ON Orders.user_initials_id = users.id_users JOIN OrderStatus ON Orders.orderstatus_id = OrderStatus.id_OrderStatus"; + + dataAdapter = new MySqlDataAdapter(query, connection); + prodTable = new DataTable(); + dataAdapter.Fill(prodTable); + DataGridViewProduct.RowTemplate.Height = 60; + bindingSource.DataSource = prodTable; + DataGridViewProduct.DataSource = bindingSource; + DataGridViewProduct.AllowUserToAddRows = false; + DataGridViewProduct.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells; + DataGridViewProduct.ReadOnly = true; // настройки дгв + + } + } + catch (MySqlException ex) + { + MessageBox.Show("Ошибка при подключении к базе данных или выполнении запроса: " + ex.Message); + } + catch (Exception ex) + { + MessageBox.Show("Произошла общая ошибка: " + ex.Message); + } + + } + + private void btnExit_Click(object sender, EventArgs e) + { + Application.Exit(); + } + } +} diff --git a/ManagerOrder.resx b/ManagerOrder.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/ManagerOrder.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/Program.cs b/Program.cs new file mode 100644 index 0000000..db3bff4 --- /dev/null +++ b/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace demMalyhin +{ + internal static class Program + { + /// + /// Главная точка входа для приложения. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new LoginForm()); + } + } +} diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..db601d3 --- /dev/null +++ b/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Общие сведения об этой сборке предоставляются следующим набором +// набора атрибутов. Измените значения этих атрибутов для изменения сведений, +// связанных со сборкой. +[assembly: AssemblyTitle("demMalyhin")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("demMalyhin")] +[assembly: AssemblyCopyright("Copyright © 2025")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Установка значения False для параметра ComVisible делает типы в этой сборке невидимыми +// для компонентов COM. Если необходимо обратиться к типу в этой сборке через +// COM, следует установить атрибут ComVisible в TRUE для этого типа. +[assembly: ComVisible(false)] + +// Следующий GUID служит для идентификации библиотеки типов, если этот проект будет видимым для COM +[assembly: Guid("63e7ffbe-5f99-4f82-b33a-22851eedf6d9")] + +// Сведения о версии сборки состоят из указанных ниже четырех значений: +// +// Основной номер версии +// Дополнительный номер версии +// Номер сборки +// Редакция +// +// Можно задать все значения или принять номера сборки и редакции по умолчанию +// используя "*", как показано ниже: +// [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..1d6c573 --- /dev/null +++ b/Properties/Resources.Designer.cs @@ -0,0 +1,103 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программой. +// Исполняемая версия:4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. +// +//------------------------------------------------------------------------------ + +namespace demMalyhin.Properties { + using System; + + + /// + /// Класс ресурса со строгой типизацией для поиска локализованных строк и т.д. + /// + // Этот класс создан автоматически классом StronglyTypedResourceBuilder + // с помощью такого средства, как ResGen или Visual Studio. + // Чтобы добавить или удалить член, измените файл .ResX и снова запустите ResGen + // с параметром /str или перестройте свой проект VS. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public 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)] + public static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("demMalyhin.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Перезаписывает свойство CurrentUICulture текущего потока для всех + /// обращений к ресурсу с помощью этого класса ресурса со строгой типизацией. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap Icon { + get { + object obj = ResourceManager.GetObject("Icon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap Icon1 { + get { + object obj = ResourceManager.GetObject("Icon1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap picture { + get { + object obj = ResourceManager.GetObject("picture", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap picture1 { + get { + object obj = ResourceManager.GetObject("picture1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/Properties/Resources.resx b/Properties/Resources.resx new file mode 100644 index 0000000..690e740 --- /dev/null +++ b/Properties/Resources.resx @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + ..\Resources\Icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\picture.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\picture.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Properties/Settings.Designer.cs b/Properties/Settings.Designer.cs new file mode 100644 index 0000000..152cb6f --- /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 demMalyhin.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/Resources/Icon.png b/Resources/Icon.png new file mode 100644 index 0000000000000000000000000000000000000000..bdb7d5627a0344fb14054f29ffcdee769b40878c GIT binary patch literal 147115 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�# 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

-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 hj(X;^C}zwb(9Fj4=8jn26}TM%1W5^yng@PohNc zH9CnF-ZSKT@BQ89_dd`2?>o*sbI#st?X}nXtiAR=du^CU>WUOs>96A9;ZZ0d;F@@N z_>sW(9*7ty*{EJ@1%8Mu<<#Wx@IFS6otj($o*`xkO*K3`PZ%Dae-IwtF;L{cf`{kE zhljUjjE5(lh=)h(lv?*#5~%Pnf2L%iriRA}+=KA0;Dhl9fjfNQ4-cOn57!!Sho_9s z@L%_u_#FRe2=MSitnrBc(dYrcxQ{XL#qnJJ5@ZtmhXOw`lkmUp?*SBef3K4E0zafq z2whh^yld^aFMb@?H3mF90xRpM&ydg5RK?94?RiXIIGURCc-TAPxbP%B#DQCTbEFBx z!`{xpRop|0<$^*SxW^UqvOq3KkhW4R&(t149y+?1Lxgw)dH7hQuR+bH(<9?sV(Z!ONUrbDlmrsCKK!6*d;C4khAWb~D9b8#28~IN= zaC28P7i%Y^wW9+B*RF}FqZ?9+g#{<*zdo1!L|R+?wy|XXUG%@HA6a{t+dYF@+nYPM;`$}T4~V&7`rkGG zS5Dpk<`n!tIsZq^KTb(r92Wlrn@iv?N&)1huS)X%mlsK2UF#v##>3-FSAxqu^}ydq zBdruP_gQj&Q&e7$|M;aYjD^GMk<8Jv#Yhgio_3D%yUB2=WI9ur?9*mvsX=r;HEU=n zSIZqZ1VXT>z|JTyMRWZ=4a}J>9|G&!TQ3PIZ9F@k8n1TLnqI3;KNssS&MEw`{`a%i zdEQj@hxIAT_b=z9hb(So87ZCX_S)Ju|2d_#My{X^j^59!^0NI-v8O&T4{;Sv?G(7i zYm{Np(AcxGZ<>LUV0_CXQOC`jVB!vPQonaS%tv@be7;J|fpNUFzck{cUU4~GeWd#F zxt-YjeEdPftKj*@>P9=CiEbXD(lfF7_umgT-kf+N8N2&AQ%l!QCRW@dR3y2M0*tvwXljKc6c#{m_s7`+K0s z3MHm-A1c|q+`i)NCw+>X+znHUaOmtFUT*V5jvw@|ufJ%JAo`NVI#q8i%~0L9((o#m zJ+1%jWsGi7UQb;Dh0L);f^4p-CMBfc_IH%lW=E9xKB~i z(6erz1nf}#v}{VyL3GtuqfXyPCQmo7@yvAI-ofkRR<9*`4|c#d7isAMSWSW8hlhKzrIQ)Q@%2 zWHYcWpIveHx=XlCd~NV1AEocKTz6Y9V>k?_CWPoJWM<-wCT{T-_C~anvE9zi`&6m{ z6fQBRX4opt^fGV|9Ea_7<~5pRvw8SmHhqv+lWeHh)B`k1x1kTJEGL} zqs3zrYy#A))l;6)67n*|;KPmT?*k0_j*F_7PI6tTSz~0^D@sviI_eh%{T*WWsrA__ zjG0M-27Hv$e5JezJGlOX&@QAiR|Icw`)eSct0aE&OmBH`O^?+#Z|J#DqxLr`O1Vp? zqa-!H>4E2{KCN(EQ)yVLH7WZnv9mUvHSO-KG>Q!afnH#lN3?x~{$@m!2QzEw>rRpF z*ItuEIwr*DrSpC&f;x$Y{q}-s|LjJKPfo;olwMhi%oE%uua=!S_V^?%3g5j-uXd@x zej=U)ntdQ#zHM$R2W`3C(yS!d(1a{(r`WHQCSs<>IRY~u#8~67G52L0aWR!1WMaA5 zpfCRIhcC_v|4apvZ7!yon(OA8MJfOBrMnVgL47)x+N}D|k(eK`8#{{DBp<1e2PJ95 z3_qQ3`WyOYYhDG+uO6pTjo%+>D;VQ}W=h{r=Q&@g9I-}xQdzZ&-T z-IZN9>0Yz$1k0e6E!z3fv!3~k97n{&pyk;;ycOGvZt_(V)!?y*>@NJ0#+IrCxvo2X zNNZZKZeL)T4i2(_|~!A%CNAQ zvPxrbtq|Pgorj6L6krvMCl)txd;_DeVhphl^7^nDfwuekMdZy-Sjm4#5}J!#HnizL zB|>3N?|vCp9QJuD;>Oc{xWB9Y_#$HiS>Xn6*YAgyLlG)V2EEjmil7@tMW`!WUUU&z znDNkbh_@Fp1B5OBwaezV#>ZWbUsH$}@#S4E3l(9~)#ut*FCsuFdV%h;pNX$!$zO2V z>E68vY!KpTvkPetj5!JTBMZvRb1nxQAmD=W|EqxQCOLAY4-Harr_JOWW7w) zc1y1SJ2roy4n+%wFq&n`cSicH1bj(qsX^%>Ki8Dzj$Z5LsZ2Z2{(9l1J;^}V7TZli zolhTpIHxo{`#zsLWXWJ#Q(GBV`8h~#J7Q}qax?bXNNyX_M-xVREL(ofyt-^dlNf_b;iDD>j^MMEu5$y3}2b|4u0pY56l_w_RUsdq=C$9 z>jF|rw!w=RZ48K_>Ao%?l(x6)^7J~oPLh&+vnunDRtG2$_pR%|D3{H0T8j;BIKqD4}@(jJb{ zl_cPe9}>`-GExLVH{ivC;pv<{2>L~2^-|QK;&LgH{$Y#i=-En@Rk)hZQF`XidNw6OLVHgr6oZG0 za085h*~F_H+>EItUA%Jl*;cJE5EEB7jor-$9!8_QzyDfeN3x$ltApywOUH6>P+J3F zwb368Np&6Kk%})45v>lK{H!^^hWU*{VjoNi^7DQdodvgH| zIUknvi7~A#Hn*VbG}IT9SOw9s9V9lby)JIwcNK}bNfIo;TYPO}jTpVUBS_4h&&}rR ze@K28#sb1&vIKI9o9t|sUNC6N4>m(m#2;CK>JzXprn;r{5rZNgYeNO$2A_7~tajcnf*Ai4Dj&7s_b;UTO zNM(y?|2Wb7{h=lhEq41u!H54pu2K)>A(j#vge#vf)dAPo)6MyJuM${8KZ@_Q(`oOx5)KKe$vDlYiF0dq(t)vd3=Z=9M$mo_Mh?K_YC zkv4qSx|c#%vBnw}D+V-jmB5FOs?Net`{V3434SOZt?E1)+s&5MZ{YQi;D`a3WBJk1 z6zw{rywu_LFc`M^ih9({cwo-IAYwiB$yE}XfQdhxii7{L@pU?4jhnRxCJ(KN z^ja8x7IHpM|H@et{iKr0>a{F}cut_0I-6Z(;v^J(&$m61lJd44%hA&DobBRw!0!xc zoXWXL1L{9i$xn>u#>vXpJu;)X>DHgdg##qgt2UQzCj5Z&bs-F zxWKlKU(DV6Hu9xqh1n$YBO8~`O;j?P-@5pYJ`!`ymCZtQvTlT6NfJp={v}g+$|p*6 zn5{5tL280|(pVcvttX?=bW9KTL1JR|FQ4bZdqgITypcQ!(yTj&^;>tA^ucf1JqU7O zVVd1SjW<)$Y+pJ=3DzIj6>|~gTdpMze<{q~D_rdrYEYiz?)84_t!f3dybg->G(J?y za%1Zq%_cfDVQxaOe_U8|)wJ3Bl)B|!HbSf9$5Y#AjiRDOSWCZFUWz5YC;?;th{Q*g> zq|u3Q@i5uxs=4FJ!)x^TV3{q+`A>h(Rm7i_qpXmD+s^*hw^@B2jLDm(r5Xi9a{O7M z+iF!-RrH7MRoG~iJfPXrz}tiDY(XbkHduFt7jyJz5QDkYWi-3l)6uCxwW>Or{M98i105z{~Z4A^%t(C1HEgPYVA@b%8GVn)s@iYoz0 zrH?_R9^Ensw*G6E90Z3rY>bXergfqQMgYF9)~ISvbSLuw}^?9 zi=B>l&b5?9dWf|e7v5}f*TQeEaN@sp@3YpU_k(_Z&Vty6p5+E?HNywEa+;z~M;!~q z{`hJdxlKPrja)_`5 z$d74hzZ2Wh_A_wHasK2(ujK$6fjYgxSYF&_80A#IHbZ$q5whOr8I!ii{=3XqaZ!7t z+yr`r%ZQ2vWucDwsG1DnH41tmYV9EX^)AeH-PZ>1Z5=b&IT_)9XP4U}Y*AD)P#H)Bbq-a5xuZG}2K=HM%2{^-$3&#{D;8p;V?P;gDt+O9 zt(JYx>XWU9UWi?R;r9f#_jnacvv1rjepwy&(!|cgs1{;k6cJljS87HUnWRF)Ayyzx zoz6`z6K~=3#M%0|uqmkiL&$MarXluPYB8bpjKAvZ;nSr%-=TdEm)Mt5Wmk#k)=&uwjdz_}7q5CDI&M$pcWtTo zh}{g%$%tsu$BVKmD9lsR@A$6Vu3A%Irj|<_;gGU+YBr@m z^$U|J;KT^jujeKY)uU+!MxO2_=;Ulk#FX42f@%k$Bo&YS;e1jWOZ=nOf1OKO5QeOu zm0h~qGpw~u(?R?1=B#*JTX$s0&+^)pRta_9ecTSxumgg}()AtNpaQV$l+iMiAR@V8{IAyMjtg63z5|lhsaqXIZz-%x0 zB=BRU?q-R@_<{4=ZyKYj!B39r$B5Q2`}!N?ozw~eDC9w+-lp$kMy3!+o2{=t)G>(; zD_*9)QMtExt9|1uyw^!`$UY_$KX4m`zx;j}0fij&!u4rIet0B?S+Hp*$xce1>7BIl zzjlsvN^sTe?=F{S{41mKv`2pc&*WQTE&2!L=-odk2krUnxvR?=+3d>hD*8U(Q#T(z zQomMKs;r3E&OEyX)6T$iLqB$UW5^<9l-0*~sHv7dPfa7HSEn>5q7*AuY$}%+vJ!)S z#H8QrJg~dI{|VclBb^w!Md+ilxcFi*o9%H_8MsiR+3jP}%f*LS(r6m%f+dqRq_wN0 zwEEm)-nbG^y#kE^47Y0INmV`KzuC2ajg+QEUzuE8L6v52#%;V>1zM!pU6|FYRm0=4 z(a8>7``Wppf8)g!i7?EgrRhkIu-~OBKp0r@+#i(9r@5xCKEVK0A7#@1e!HFRl}4*$ z{-aLi>G;$#WzOY>_zt&^@2@(A!$&wfA;HttnLV*Sw5#3NDR8GFlWzX#9<`4Ul}!kj zllqK?ilXv4)VU0sn*L{|F}QdB34LCUTi8NS&R{zyjg!Hzg1bIh zpUAF;VdXTZlR$Fr@B4`#6pzAd=1>9ctc?!pwn(0~KSC?<_0O_ixuyJf8>K)St?+1$ zD{`}5(a)_;?_;UKc8M7)bhst=kO|EZZTR`_LpSiG4nL(_{uPVay`Mu&OUWCOwbYqo=oS#CSbE{iIuo*wI|;yP8Ak5KX*BU$QFu`H6OsFd zT`nb+weW0|%)&ri(?Q{jO{JsJqyy*qt+Zv6&!2n@ivuRh3wzf#tjM#?wEA0gMZk=o z8W6{p*84A@cOz$R9otwVla%swn;Jh49-PT#>?zwF58SDY2LtOn4ZFmKb-tyKZ(k*; ziZ3)cb)U@XX^rTPSp0DiB*qSMmb%-14D(W&uv`8_Lw4sB={BfmY~{So>MqB>*}v8u zF%H8lhXe1|FQWrv@_cjFk8YJPqL1Y}kH#q0Viu~gWMR&o@=VJ=;nMeVrGKyY2-PQ0 z6RvuEiYYou3k?kXjgOrL8|YV(AGR2NF0@UiIb|RFBBMR-l^1-XuSByTsv%eWf%)M@buhZ`a;fka+(x|&EwAWLgY}#1wovxi!r5QEeosv)@T7Jd^ zYzk17ya98u&d?-sX}q}qu8{0;!R-Ny-XZGZ@Z)mtJ{QBO+*$i$319&iNR-dJW<#>d zxynbnw_?lkWYF?vsz{k{&Aynm2FCT?uPg61oHT7uypAhHBPKr;jvz>sez0M<`56d=qtf=>G7>!WqFp)NARv1M@@%y_ z28VHO%&}8jj)0{hXjGE%-JM45F&*VOy|l5md&d3mH$;>|5OgR#mVg26cG)qOl#O`R z=E>N~>wZsKC11uzml2uVAgst#uj%wi+kZjRH-YQX+JliDmr~VGn#9u^~xN@DI zXJ%}C2m}e4;LJ{!W=VrQ7U_w=fF8t96Iw@GRB4IhvqLs5@9_Gl&h6OsKn>Ue2BOL^ zWfBR9{scbilqLllH7Z~~NsfPfg%H2*2AJwksd|)0hv?tUL=sZ2L2iN{qzW3RpOC=| zs|!;3f>iiF@!IXOJP7DWx=21F>K?I}GCsU!@K?pRZM&e_HD_cfH|B)MEQdOji!Jd$ zg?$DJ7weDqV7euzsoZVmpY`2u!d{+sI76BCsh7%MwsS4M+&e@wl?&yDOrRh2a)zY@ z8Qe#&g_rwIZ{sI|+%T9_*k=tE7izu*zJuvhq9^aWU%#T6naB)#&8$<*8-);s_oXn0 zppL^Z+nI#0-RW!%M8gsDWMlxJ{Q^8OUVoS?32*s|MT-hAZ(NNH+hC0Z{5?jD%^$Pv zmBy}gs{MiswI3JfYpQ%nhZ}Onn?Rp_&Nk*3`NU~Q&O&ugY5J1QE&R~SZ&3DBaV;1crvC_y>X@{ zyrsytr_3(zDEP-w)6!n_-R8G)UOu;BYw4G>SbH{*6s2mAS>OywcEefw_uCQ}dSIuFLO~&neTGQ(!OYt3=jc*#GsX^` z^Y$xH-raBX?PPTQ1#0Y;SA$vkR9V`vq{fWuR~zDk3RMX1x4^-`?)*#`MV(lGY+s@D zf``&nkueecO4b1WL5et|K(l114x)iB3L!w}@^yNLh>yCDNp;~BwgVhBZ}FA6D`)P} zm_H$tbLOAF#_agb{vLt*3DM74_;vE3H(8reaI!eB7wpPR(VOhfst1jW$utN>Ig=KA zjYue})hfKbWva8T3gwj5WZ>!C@gNZ0BA^=73?-^j{K7ibsoYRtOooY9DpkvlP?C2u zw5yTkk62c2=*Ns`yAGVZ?jnA#D^J2MY(DjL&f=&5%r3dOMMii-Xb^(0$C&u_9rggc zrMmtJBRU)U(6o>AQ36!8XTC|rF%HD|_^&^*{6_-OYt*CRVm8L_KFM%eqCGRlfXKvT zJXq^TWF|6jpATbJoS?DOA^UXiN>FLl-EW0C=a1t^AI{D!Wi}y>%`hlPAyF@jg$NE)YyJFRvMg(tv4(B0nMuWr6y{kIU}ONTde%{@uMa;*CQ^q zCjG3qxqcx%)x?ex&cUH*qc>$S0TfHeWbG{1@EWZh#t zfL0tvA642C@ln*})pYK-11rP&ye|iP_apkL4Rjq7Kvn!(Bn`cRg|a@F#<_O8D(H~z#n&ykdaP)kccXP>Pbj*_=<}H5OKgd2 z%psq(n2x0IEj^Y_6{e^|84z?5B|!bHWk=;_#=Vw+yppBj+hdDxd?GuR>x-tVSHPXH zmXCTb+GUpt^(L3=@?NG)yGv@9qweKFg{g;qqT4Cod*u2UmP~v;Pn@~WrW!fz)hFl zHsxDR&aIkron&UqMg;ZL{W*rPJiO381w`EOH;y%@1Zg?c z8`!wm6#07dx%LqdXq%V$*p5o~j8Z97s0e>XD$y<-a$czr)$*)v-;x>=ptSd-5{|ML zl()?z+ln;Jurhb@n>WSeJ)Z#cv-c_o$>x!sHhlLIS?ueO%_SO{v-yE3E%_TL6V0wv z5gy-Z^*FT*^mMPdCFh#+2Rd(i%1auU$ftRRj9Ntt+wJ!<$KMVQID-vrD)=7zsNr^G?-Ep~DywX$ zOw0UqZVFb68ce%=+NUchjJTmADgZ+J zfP&0$AAQ#b;@?|IQw8Un`eS~vs(H3C z?9F_UoJ&~TiVQ{F$IcoqJA(FOfrQA*8(R)sb%iTcW4bIR0)B>Vu=230PHFpe)&-mQ z-io~m6n!Y}$0yuSEfArgx8Y07JRk$C1%9um7TSYZF$dLbzFNI%bDAYp_AHdzNhML& z5^k>b&3ORp6_0RaNl+3WZ)X;epfyehEo9qQSMgB>>7F*WpQKiO$W^HutHL-DrVif_ zX;-YTuw&fz2-~*=e?g-cM6Uzcl^zCkYR$$F9VQy0B(33@&`x$$#Tu2*v3>>iK)05< zk7DNubb5NW1>cW2L?&_u@BQsSTxJ0Ujf|;I(+lL%84f*1{1yT4A+p#$Nj^twut>FWxXVuHyA{#}1N@*@Bec#{)i7+OH zUA@CA z6|w<{)+s=^BbRL2MWTPsO)K}ur@~LHejqh!Pfzvk>~YkdsCNKa;wAvWw@qOBhp;}=AvSZ)YCzd{b5X{GkX5|*UI6Sc*2Go@we~~nnSDC*HK5t6(lTUHrx~z)<>Q+5F zC8;c&1NMC}f5bb0DFK)HGXnb2u|DN}Xwb=|ycK)+(b$)c{UTxJOXC#qOXSr~P6!3C zmnmw<`B^uMt+m04<|6slL<*&TTk4lWlF_K?>GtVa&wGL>Ib1SmVf7tF1o~Ko`p9pR zH~;24HgMZyq|OphbK&!UU;i;@kZlM&Fft?3n>;bOu0I>eLuR&uVWJji+GJcmK z;?>*49!gx^`?c(}UYD?y~}yO!_3*r1l6 zQ%+-zx=eY=f{H?c{p1HD*Z+uwiYWOB(lNX=&sluj^7TS3?FX4~!WM|PYwF1zc0{GP zH><%v!=mHB9KEu9q&)%Wx@YREH8$c)%v2XPw~Cf6m=s$EftTb|pi6@b)G_wBa{#jP znNJB(&x*b25dUy90XBj`yh{HL163k`dZohm9f7cvYXAuNAYhxhU=lzBxZ;7ZtVf*M z8-i=7001s$*zVhni*r^0z?I~pDHphD0%Xd?KV!LYkm%uJ@+~J}CLCD~FdxL~RovA9 z_(7Gb5Mr#rjGZ)&Oqq>}@a`vzCnY#ZR!PA7s(JHIZyZ^yGK5&urZ-m~cZz2~0C-X8 z_OCd?k#WQUWIvMCYH{Fanghci9^Y~gNA`#lAS)0`ak)^r8|W!FVc*il@qniQnWnAq z;>D4S|KBR)TfDeYI=tkki_oOVu6b?qp|v9I0;~y$?L3Yk9l|(#TW< zYPiEH@&eMz_SuLvP<%Ks` z0uNG!+t)>KVv~W`Wc~U@6%DR!DOM`NRoz#4H5X#91CH_pda1?AEqw9?+WVXpy&v+= zzY4LwJW9riOpNt+-N^3NsGpGX9!&dQ^10{0LMz{VQ~TzHw`YNRI7g=NKaE56uAI`! z1govfe6T;0ZBtZ+7o3wiKdU>Xz-jRl?4&+vWTaBU79sIRIPLq!jp{4Lu^v}@N#d*Z2&gE^Wh4(2hL{%?Sn z6&M>%TR=l*S#`GRXtOliG_MrKI&)W2?np-^A|tHDOtAOP4z>@g!q#{af;9k7N5uR) zW_S}eqhDKa^WCQ%r&S>=8hcNV@%L*-6UaG)I$bQ)W|9qwuQ;<#s{8Myp9j(@<6;5U)v9G~^ftyAX1NKs4CuhTdW0j^R1 zX08ung#C1X2fK=ow_C7sSSjqva&p{d^$In(;n$sQu>zDf`TXU)?tpCP>5>_UB7JdK;}%r#ml!n4mOan|2zp z`WO2j5qS7B(9l|)l4BIwKXX%tQ<|m%w9judjU4h|@xeYOJ%23!>x6upSVVDoRaFC#8eK2I2)q7S7t29*kSvF?9)0DV1 zxPb-MD#L>+3ZfZ|y|s==&bYKqA}_%La#srV*LxKe?Py>(;Fi-*{4o(-h6giktI?c4 zoo7GG6Wd$C&XN7c162I=9e8Jgk94D5W!kQ^adFqk9-zYm60CNZ$gMGUyg!q$^we)I z`qD#<--AC(Sgq6_J;hwhR-TWts`WAm+35(NFadiHa$`xL=>uaLE@T~Qkc*`(5Lb|~ zcm_{`!UIn3Bz7*dxio~!zYpuo=B9G&aBvH;(B}b?z>2M^qqknZF{i^V5^*dcct=TO zKIvt1tr=gM_i`%O&g8j$ja>&L@Ob}z!( z17l4Bpxv8daoS(3^z&}fs^}ojwS7Y0d3?4RUI@&M7Lf>(qdM(wn}qfdZE)^@`1bx8 z5J+%0rTUG+&RlFsal?4_G4>_RIX)q7)tP@`=U7Q;Z`tdWUD;F_vJb(Ol-Osh zWvg*nNB%=Bve`iI+9dbiXLX;!xjSwcc8ezFp}-POz1y2&AN;C*?Z7D7jW+E)MeE)( z*vj>okzuqkIsXnNHwO_}sXdb!5{2!CMY(mgfxbf|Z>tw?Z=I8%VH@&EpQS@_{{y2W MuMRJHU>xxO04*uHzyJUM literal 0 HcmV?d00001 diff --git a/UserMainForm.Designer.cs b/UserMainForm.Designer.cs new file mode 100644 index 0000000..d661e75 --- /dev/null +++ b/UserMainForm.Designer.cs @@ -0,0 +1,433 @@ +namespace demMalyhin +{ + partial class UserMainForm + { + ///

+ /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.label11 = new System.Windows.Forms.Label(); + this.btnExit = new System.Windows.Forms.Button(); + this.btnBack = new System.Windows.Forms.Button(); + this.DataGridViewProduct = new System.Windows.Forms.DataGridView(); + this.panel1 = new System.Windows.Forms.Panel(); + this.panel3 = new System.Windows.Forms.Panel(); + this.label4 = new System.Windows.Forms.Label(); + this.SaleLabel = new System.Windows.Forms.Label(); + this.panel2 = new System.Windows.Forms.Panel(); + this.textBoxFP = new System.Windows.Forms.TextBox(); + this.textBoxStock = new System.Windows.Forms.TextBox(); + this.textBoxUnit = new System.Windows.Forms.TextBox(); + this.textBoxPrice = new System.Windows.Forms.TextBox(); + this.textBoxSup = new System.Windows.Forms.TextBox(); + this.textBoxManuf = new System.Windows.Forms.TextBox(); + this.textBoxDesc = new System.Windows.Forms.TextBox(); + this.label3 = new System.Windows.Forms.Label(); + this.StockLabel = new System.Windows.Forms.Label(); + this.label9 = new System.Windows.Forms.Label(); + this.PriceLabel = new System.Windows.Forms.Label(); + this.SupplierLabel = new System.Windows.Forms.Label(); + this.ManufacturerLabel = new System.Windows.Forms.Label(); + this.DescriptionLabel = new System.Windows.Forms.Label(); + this.NameLabel = new System.Windows.Forms.Label(); + this.CategoryLabel = new System.Windows.Forms.Label(); + this.pictureBoxPhoto = new System.Windows.Forms.PictureBox(); + this.labelFIO = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + ((System.ComponentModel.ISupportInitialize)(this.DataGridViewProduct)).BeginInit(); + this.panel1.SuspendLayout(); + this.panel3.SuspendLayout(); + this.panel2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxPhoto)).BeginInit(); + this.SuspendLayout(); + // + // label11 + // + this.label11.AutoSize = true; + this.label11.BackColor = System.Drawing.Color.Chartreuse; + this.label11.Font = new System.Drawing.Font("Times New Roman", 21.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label11.Location = new System.Drawing.Point(311, 9); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(277, 33); + this.label11.TabIndex = 44; + this.label11.Text = "Каталог пользователя"; + // + // btnExit + // + this.btnExit.BackColor = System.Drawing.Color.MediumSpringGreen; + this.btnExit.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnExit.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btnExit.Location = new System.Drawing.Point(12, 9); + this.btnExit.Name = "btnExit"; + this.btnExit.Size = new System.Drawing.Size(24, 23); + this.btnExit.TabIndex = 43; + this.btnExit.Text = "X"; + this.btnExit.UseVisualStyleBackColor = false; + this.btnExit.Click += new System.EventHandler(this.btnExit_Click); + // + // btnBack + // + this.btnBack.BackColor = System.Drawing.Color.MediumSpringGreen; + this.btnBack.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.btnBack.Location = new System.Drawing.Point(404, 527); + this.btnBack.Name = "btnBack"; + this.btnBack.Size = new System.Drawing.Size(99, 39); + this.btnBack.TabIndex = 42; + this.btnBack.Text = "Главное меню"; + this.btnBack.UseVisualStyleBackColor = false; + this.btnBack.Click += new System.EventHandler(this.btnBack_Click); + // + // DataGridViewProduct + // + this.DataGridViewProduct.AllowUserToAddRows = false; + this.DataGridViewProduct.AllowUserToDeleteRows = false; + this.DataGridViewProduct.AllowUserToOrderColumns = true; + this.DataGridViewProduct.AllowUserToResizeColumns = false; + this.DataGridViewProduct.AllowUserToResizeRows = false; + this.DataGridViewProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.DataGridViewProduct.Location = new System.Drawing.Point(74, 74); + this.DataGridViewProduct.Name = "DataGridViewProduct"; + this.DataGridViewProduct.ReadOnly = true; + this.DataGridViewProduct.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; + this.DataGridViewProduct.Size = new System.Drawing.Size(748, 223); + this.DataGridViewProduct.TabIndex = 41; + this.DataGridViewProduct.Click += new System.EventHandler(this.dataGridViewProd_Click); + // + // panel1 + // + this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel1.Controls.Add(this.panel3); + this.panel1.Controls.Add(this.panel2); + this.panel1.Controls.Add(this.pictureBoxPhoto); + this.panel1.Location = new System.Drawing.Point(56, 303); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(789, 218); + this.panel1.TabIndex = 40; + // + // panel3 + // + this.panel3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel3.Controls.Add(this.label4); + this.panel3.Controls.Add(this.SaleLabel); + this.panel3.Location = new System.Drawing.Point(623, 14); + this.panel3.Name = "panel3"; + this.panel3.Size = new System.Drawing.Size(142, 189); + this.panel3.TabIndex = 2; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label4.Location = new System.Drawing.Point(29, 51); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(73, 28); + this.label4.TabIndex = 4; + this.label4.Text = "Действующая\r\nскидка"; + this.label4.TextAlign = System.Drawing.ContentAlignment.TopCenter; + // + // SaleLabel + // + this.SaleLabel.AutoSize = true; + this.SaleLabel.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.SaleLabel.Location = new System.Drawing.Point(53, 87); + this.SaleLabel.Name = "SaleLabel"; + this.SaleLabel.Size = new System.Drawing.Size(0, 14); + this.SaleLabel.TabIndex = 2; + // + // panel2 + // + this.panel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel2.Controls.Add(this.textBoxFP); + this.panel2.Controls.Add(this.textBoxStock); + this.panel2.Controls.Add(this.textBoxUnit); + this.panel2.Controls.Add(this.textBoxPrice); + this.panel2.Controls.Add(this.textBoxSup); + this.panel2.Controls.Add(this.textBoxManuf); + this.panel2.Controls.Add(this.textBoxDesc); + this.panel2.Controls.Add(this.label3); + this.panel2.Controls.Add(this.StockLabel); + this.panel2.Controls.Add(this.label9); + this.panel2.Controls.Add(this.PriceLabel); + this.panel2.Controls.Add(this.SupplierLabel); + this.panel2.Controls.Add(this.ManufacturerLabel); + this.panel2.Controls.Add(this.DescriptionLabel); + this.panel2.Controls.Add(this.NameLabel); + this.panel2.Controls.Add(this.CategoryLabel); + this.panel2.Location = new System.Drawing.Point(212, 14); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(395, 189); + this.panel2.TabIndex = 1; + // + // textBoxFP + // + this.textBoxFP.Font = new System.Drawing.Font("Times New Roman", 8.25F); + this.textBoxFP.Location = new System.Drawing.Point(247, 113); + this.textBoxFP.Name = "textBoxFP"; + this.textBoxFP.ReadOnly = true; + this.textBoxFP.Size = new System.Drawing.Size(95, 20); + this.textBoxFP.TabIndex = 15; + // + // textBoxStock + // + this.textBoxStock.Font = new System.Drawing.Font("Times New Roman", 8.25F); + this.textBoxStock.Location = new System.Drawing.Point(148, 158); + this.textBoxStock.Name = "textBoxStock"; + this.textBoxStock.ReadOnly = true; + this.textBoxStock.Size = new System.Drawing.Size(194, 20); + this.textBoxStock.TabIndex = 14; + // + // textBoxUnit + // + this.textBoxUnit.Font = new System.Drawing.Font("Times New Roman", 8.25F); + this.textBoxUnit.Location = new System.Drawing.Point(148, 135); + this.textBoxUnit.Name = "textBoxUnit"; + this.textBoxUnit.ReadOnly = true; + this.textBoxUnit.Size = new System.Drawing.Size(194, 20); + this.textBoxUnit.TabIndex = 13; + // + // textBoxPrice + // + this.textBoxPrice.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.textBoxPrice.Location = new System.Drawing.Point(148, 113); + this.textBoxPrice.Name = "textBoxPrice"; + this.textBoxPrice.ReadOnly = true; + this.textBoxPrice.Size = new System.Drawing.Size(95, 20); + this.textBoxPrice.TabIndex = 12; + // + // textBoxSup + // + this.textBoxSup.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.textBoxSup.Location = new System.Drawing.Point(148, 87); + this.textBoxSup.Name = "textBoxSup"; + this.textBoxSup.ReadOnly = true; + this.textBoxSup.Size = new System.Drawing.Size(194, 20); + this.textBoxSup.TabIndex = 11; + // + // textBoxManuf + // + this.textBoxManuf.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.textBoxManuf.Location = new System.Drawing.Point(148, 64); + this.textBoxManuf.Name = "textBoxManuf"; + this.textBoxManuf.ReadOnly = true; + this.textBoxManuf.Size = new System.Drawing.Size(194, 20); + this.textBoxManuf.TabIndex = 10; + // + // textBoxDesc + // + this.textBoxDesc.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.textBoxDesc.Location = new System.Drawing.Point(148, 41); + this.textBoxDesc.Name = "textBoxDesc"; + this.textBoxDesc.ReadOnly = true; + this.textBoxDesc.Size = new System.Drawing.Size(194, 20); + this.textBoxDesc.TabIndex = 9; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label3.Location = new System.Drawing.Point(131, 14); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(11, 15); + this.label3.TabIndex = 8; + this.label3.Text = "I"; + // + // StockLabel + // + this.StockLabel.AutoSize = true; + this.StockLabel.BackColor = System.Drawing.Color.Chartreuse; + this.StockLabel.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.StockLabel.Location = new System.Drawing.Point(14, 158); + this.StockLabel.Name = "StockLabel"; + this.StockLabel.Size = new System.Drawing.Size(112, 14); + this.StockLabel.TabIndex = 7; + this.StockLabel.Text = "Количество на складе:"; + // + // label9 + // + this.label9.AutoSize = true; + this.label9.BackColor = System.Drawing.Color.Chartreuse; + this.label9.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label9.Location = new System.Drawing.Point(21, 135); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(104, 14); + this.label9.TabIndex = 6; + this.label9.Text = "Единица измерения:"; + // + // PriceLabel + // + this.PriceLabel.AutoSize = true; + this.PriceLabel.BackColor = System.Drawing.Color.Chartreuse; + this.PriceLabel.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.PriceLabel.Location = new System.Drawing.Point(57, 113); + this.PriceLabel.Name = "PriceLabel"; + this.PriceLabel.Size = new System.Drawing.Size(69, 14); + this.PriceLabel.TabIndex = 5; + this.PriceLabel.Text = "Цена товара:"; + // + // SupplierLabel + // + this.SupplierLabel.AutoSize = true; + this.SupplierLabel.BackColor = System.Drawing.Color.Chartreuse; + this.SupplierLabel.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.SupplierLabel.Location = new System.Drawing.Point(63, 90); + this.SupplierLabel.Name = "SupplierLabel"; + this.SupplierLabel.Size = new System.Drawing.Size(63, 14); + this.SupplierLabel.TabIndex = 4; + this.SupplierLabel.Text = "Поставщик:"; + // + // ManufacturerLabel + // + this.ManufacturerLabel.AutoSize = true; + this.ManufacturerLabel.BackColor = System.Drawing.Color.Chartreuse; + this.ManufacturerLabel.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.ManufacturerLabel.Location = new System.Drawing.Point(44, 67); + this.ManufacturerLabel.Name = "ManufacturerLabel"; + this.ManufacturerLabel.Size = new System.Drawing.Size(82, 14); + this.ManufacturerLabel.TabIndex = 3; + this.ManufacturerLabel.Text = "Производитель:"; + // + // DescriptionLabel + // + this.DescriptionLabel.AutoSize = true; + this.DescriptionLabel.BackColor = System.Drawing.Color.Chartreuse; + this.DescriptionLabel.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.DescriptionLabel.Location = new System.Drawing.Point(34, 44); + this.DescriptionLabel.Name = "DescriptionLabel"; + this.DescriptionLabel.Size = new System.Drawing.Size(92, 14); + this.DescriptionLabel.TabIndex = 2; + this.DescriptionLabel.Text = "Описание товара:"; + // + // NameLabel + // + this.NameLabel.AutoSize = true; + this.NameLabel.BackColor = System.Drawing.Color.Chartreuse; + this.NameLabel.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.NameLabel.Location = new System.Drawing.Point(157, 16); + this.NameLabel.Name = "NameLabel"; + this.NameLabel.Size = new System.Drawing.Size(112, 14); + this.NameLabel.TabIndex = 1; + this.NameLabel.Text = "Наименование товара"; + // + // CategoryLabel + // + this.CategoryLabel.AutoSize = true; + this.CategoryLabel.BackColor = System.Drawing.Color.Chartreuse; + this.CategoryLabel.Font = new System.Drawing.Font("Times New Roman", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.CategoryLabel.Location = new System.Drawing.Point(19, 16); + this.CategoryLabel.Name = "CategoryLabel"; + this.CategoryLabel.Size = new System.Drawing.Size(92, 14); + this.CategoryLabel.TabIndex = 0; + this.CategoryLabel.Text = "Категория товара"; + // + // pictureBoxPhoto + // + this.pictureBoxPhoto.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.pictureBoxPhoto.Location = new System.Drawing.Point(17, 14); + this.pictureBoxPhoto.Name = "pictureBoxPhoto"; + this.pictureBoxPhoto.Size = new System.Drawing.Size(174, 189); + this.pictureBoxPhoto.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.pictureBoxPhoto.TabIndex = 0; + this.pictureBoxPhoto.TabStop = false; + // + // labelFIO + // + this.labelFIO.AutoSize = true; + this.labelFIO.Font = new System.Drawing.Font("Times New Roman", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.labelFIO.Location = new System.Drawing.Point(694, 9); + this.labelFIO.Name = "labelFIO"; + this.labelFIO.Size = new System.Drawing.Size(0, 15); + this.labelFIO.TabIndex = 46; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.BackColor = System.Drawing.Color.Chartreuse; + this.label1.Font = new System.Drawing.Font("Times New Roman", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))); + this.label1.Location = new System.Drawing.Point(604, 9); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(90, 15); + this.label1.TabIndex = 45; + this.label1.Text = "ФИО Клиента -"; + // + // UserMainForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(892, 574); + this.Controls.Add(this.labelFIO); + this.Controls.Add(this.label1); + this.Controls.Add(this.label11); + this.Controls.Add(this.btnExit); + this.Controls.Add(this.btnBack); + this.Controls.Add(this.DataGridViewProduct); + this.Controls.Add(this.panel1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Name = "UserMainForm"; + this.Text = "UserMainForm"; + this.Load += new System.EventHandler(this.UserMainForm_Load); + ((System.ComponentModel.ISupportInitialize)(this.DataGridViewProduct)).EndInit(); + this.panel1.ResumeLayout(false); + this.panel3.ResumeLayout(false); + this.panel3.PerformLayout(); + this.panel2.ResumeLayout(false); + this.panel2.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBoxPhoto)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label label11; + private System.Windows.Forms.Button btnExit; + private System.Windows.Forms.Button btnBack; + private System.Windows.Forms.DataGridView DataGridViewProduct; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Panel panel3; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label SaleLabel; + private System.Windows.Forms.Panel panel2; + private System.Windows.Forms.TextBox textBoxFP; + private System.Windows.Forms.TextBox textBoxStock; + private System.Windows.Forms.TextBox textBoxUnit; + private System.Windows.Forms.TextBox textBoxPrice; + private System.Windows.Forms.TextBox textBoxSup; + private System.Windows.Forms.TextBox textBoxManuf; + private System.Windows.Forms.TextBox textBoxDesc; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label StockLabel; + private System.Windows.Forms.Label label9; + private System.Windows.Forms.Label PriceLabel; + private System.Windows.Forms.Label SupplierLabel; + private System.Windows.Forms.Label ManufacturerLabel; + private System.Windows.Forms.Label DescriptionLabel; + private System.Windows.Forms.Label NameLabel; + private System.Windows.Forms.Label CategoryLabel; + private System.Windows.Forms.PictureBox pictureBoxPhoto; + private System.Windows.Forms.Label labelFIO; + private System.Windows.Forms.Label label1; + } +} \ No newline at end of file diff --git a/UserMainForm.cs b/UserMainForm.cs new file mode 100644 index 0000000..218fd55 --- /dev/null +++ b/UserMainForm.cs @@ -0,0 +1,193 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using MySql.Data.MySqlClient; + +namespace demMalyhin +{ + public partial class UserMainForm : Form + { + private MySqlDataAdapter dataAdapter; + private DataTable prodTable; + private BindingSource bindingSource = new BindingSource(); + public UserMainForm() + { + InitializeComponent(); + LoadProdData(); + } + private void LoadProdData() // загрузка данных в дгв + { + try + { + DB db = new DB(); + using (MySqlConnection connection = db.getConnection()) + { + connection.Open(); + string query = "SELECT article_product AS `Артикул`, product_name AS `Название товара`, price AS `Цена`, supplier_name AS `Поставщик`, Manufacturer_name AS `Производитель`, Category_name AS `Категория`, sale_percent AS `Скидка`, unit_type AS `Единица измерения`, description AS `описание`, quantity_in_stock AS `Количество на складе`, photo AS `фото` FROM products LEFT JOIN Category ON products.category_id = Category.id_Category JOIN Supplier ON products.supplier_id = Supplier.id_Supplier JOIN Manufacturer ON products.manufacturer_id = Manufacturer.id_Manufacturer"; + + dataAdapter = new MySqlDataAdapter(query, connection); + prodTable = new DataTable(); + dataAdapter.Fill(prodTable); + DataGridViewProduct.RowTemplate.Height = 60; + bindingSource.DataSource = prodTable; + DataGridViewProduct.DataSource = bindingSource; + DataGridViewProduct.AllowUserToAddRows = false; + DataGridViewProduct.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells; + DataGridViewProduct.ReadOnly = true; // настройки дгв + + } + } + catch (MySqlException ex) + { + MessageBox.Show("Ошибка при подключении к базе данных или выполнении запроса: " + ex.Message); + } + catch (Exception ex) + { + MessageBox.Show("Произошла общая ошибка: " + ex.Message); + } + + } + + private void dataGridViewProd_Click(object sender, EventArgs e) + { + textBoxDesc.Text = DataGridViewProduct.CurrentRow.Cells[8].Value.ToString(); + textBoxManuf.Text = DataGridViewProduct.CurrentRow.Cells[4].Value.ToString(); + textBoxSup.Text = DataGridViewProduct.CurrentRow.Cells[3].Value.ToString(); + textBoxPrice.Text = DataGridViewProduct.CurrentRow.Cells[2].Value.ToString(); + textBoxUnit.Text = DataGridViewProduct.CurrentRow.Cells[7].Value.ToString(); + textBoxStock.Text = DataGridViewProduct.CurrentRow.Cells[9].Value.ToString(); + NameLabel.Text = DataGridViewProduct.CurrentRow.Cells[1].Value.ToString(); + CategoryLabel.Text = DataGridViewProduct.CurrentRow.Cells[5].Value.ToString(); + SaleLabel.Text = DataGridViewProduct.CurrentRow.Cells[6].Value.ToString() + "%"; + + try + { + object photoData = DataGridViewProduct.CurrentRow.Cells[10].Value; + if (photoData != DBNull.Value) + { + byte[] imageData = (byte[])photoData; + if (imageData != null && imageData.Length > 0) + { + using (MemoryStream ms = new MemoryStream(imageData)) + { + pictureBoxPhoto.Image = Image.FromStream(ms); + pictureBoxPhoto.SizeMode = PictureBoxSizeMode.Zoom; + } + } + else + { + pictureBoxPhoto.Image = Properties.Resources.picture; + pictureBoxPhoto.SizeMode = PictureBoxSizeMode.Zoom; + } + } + else + { + pictureBoxPhoto.Image = Properties.Resources.picture; + pictureBoxPhoto.SizeMode = PictureBoxSizeMode.Zoom; + } + } + catch (Exception ex) + { + MessageBox.Show("Ошибка при загрузке изображения: " + ex.Message); + pictureBoxPhoto.Image = Properties.Resources.picture; + pictureBoxPhoto.SizeMode = PictureBoxSizeMode.Zoom; + } + try + { + var currentRow = DataGridViewProduct.CurrentRow; + if (currentRow == null) return; + + Color defaultColor = SystemColors.Window; + textBoxPrice.BackColor = defaultColor; + textBoxSup.BackColor = defaultColor; + textBoxManuf.BackColor = defaultColor; + textBoxStock.BackColor = defaultColor; + textBoxPrice.ForeColor = Color.Black; + textBoxPrice.Font = new Font(textBoxPrice.Font, FontStyle.Regular); + textBoxFP.Text = ""; + decimal originalPrice = 0m; + int salePercent = 0; + int quantityInStock = 0; + + decimal.TryParse(currentRow.Cells[2].Value?.ToString(), out originalPrice); + int.TryParse(currentRow.Cells[6].Value?.ToString(), out salePercent); + int.TryParse(currentRow.Cells[9].Value?.ToString(), out quantityInStock); + + if (salePercent > 15) + { + Color highDiscountColor = ColorTranslator.FromHtml("#2E8B57"); + textBoxPrice.BackColor = highDiscountColor; + textBoxSup.BackColor = highDiscountColor; + textBoxManuf.BackColor = highDiscountColor; + textBoxStock.BackColor = highDiscountColor; + textBoxDesc.BackColor = highDiscountColor; + textBoxFP.BackColor = highDiscountColor; + textBoxUnit.BackColor = highDiscountColor; + panel3.BackColor = highDiscountColor; + + } + + else + { + textBoxPrice.BackColor = Color.White; + textBoxSup.BackColor = Color.White; + textBoxManuf.BackColor = Color.White; + textBoxStock.BackColor = Color.White; + textBoxDesc.BackColor = Color.White; + textBoxFP.BackColor = Color.White; + textBoxUnit.BackColor = Color.White; + panel3.BackColor = Color.White; + } + + if (salePercent > 0) + { + decimal finalPrice = originalPrice * (1 - (decimal)salePercent / 100); + textBoxPrice.Text = $"{originalPrice:N2}"; + textBoxPrice.ForeColor = Color.Red; + textBoxPrice.Font = new Font(textBoxPrice.Font, FontStyle.Strikeout); + textBoxFP.Text = $"{finalPrice:N2}"; + textBoxFP.ForeColor = Color.Black; + textBoxFP.Font = new Font(textBoxFP.Font, FontStyle.Regular); + } + else + { + textBoxPrice.Text = $"{originalPrice:N2}"; + } + if (quantityInStock <= 0) + { + textBoxStock.BackColor = Color.LightBlue; + } + + } + catch (Exception ex) + { + MessageBox.Show("Ошибка при обработке данных товара: " + ex.Message); + } + } + + private void btnBack_Click(object sender, EventArgs e) + { + this.Hide(); + LoginForm log = new LoginForm(); + log.Show(); + } + + private void btnExit_Click(object sender, EventArgs e) + { + Application.Exit(); + } + + private void UserMainForm_Load(object sender, EventArgs e) + { + labelFIO.Text = LoginForm.ClientSurname + " " + LoginForm.ClientName + " " + LoginForm.ClientPatronymic; + } + } +} + diff --git a/UserMainForm.resx b/UserMainForm.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/UserMainForm.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/demMalyhin.csproj b/demMalyhin.csproj new file mode 100644 index 0000000..107fe7a --- /dev/null +++ b/demMalyhin.csproj @@ -0,0 +1,243 @@ + + + + + Debug + AnyCPU + {63E7FFBE-5F99-4F82-B33A-22851EEDF6D9} + WinExe + demMalyhin + demMalyhin + 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.6.2\lib\net461\BouncyCastle.Cryptography.dll + + + packages\Google.Protobuf.3.32.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.8.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll + + + packages\Microsoft.Extensions.DependencyInjection.Abstractions.8.0.2\lib\net462\Microsoft.Extensions.DependencyInjection.Abstractions.dll + + + packages\Microsoft.Extensions.Logging.Abstractions.8.0.2\lib\net462\Microsoft.Extensions.Logging.Abstractions.dll + + + packages\MySql.Data.9.5.0\lib\net48\MySql.Data.dll + + + packages\MySqlConnector.2.4.0\lib\net48\MySqlConnector.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.6\lib\net462\ZstdSharp.dll + + + + + Form + + + AddAdmProduct.cs + + + Form + + + AdmAddOrder.cs + + + Form + + + AdmEditOrder.cs + + + Form + + + AdmEditProduct.cs + + + Form + + + AdmMainForm.cs + + + Form + + + AdmOrder.cs + + + + Form + + + GuestMainForm.cs + + + Form + + + LoginForm.cs + + + Form + + + ManagerOrder.cs + + + + + Form + + + ManagerMainForm.cs + + + True + True + Resources.resx + + + Form + + + UserMainForm.cs + + + AddAdmProduct.cs + + + AdmAddOrder.cs + + + AdmEditOrder.cs + + + AdmEditProduct.cs + + + AdmMainForm.cs + + + AdmOrder.cs + + + GuestMainForm.cs + + + LoginForm.cs + + + ManagerMainForm.cs + + + ManagerOrder.cs + + + PublicResXFileCodeGenerator + Designer + Resources.Designer.cs + + + UserMainForm.cs + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + + + + + + \ No newline at end of file diff --git a/demMalyhin.sln b/demMalyhin.sln new file mode 100644 index 0000000..b47f0de --- /dev/null +++ b/demMalyhin.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}") = "demMalyhin", "demMalyhin.csproj", "{63E7FFBE-5F99-4F82-B33A-22851EEDF6D9}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {63E7FFBE-5F99-4F82-B33A-22851EEDF6D9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {63E7FFBE-5F99-4F82-B33A-22851EEDF6D9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {63E7FFBE-5F99-4F82-B33A-22851EEDF6D9}.Release|Any CPU.ActiveCfg = Release|Any CPU + {63E7FFBE-5F99-4F82-B33A-22851EEDF6D9}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {0454A56A-E1EB-4CD4-BE95-D80F4C2284E8} + EndGlobalSection +EndGlobal diff --git a/packages.config b/packages.config new file mode 100644 index 0000000..036ed5c --- /dev/null +++ b/packages.config @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file