diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 1ff0c42..0000000 --- a/.gitattributes +++ /dev/null @@ -1,63 +0,0 @@ -############################################################################### -# 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 deleted file mode 100644 index 9491a2f..0000000 --- a/.gitignore +++ /dev/null @@ -1,363 +0,0 @@ -## 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/ExamNETIntermediate/Exam WinForms.docx b/Exam WinForms.docx similarity index 100% rename from ExamNETIntermediate/Exam WinForms.docx rename to Exam WinForms.docx diff --git a/ExamNETIntermediate/ExamNETIntermediate.csproj b/ExamNETIntermediate.csproj similarity index 100% rename from ExamNETIntermediate/ExamNETIntermediate.csproj rename to ExamNETIntermediate.csproj diff --git a/ExamNETIntermediate.csproj.user b/ExamNETIntermediate.csproj.user new file mode 100644 index 0000000..562025a --- /dev/null +++ b/ExamNETIntermediate.csproj.user @@ -0,0 +1,9 @@ + + + + + + Form + + + \ No newline at end of file diff --git a/ExamNETIntermediate.sln b/ExamNETIntermediate.sln deleted file mode 100644 index d2eac98..0000000 --- a/ExamNETIntermediate.sln +++ /dev/null @@ -1,25 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.9.34622.214 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ExamNETIntermediate", "ExamNETIntermediate\ExamNETIntermediate.csproj", "{E1392DCF-7C6B-4BE2-9B1F-36D592FB648D}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {E1392DCF-7C6B-4BE2-9B1F-36D592FB648D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E1392DCF-7C6B-4BE2-9B1F-36D592FB648D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E1392DCF-7C6B-4BE2-9B1F-36D592FB648D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E1392DCF-7C6B-4BE2-9B1F-36D592FB648D}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {E8562505-50C1-4A3D-9445-503D7B5DFEBE} - EndGlobalSection -EndGlobal diff --git a/ExamNETIntermediate/Form1.Designer.cs b/ExamNETIntermediate/Form1.Designer.cs deleted file mode 100644 index ece918a..0000000 --- a/ExamNETIntermediate/Form1.Designer.cs +++ /dev/null @@ -1,39 +0,0 @@ -namespace ExamNETIntermediate -{ - partial class Form1 - { - /// - /// 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.components = new System.ComponentModel.Container(); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(800, 450); - this.Text = "Form1"; - } - - #endregion - } -} diff --git a/ExamNETIntermediate/Form1.cs b/ExamNETIntermediate/Form1.cs deleted file mode 100644 index 3302c50..0000000 --- a/ExamNETIntermediate/Form1.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace ExamNETIntermediate -{ - public partial class Form1 : Form - { - public Form1() - { - InitializeComponent(); - } - } -} diff --git a/Form1.Designer.cs b/Form1.Designer.cs new file mode 100644 index 0000000..54c5b76 --- /dev/null +++ b/Form1.Designer.cs @@ -0,0 +1,331 @@ +namespace ExamNETIntermediate +{ + partial class Form1 + { + /// + /// 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() + { + listBoxSong = new ListBox(); + buttonRefresh = new Button(); + tableLayoutPanel1 = new TableLayoutPanel(); + dateTimePicker = new DateTimePicker(); + label1 = new Label(); + numericUpDownSec = new NumericUpDown(); + comboBoxGenre = new ComboBox(); + textBoxArtist = new TextBox(); + textBoxTitle = new TextBox(); + labelTitle = new Label(); + labelLength = new Label(); + labelArtist = new Label(); + labelGenre = new Label(); + numericUpDownMin = new NumericUpDown(); + checkBoxAvailable = new CheckBox(); + labelAvailable = new Label(); + buttonAdd = new Button(); + buttonUpdate = new Button(); + buttonDelete = new Button(); + labelLength2 = new Label(); + labelNotification = new Label(); + textBoxSearch = new TextBox(); + buttonSearch = new Button(); + tableLayoutPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)numericUpDownSec).BeginInit(); + ((System.ComponentModel.ISupportInitialize)numericUpDownMin).BeginInit(); + SuspendLayout(); + // + // listBoxSong + // + listBoxSong.FormattingEnabled = true; + listBoxSong.Location = new Point(43, 37); + listBoxSong.Name = "listBoxSong"; + listBoxSong.Size = new Size(264, 204); + listBoxSong.TabIndex = 0; + listBoxSong.SelectedIndexChanged += listBoxSong_SelectedIndexChanged; + // + // buttonRefresh + // + buttonRefresh.Location = new Point(43, 262); + buttonRefresh.Name = "buttonRefresh"; + buttonRefresh.Size = new Size(94, 29); + buttonRefresh.TabIndex = 1; + buttonRefresh.Text = "Refresh"; + buttonRefresh.UseVisualStyleBackColor = true; + buttonRefresh.Click += buttonRefresh_Click; + // + // tableLayoutPanel1 + // + tableLayoutPanel1.ColumnCount = 3; + tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 108F)); + tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50F)); + tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 68F)); + tableLayoutPanel1.Controls.Add(dateTimePicker, 1, 4); + tableLayoutPanel1.Controls.Add(label1, 0, 4); + tableLayoutPanel1.Controls.Add(numericUpDownSec, 2, 3); + tableLayoutPanel1.Controls.Add(comboBoxGenre, 1, 2); + tableLayoutPanel1.Controls.Add(textBoxArtist, 1, 1); + tableLayoutPanel1.Controls.Add(textBoxTitle, 1, 0); + tableLayoutPanel1.Controls.Add(labelTitle, 0, 0); + tableLayoutPanel1.Controls.Add(labelLength, 0, 3); + tableLayoutPanel1.Controls.Add(labelArtist, 0, 1); + tableLayoutPanel1.Controls.Add(labelGenre, 0, 2); + tableLayoutPanel1.Controls.Add(numericUpDownMin, 1, 3); + tableLayoutPanel1.Controls.Add(checkBoxAvailable, 1, 5); + tableLayoutPanel1.Controls.Add(labelAvailable, 0, 5); + tableLayoutPanel1.Location = new Point(357, 37); + tableLayoutPanel1.Name = "tableLayoutPanel1"; + tableLayoutPanel1.RowCount = 6; + tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent, 50F)); + tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent, 50F)); + tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent, 50F)); + tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent, 50F)); + tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Absolute, 58F)); + tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent, 50F)); + tableLayoutPanel1.Size = new Size(437, 254); + tableLayoutPanel1.TabIndex = 2; + // + // dateTimePicker + // + dateTimePicker.Location = new Point(111, 159); + dateTimePicker.Name = "dateTimePicker"; + dateTimePicker.Size = new Size(250, 27); + dateTimePicker.TabIndex = 6; + // + // label1 + // + label1.AutoSize = true; + label1.Location = new Point(3, 156); + label1.Name = "label1"; + label1.Size = new Size(99, 20); + label1.TabIndex = 6; + label1.Text = "Release Date:"; + // + // numericUpDownSec + // + numericUpDownSec.Location = new Point(372, 120); + numericUpDownSec.Name = "numericUpDownSec"; + numericUpDownSec.Size = new Size(56, 27); + numericUpDownSec.TabIndex = 3; + // + // comboBoxGenre + // + comboBoxGenre.FormattingEnabled = true; + comboBoxGenre.Location = new Point(111, 81); + comboBoxGenre.Name = "comboBoxGenre"; + comboBoxGenre.Size = new Size(250, 28); + comboBoxGenre.TabIndex = 3; + // + // textBoxArtist + // + textBoxArtist.Location = new Point(111, 42); + textBoxArtist.Name = "textBoxArtist"; + textBoxArtist.Size = new Size(250, 27); + textBoxArtist.TabIndex = 4; + // + // textBoxTitle + // + textBoxTitle.Location = new Point(111, 3); + textBoxTitle.Name = "textBoxTitle"; + textBoxTitle.Size = new Size(250, 27); + textBoxTitle.TabIndex = 3; + // + // labelTitle + // + labelTitle.AutoSize = true; + labelTitle.Location = new Point(3, 0); + labelTitle.Name = "labelTitle"; + labelTitle.Size = new Size(45, 20); + labelTitle.TabIndex = 3; + labelTitle.Text = "Title: "; + // + // labelLength + // + labelLength.AutoSize = true; + labelLength.Location = new Point(3, 117); + labelLength.Name = "labelLength"; + labelLength.Size = new Size(61, 20); + labelLength.TabIndex = 6; + labelLength.Text = "Length: "; + // + // labelArtist + // + labelArtist.AutoSize = true; + labelArtist.Location = new Point(3, 39); + labelArtist.Name = "labelArtist"; + labelArtist.Size = new Size(47, 20); + labelArtist.TabIndex = 4; + labelArtist.Text = "Artist:"; + // + // labelGenre + // + labelGenre.AutoSize = true; + labelGenre.Location = new Point(3, 78); + labelGenre.Name = "labelGenre"; + labelGenre.Size = new Size(55, 20); + labelGenre.TabIndex = 5; + labelGenre.Text = "Genre: "; + // + // numericUpDownMin + // + numericUpDownMin.Location = new Point(111, 120); + numericUpDownMin.Name = "numericUpDownMin"; + numericUpDownMin.Size = new Size(57, 27); + numericUpDownMin.TabIndex = 3; + // + // checkBoxAvailable + // + checkBoxAvailable.AutoSize = true; + checkBoxAvailable.Location = new Point(111, 217); + checkBoxAvailable.Name = "checkBoxAvailable"; + checkBoxAvailable.Size = new Size(18, 17); + checkBoxAvailable.TabIndex = 6; + checkBoxAvailable.UseVisualStyleBackColor = true; + // + // labelAvailable + // + labelAvailable.AutoSize = true; + labelAvailable.Location = new Point(3, 214); + labelAvailable.Name = "labelAvailable"; + labelAvailable.Size = new Size(78, 20); + labelAvailable.TabIndex = 7; + labelAvailable.Text = "Available: "; + // + // buttonAdd + // + buttonAdd.Location = new Point(357, 314); + buttonAdd.Name = "buttonAdd"; + buttonAdd.Size = new Size(94, 29); + buttonAdd.TabIndex = 3; + buttonAdd.Text = "Add"; + buttonAdd.UseVisualStyleBackColor = true; + buttonAdd.Click += buttonAdd_Click; + // + // buttonUpdate + // + buttonUpdate.Location = new Point(457, 314); + buttonUpdate.Name = "buttonUpdate"; + buttonUpdate.Size = new Size(94, 29); + buttonUpdate.TabIndex = 4; + buttonUpdate.Text = "Update"; + buttonUpdate.UseVisualStyleBackColor = true; + buttonUpdate.Click += buttonUpdate_Click; + // + // buttonDelete + // + buttonDelete.Location = new Point(557, 314); + buttonDelete.Name = "buttonDelete"; + buttonDelete.Size = new Size(94, 29); + buttonDelete.TabIndex = 5; + buttonDelete.Text = "Delete"; + buttonDelete.UseVisualStyleBackColor = true; + buttonDelete.Click += buttonDelete_Click; + // + // labelLength2 + // + labelLength2.AutoSize = true; + labelLength2.Location = new Point(800, 164); + labelLength2.Name = "labelLength2"; + labelLength2.Size = new Size(123, 20); + labelLength2.TabIndex = 6; + labelLength2.Text = "Minutes, Seconds"; + // + // labelNotification + // + labelNotification.AutoSize = true; + labelNotification.Location = new Point(685, 318); + labelNotification.Name = "labelNotification"; + labelNotification.Size = new Size(88, 20); + labelNotification.TabIndex = 7; + labelNotification.Text = "Notification"; + // + // textBoxSearch + // + textBoxSearch.Location = new Point(43, 311); + textBoxSearch.Name = "textBoxSearch"; + textBoxSearch.Size = new Size(264, 27); + textBoxSearch.TabIndex = 8; + // + // buttonSearch + // + buttonSearch.Location = new Point(43, 357); + buttonSearch.Name = "buttonSearch"; + buttonSearch.Size = new Size(94, 29); + buttonSearch.TabIndex = 9; + buttonSearch.Text = "Search"; + buttonSearch.UseVisualStyleBackColor = true; + buttonSearch.Click += buttonSearch_Click; + // + // Form1 + // + AutoScaleDimensions = new SizeF(8F, 20F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(991, 510); + Controls.Add(buttonSearch); + Controls.Add(textBoxSearch); + Controls.Add(labelNotification); + Controls.Add(labelLength2); + Controls.Add(buttonDelete); + Controls.Add(buttonUpdate); + Controls.Add(buttonAdd); + Controls.Add(tableLayoutPanel1); + Controls.Add(buttonRefresh); + Controls.Add(listBoxSong); + Name = "Form1"; + Text = "Form1"; + tableLayoutPanel1.ResumeLayout(false); + tableLayoutPanel1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)numericUpDownSec).EndInit(); + ((System.ComponentModel.ISupportInitialize)numericUpDownMin).EndInit(); + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private ListBox listBoxSong; + private Button buttonRefresh; + private TableLayoutPanel tableLayoutPanel1; + private Label labelTitle; + private Label labelArtist; + private Label labelGenre; + private Label labelLength; + private Label labelAvailable; + private ComboBox comboBoxGenre; + private TextBox textBoxArtist; + private TextBox textBoxTitle; + private NumericUpDown numericUpDownMin; + private NumericUpDown numericUpDownSec; + private Button buttonAdd; + private Button buttonUpdate; + private Button buttonDelete; + private CheckBox checkBoxAvailable; + private DateTimePicker dateTimePicker; + private Label label1; + private Label labelLength2; + private Label labelNotification; + private TextBox textBoxSearch; + private Button buttonSearch; + } +} diff --git a/Form1.cs b/Form1.cs new file mode 100644 index 0000000..4799829 --- /dev/null +++ b/Form1.cs @@ -0,0 +1,319 @@ +using System; +using System.Text; +using System.Net.Http; +using ExamNETIntermediate.Models; +using Newtonsoft; +using Newtonsoft.Json; +using static System.ComponentModel.Design.ObjectSelectorEditor; + +namespace ExamNETIntermediate +{ + public partial class Form1 : Form + { + public List Songs { get; set; } = new List(); + public HttpClient _httpClient { get; set; } = new HttpClient(); + public List Genres { get; set; } = new List(); + public Form1() + { + InitializeComponent(); + PopulateListBox(); + PopulateComboBoxGenre(); + buttonAdd.Enabled = true; + buttonUpdate.Enabled = false; + buttonDelete.Enabled = false; + labelNotification.Text = string.Empty; + } + + // this method is used to refresh the page so the listBox can be updated, and also clear the inputs + public void RefreshPage() + { + PopulateListBox(); + PopulateComboBoxGenre(); + ClearInput(); + } + + // this method is used to clear the input + public void ClearInput() + { + textBoxTitle.Text = string.Empty; + textBoxArtist.Text = string.Empty; + comboBoxGenre.SelectedItem = null; + numericUpDownMin.Value = 0; + numericUpDownSec.Value = 0; + checkBoxAvailable.Checked = false; + + buttonAdd.Enabled = true; + buttonUpdate.Enabled = false; + buttonDelete.Enabled = false; + } + + // this method will populate listBoxSong, which is initially empty, with songs that we will get from the api + public async void PopulateListBox() + { + var response = await _httpClient.GetAsync("https://new-dev.accelist.com:10000/api/song"); + response.EnsureSuccessStatusCode(); + var jsonContent = await response.Content.ReadAsStringAsync(); + var content = JsonConvert.DeserializeObject>(jsonContent); + + if (content != null) + { + Songs = content; + } + + listBoxSong.DataSource = Songs; + listBoxSong.DisplayMember = "Title"; + } + + // this method will populate the comboBoxGenre input, which is initially empty, with genres that we will get from the api + public async void PopulateComboBoxGenre() + { + var response = await _httpClient.GetAsync("https://new-dev.accelist.com:10000/api/genre"); + response.EnsureSuccessStatusCode(); + var jsonContent = await response.Content.ReadAsStringAsync(); + var content = JsonConvert.DeserializeObject>(jsonContent); + + if (content != null) + { + Genres = content; + } + + comboBoxGenre.DataSource = Genres; + comboBoxGenre.DisplayMember = "GenreName"; + } + + // this is the method called when buttonRefresh is clicked, which will refresh the page + private void buttonRefresh_Click(object sender, EventArgs e) + { + RefreshPage(); + } + + // this is the method called when buttonAdd is clicked, which will post a Song object to the song api + private async void buttonAdd_Click(object sender, EventArgs e) + { + var songTitle = textBoxTitle.Text; + var songArtist = textBoxArtist.Text; + var selectedGenre = comboBoxGenre.SelectedItem as GenreModel; + var minutes = numericUpDownMin.Value; + var minToSec = minutes * 60; + var seconds = numericUpDownSec.Value; + var totalSeconds = minToSec + seconds; + var date = new DateTimeOffset(dateTimePicker.Value); + var releaseDate = date.UtcDateTime; + var maxDate = DateTimeOffset.Now.AddDays(7); + + if (string.IsNullOrEmpty(songTitle)) + { + labelNotification.Text = "Title cannot be empty!"; + return; + } + if (string.IsNullOrEmpty(songArtist)) + { + labelNotification.Text = "Artist cannot be empty!"; + return; + } + if (seconds == 0 || minutes == 0) + { + labelNotification.Text = "There must be minutes and seconds!"; + return; + } + if (seconds < 0 || seconds > 59) + { + labelNotification.Text = "Seconds must be more than 0 and less than 59!"; + return; + } + if(releaseDate > maxDate) + { + labelNotification.Text = "Date cannot be more than 7 days than current date!"; + return; + } + if (checkBoxAvailable.Checked == false) + { + labelNotification.Text = "Song must be available!"; + return; + } + + var songModel = new SongModel + { + + Title = songTitle, + Artist = songArtist, + GenreId = selectedGenre.GenreId, + Length = (int)totalSeconds, + ReleaseDate = releaseDate, + IsAvailable = checkBoxAvailable.Checked + }; + + var jsonString = JsonConvert.SerializeObject(songModel); + //var content = new StringContent(jsonString, Encoding.UTF8, "application/json) + var content = new StringContent(jsonString); + content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json"); + + var response = await _httpClient.PostAsync("https://new-dev.accelist.com:10000/api/song", content); + response.EnsureSuccessStatusCode(); + + if (response.IsSuccessStatusCode) + { + labelNotification.Text = "Succesfully Inserted New Song"; + } + else + { + labelNotification.Text = "Failed to Insert New Song"; + } + RefreshPage(); + } + + // this is the method called when buttonUpdate is clicked, which will put a Song object to the song api to replace the selected Song + private async void buttonUpdate_Click(object sender, EventArgs e) + { + var songTitle = textBoxTitle.Text; + var songArtist = textBoxArtist.Text; + var selectedGenre = comboBoxGenre.SelectedItem as GenreModel; + var minutes = numericUpDownMin.Value; + var minToSec = minutes * 60; + var seconds = numericUpDownSec.Value; + var totalSeconds = minToSec + seconds; + var date = new DateTimeOffset(dateTimePicker.Value); + var releaseDate = date.UtcDateTime; + var maxDate = DateTimeOffset.Now.AddDays(7); + + var selectedIndex = listBoxSong.SelectedIndex; + var song = listBoxSong.Items[selectedIndex] as SongModel; + + if (string.IsNullOrEmpty(songTitle)) + { + labelNotification.Text = "Title cannot be empty!"; + return; + } + if (string.IsNullOrEmpty(songArtist)) + { + labelNotification.Text = "Artist cannot be empty!"; + return; + } + if (seconds == 0 || minutes == 0) + { + labelNotification.Text = "There must be minutes and seconds!"; + return; + } + if (seconds < 0 || seconds > 59) + { + labelNotification.Text = "Seconds must be more than 0 and less than 59!"; + return; + } + if (releaseDate > maxDate) + { + labelNotification.Text = "Date cannot be more than 7 days than current date!"; + return; + } + if (checkBoxAvailable.Checked == false) + { + labelNotification.Text = "Song must be available!"; + return; + } + + var songModel = new SongModel + { + SongId = song.SongId, + Title = songTitle, + Artist = songArtist, + GenreId = selectedGenre.GenreId, + Length = (int)totalSeconds, + ReleaseDate = releaseDate, + IsAvailable = checkBoxAvailable.Checked + }; + + var jsonString = JsonConvert.SerializeObject(songModel); + var content = new StringContent(jsonString); + content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json"); + + + var response = await _httpClient.PutAsync("https://new-dev.accelist.com:10000/api/song", content); + + if (response.IsSuccessStatusCode) + { + labelNotification.Text = "Succesfully Updatedd Song"; + } + else + { + labelNotification.Text = "Failed to Update Song"; + } + RefreshPage(); + } + + // this is the method called when buttonDelete is clicked, which will delete a song from the api based on the song selected + private async void buttonDelete_Click(object sender, EventArgs e) + { + var selectedItem = this.listBoxSong.SelectedItem as SongModel; + var selectedIndex = listBoxSong.SelectedIndex; + var selectedSong = listBoxSong.Items[selectedIndex] as SongModel; + + if (selectedItem == null) + { + labelNotification.Text = "Cannot find selected item"; + } + + var response = await _httpClient.DeleteAsync($"https://new-dev.accelist.com:10000/api/song/{selectedSong.SongId}"); + response.EnsureSuccessStatusCode(); + + if (response.IsSuccessStatusCode) + { + labelNotification.Text = "Succesfully Deleted Song"; + } + else + { + labelNotification.Text = "Failed to Delete Song"; + } + RefreshPage(); + } + + // this is the method called when a song in listBoxSong is selected, to display the information of the song in the input + private void listBoxSong_SelectedIndexChanged(object sender, EventArgs e) + { + var selectedIndex = listBoxSong.SelectedIndex; + var selectedSong = listBoxSong.Items[selectedIndex] as SongModel; + var dateTimeOffset = selectedSong.ReleaseDate; + var dateTime = dateTimeOffset.LocalDateTime; + + if (selectedSong != null) + { + textBoxArtist.Text = selectedSong.Artist; + textBoxTitle.Text = selectedSong.Title; + var genreName = Genres.Where(x => x.GenreId == selectedSong.GenreId); + comboBoxGenre.SelectedItem = genreName; + checkBoxAvailable.Checked = selectedSong.IsAvailable; + dateTimePicker.Value = dateTime; + } + + buttonAdd.Enabled = false; + buttonUpdate.Enabled = true; + buttonDelete.Enabled = true; + } + + // this is the method called when buttonSearch is clicked, which will search through the Songs list which is based off the songs in the api, and display the results in listBoxSong + private async void buttonSearch_Click(object sender, EventArgs e) + { + var searchedSong = textBoxSearch.Text; + + var response = await _httpClient.GetAsync("https://new-dev.accelist.com:10000/api/song"); + response.EnsureSuccessStatusCode(); + var jsonContent = response.Content.ReadAsStringAsync().GetAwaiter().GetResult(); + var content = JsonConvert.DeserializeObject>(jsonContent); + + if (content != null) + { + Songs = content; + } + + if (!string.IsNullOrEmpty(searchedSong)) + { + var filterSong = (from song in Songs + where song.Title.Contains(searchedSong) || song.Artist.Contains(searchedSong) + select song).ToList(); + + listBoxSong.DataSource = filterSong; + listBoxSong.DisplayMember = "SongName"; + } + + + } + } +} diff --git a/Form1.resx b/Form1.resx new file mode 100644 index 0000000..af32865 --- /dev/null +++ b/Form1.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/Models/SongModel.cs b/Models/SongModel.cs new file mode 100644 index 0000000..e4b9b69 --- /dev/null +++ b/Models/SongModel.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ExamNETIntermediate.Models +{ + + // Class SongModel is used as a model for the song object that we can access from the api + public class SongModel + { + //property for songId + public int SongId { get; set; } + //property for title + public string Title { get; set;} = string.Empty; + //property for artist + public string Artist { get; set; } = string.Empty; + //property for genreId + public int GenreId { get; set; } + //property for length + public int Length { get; set; } + //property for releaseDate + public DateTimeOffset ReleaseDate { get; set; } + //property for isAvailable + public bool IsAvailable { get; set; } + } + + // Class SongModel is used as a model for the genre object that we can access from the api + public class GenreModel + { + //property for genreId + public int GenreId { get;set; } + //property for genreName + public string GenreName { get; set; } = string.Empty; + } + +} diff --git a/ExamNETIntermediate/Program.cs b/Program.cs similarity index 100% rename from ExamNETIntermediate/Program.cs rename to Program.cs diff --git a/bin/Debug/net8.0-windows/ExamNETIntermediate.deps.json b/bin/Debug/net8.0-windows/ExamNETIntermediate.deps.json new file mode 100644 index 0000000..db34b30 --- /dev/null +++ b/bin/Debug/net8.0-windows/ExamNETIntermediate.deps.json @@ -0,0 +1,41 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "ExamNETIntermediate/1.0.0": { + "dependencies": { + "Newtonsoft.Json": "13.0.3" + }, + "runtime": { + "ExamNETIntermediate.dll": {} + } + }, + "Newtonsoft.Json/13.0.3": { + "runtime": { + "lib/net6.0/Newtonsoft.Json.dll": { + "assemblyVersion": "13.0.0.0", + "fileVersion": "13.0.3.27908" + } + } + } + } + }, + "libraries": { + "ExamNETIntermediate/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Newtonsoft.Json/13.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==", + "path": "newtonsoft.json/13.0.3", + "hashPath": "newtonsoft.json.13.0.3.nupkg.sha512" + } + } +} \ No newline at end of file diff --git a/bin/Debug/net8.0-windows/ExamNETIntermediate.dll b/bin/Debug/net8.0-windows/ExamNETIntermediate.dll new file mode 100644 index 0000000..8eac722 Binary files /dev/null and b/bin/Debug/net8.0-windows/ExamNETIntermediate.dll differ diff --git a/bin/Debug/net8.0-windows/ExamNETIntermediate.exe b/bin/Debug/net8.0-windows/ExamNETIntermediate.exe new file mode 100644 index 0000000..df8e7b7 Binary files /dev/null and b/bin/Debug/net8.0-windows/ExamNETIntermediate.exe differ diff --git a/bin/Debug/net8.0-windows/ExamNETIntermediate.pdb b/bin/Debug/net8.0-windows/ExamNETIntermediate.pdb new file mode 100644 index 0000000..0d5e997 Binary files /dev/null and b/bin/Debug/net8.0-windows/ExamNETIntermediate.pdb differ diff --git a/bin/Debug/net8.0-windows/ExamNETIntermediate.runtimeconfig.json b/bin/Debug/net8.0-windows/ExamNETIntermediate.runtimeconfig.json new file mode 100644 index 0000000..1dc0145 --- /dev/null +++ b/bin/Debug/net8.0-windows/ExamNETIntermediate.runtimeconfig.json @@ -0,0 +1,18 @@ +{ + "runtimeOptions": { + "tfm": "net8.0", + "frameworks": [ + { + "name": "Microsoft.NETCore.App", + "version": "8.0.0" + }, + { + "name": "Microsoft.WindowsDesktop.App", + "version": "8.0.0" + } + ], + "configProperties": { + "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": true + } + } +} \ No newline at end of file diff --git a/bin/Debug/net8.0-windows/Newtonsoft.Json.dll b/bin/Debug/net8.0-windows/Newtonsoft.Json.dll new file mode 100644 index 0000000..d035c38 Binary files /dev/null and b/bin/Debug/net8.0-windows/Newtonsoft.Json.dll differ diff --git a/obj/Debug/net8.0-windows/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs b/obj/Debug/net8.0-windows/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs new file mode 100644 index 0000000..2217181 --- /dev/null +++ b/obj/Debug/net8.0-windows/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")] diff --git a/obj/Debug/net8.0-windows/ExamNETI.00B796D9.Up2Date b/obj/Debug/net8.0-windows/ExamNETI.00B796D9.Up2Date new file mode 100644 index 0000000..e69de29 diff --git a/obj/Debug/net8.0-windows/ExamNETIntermediate.AssemblyInfo.cs b/obj/Debug/net8.0-windows/ExamNETIntermediate.AssemblyInfo.cs new file mode 100644 index 0000000..ab308e4 --- /dev/null +++ b/obj/Debug/net8.0-windows/ExamNETIntermediate.AssemblyInfo.cs @@ -0,0 +1,25 @@ +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("ExamNETIntermediate")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+4e8d3cb61c03e073fd662daef337dca9118d0a1e")] +[assembly: System.Reflection.AssemblyProductAttribute("ExamNETIntermediate")] +[assembly: System.Reflection.AssemblyTitleAttribute("ExamNETIntermediate")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] +[assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")] +[assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")] + +// Generated by the MSBuild WriteCodeFragment class. + diff --git a/obj/Debug/net8.0-windows/ExamNETIntermediate.AssemblyInfoInputs.cache b/obj/Debug/net8.0-windows/ExamNETIntermediate.AssemblyInfoInputs.cache new file mode 100644 index 0000000..244b276 --- /dev/null +++ b/obj/Debug/net8.0-windows/ExamNETIntermediate.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +264ee1286959cea21ae0c56df5e84bd46f1b6dc4b3627bfeec96fb2fd71e6673 diff --git a/obj/Debug/net8.0-windows/ExamNETIntermediate.Form1.resources b/obj/Debug/net8.0-windows/ExamNETIntermediate.Form1.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/obj/Debug/net8.0-windows/ExamNETIntermediate.Form1.resources differ diff --git a/obj/Debug/net8.0-windows/ExamNETIntermediate.GeneratedMSBuildEditorConfig.editorconfig b/obj/Debug/net8.0-windows/ExamNETIntermediate.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 0000000..bd50ba7 --- /dev/null +++ b/obj/Debug/net8.0-windows/ExamNETIntermediate.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,19 @@ +is_global = true +build_property.ApplicationManifest = +build_property.StartupObject = +build_property.ApplicationDefaultFont = +build_property.ApplicationHighDpiMode = +build_property.ApplicationUseCompatibleTextRendering = +build_property.ApplicationVisualStyles = +build_property.TargetFramework = net8.0-windows +build_property.TargetPlatformMinVersion = 7.0 +build_property.UsingMicrosoftNETSdkWeb = +build_property.ProjectTypeGuids = +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property.EnforceExtendedAnalyzerRules = +build_property._SupportedPlatformList = Linux,macOS,Windows +build_property.RootNamespace = ExamNETIntermediate +build_property.ProjectDir = C:\Users\Benjamin\Desktop\ben\accelist\training\ExamNETIntermediate\ExamNETIntermediate\ +build_property.EnableComHosting = +build_property.EnableGeneratedComInterfaceComImportInterop = diff --git a/obj/Debug/net8.0-windows/ExamNETIntermediate.GlobalUsings.g.cs b/obj/Debug/net8.0-windows/ExamNETIntermediate.GlobalUsings.g.cs new file mode 100644 index 0000000..84bbb89 --- /dev/null +++ b/obj/Debug/net8.0-windows/ExamNETIntermediate.GlobalUsings.g.cs @@ -0,0 +1,10 @@ +// +global using global::System; +global using global::System.Collections.Generic; +global using global::System.Drawing; +global using global::System.IO; +global using global::System.Linq; +global using global::System.Net.Http; +global using global::System.Threading; +global using global::System.Threading.Tasks; +global using global::System.Windows.Forms; diff --git a/obj/Debug/net8.0-windows/ExamNETIntermediate.assets.cache b/obj/Debug/net8.0-windows/ExamNETIntermediate.assets.cache new file mode 100644 index 0000000..3076381 Binary files /dev/null and b/obj/Debug/net8.0-windows/ExamNETIntermediate.assets.cache differ diff --git a/obj/Debug/net8.0-windows/ExamNETIntermediate.csproj.AssemblyReference.cache b/obj/Debug/net8.0-windows/ExamNETIntermediate.csproj.AssemblyReference.cache new file mode 100644 index 0000000..7e87575 Binary files /dev/null and b/obj/Debug/net8.0-windows/ExamNETIntermediate.csproj.AssemblyReference.cache differ diff --git a/obj/Debug/net8.0-windows/ExamNETIntermediate.csproj.BuildWithSkipAnalyzers b/obj/Debug/net8.0-windows/ExamNETIntermediate.csproj.BuildWithSkipAnalyzers new file mode 100644 index 0000000..e69de29 diff --git a/obj/Debug/net8.0-windows/ExamNETIntermediate.csproj.CoreCompileInputs.cache b/obj/Debug/net8.0-windows/ExamNETIntermediate.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..beb9c53 --- /dev/null +++ b/obj/Debug/net8.0-windows/ExamNETIntermediate.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +f87bc9f5210bd2fc7c9aa62e37112c7df117e45d49b68a53d0964685b94fa9f3 diff --git a/obj/Debug/net8.0-windows/ExamNETIntermediate.csproj.FileListAbsolute.txt b/obj/Debug/net8.0-windows/ExamNETIntermediate.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..15cc1fd --- /dev/null +++ b/obj/Debug/net8.0-windows/ExamNETIntermediate.csproj.FileListAbsolute.txt @@ -0,0 +1,20 @@ +C:\Users\Benjamin\Desktop\ben\accelist\training\ExamNETIntermediate\ExamNETIntermediate\bin\Debug\net8.0-windows\ExamNETIntermediate.exe +C:\Users\Benjamin\Desktop\ben\accelist\training\ExamNETIntermediate\ExamNETIntermediate\bin\Debug\net8.0-windows\ExamNETIntermediate.deps.json +C:\Users\Benjamin\Desktop\ben\accelist\training\ExamNETIntermediate\ExamNETIntermediate\bin\Debug\net8.0-windows\ExamNETIntermediate.runtimeconfig.json +C:\Users\Benjamin\Desktop\ben\accelist\training\ExamNETIntermediate\ExamNETIntermediate\bin\Debug\net8.0-windows\ExamNETIntermediate.dll +C:\Users\Benjamin\Desktop\ben\accelist\training\ExamNETIntermediate\ExamNETIntermediate\bin\Debug\net8.0-windows\ExamNETIntermediate.pdb +C:\Users\Benjamin\Desktop\ben\accelist\training\ExamNETIntermediate\ExamNETIntermediate\bin\Debug\net8.0-windows\Newtonsoft.Json.dll +C:\Users\Benjamin\Desktop\ben\accelist\training\ExamNETIntermediate\ExamNETIntermediate\obj\Debug\net8.0-windows\ExamNETIntermediate.csproj.AssemblyReference.cache +C:\Users\Benjamin\Desktop\ben\accelist\training\ExamNETIntermediate\ExamNETIntermediate\obj\Debug\net8.0-windows\ExamNETIntermediate.Form1.resources +C:\Users\Benjamin\Desktop\ben\accelist\training\ExamNETIntermediate\ExamNETIntermediate\obj\Debug\net8.0-windows\ExamNETIntermediate.csproj.GenerateResource.cache +C:\Users\Benjamin\Desktop\ben\accelist\training\ExamNETIntermediate\ExamNETIntermediate\obj\Debug\net8.0-windows\ExamNETIntermediate.GeneratedMSBuildEditorConfig.editorconfig +C:\Users\Benjamin\Desktop\ben\accelist\training\ExamNETIntermediate\ExamNETIntermediate\obj\Debug\net8.0-windows\ExamNETIntermediate.AssemblyInfoInputs.cache +C:\Users\Benjamin\Desktop\ben\accelist\training\ExamNETIntermediate\ExamNETIntermediate\obj\Debug\net8.0-windows\ExamNETIntermediate.AssemblyInfo.cs +C:\Users\Benjamin\Desktop\ben\accelist\training\ExamNETIntermediate\ExamNETIntermediate\obj\Debug\net8.0-windows\ExamNETIntermediate.csproj.CoreCompileInputs.cache +C:\Users\Benjamin\Desktop\ben\accelist\training\ExamNETIntermediate\ExamNETIntermediate\obj\Debug\net8.0-windows\ExamNETIntermediate.sourcelink.json +C:\Users\Benjamin\Desktop\ben\accelist\training\ExamNETIntermediate\ExamNETIntermediate\obj\Debug\net8.0-windows\ExamNETI.00B796D9.Up2Date +C:\Users\Benjamin\Desktop\ben\accelist\training\ExamNETIntermediate\ExamNETIntermediate\obj\Debug\net8.0-windows\ExamNETIntermediate.dll +C:\Users\Benjamin\Desktop\ben\accelist\training\ExamNETIntermediate\ExamNETIntermediate\obj\Debug\net8.0-windows\refint\ExamNETIntermediate.dll +C:\Users\Benjamin\Desktop\ben\accelist\training\ExamNETIntermediate\ExamNETIntermediate\obj\Debug\net8.0-windows\ExamNETIntermediate.pdb +C:\Users\Benjamin\Desktop\ben\accelist\training\ExamNETIntermediate\ExamNETIntermediate\obj\Debug\net8.0-windows\ExamNETIntermediate.genruntimeconfig.cache +C:\Users\Benjamin\Desktop\ben\accelist\training\ExamNETIntermediate\ExamNETIntermediate\obj\Debug\net8.0-windows\ref\ExamNETIntermediate.dll diff --git a/obj/Debug/net8.0-windows/ExamNETIntermediate.csproj.GenerateResource.cache b/obj/Debug/net8.0-windows/ExamNETIntermediate.csproj.GenerateResource.cache new file mode 100644 index 0000000..e1a9aa2 Binary files /dev/null and b/obj/Debug/net8.0-windows/ExamNETIntermediate.csproj.GenerateResource.cache differ diff --git a/obj/Debug/net8.0-windows/ExamNETIntermediate.designer.deps.json b/obj/Debug/net8.0-windows/ExamNETIntermediate.designer.deps.json new file mode 100644 index 0000000..05d74b6 --- /dev/null +++ b/obj/Debug/net8.0-windows/ExamNETIntermediate.designer.deps.json @@ -0,0 +1,28 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "Newtonsoft.Json/13.0.3": { + "runtime": { + "lib/net6.0/Newtonsoft.Json.dll": { + "assemblyVersion": "13.0.0.0", + "fileVersion": "13.0.3.27908" + } + } + } + } + }, + "libraries": { + "Newtonsoft.Json/13.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==", + "path": "newtonsoft.json/13.0.3", + "hashPath": "newtonsoft.json.13.0.3.nupkg.sha512" + } + } +} \ No newline at end of file diff --git a/obj/Debug/net8.0-windows/ExamNETIntermediate.designer.runtimeconfig.json b/obj/Debug/net8.0-windows/ExamNETIntermediate.designer.runtimeconfig.json new file mode 100644 index 0000000..a814b3f --- /dev/null +++ b/obj/Debug/net8.0-windows/ExamNETIntermediate.designer.runtimeconfig.json @@ -0,0 +1,23 @@ +{ + "runtimeOptions": { + "tfm": "net8.0", + "frameworks": [ + { + "name": "Microsoft.NETCore.App", + "version": "8.0.0" + }, + { + "name": "Microsoft.WindowsDesktop.App", + "version": "8.0.0" + } + ], + "additionalProbingPaths": [ + "C:\\Users\\Benjamin\\.dotnet\\store\\|arch|\\|tfm|", + "C:\\Users\\Benjamin\\.nuget\\packages" + ], + "configProperties": { + "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": true, + "Microsoft.NETCore.DotNetHostPolicy.SetAppPaths": true + } + } +} \ No newline at end of file diff --git a/obj/Debug/net8.0-windows/ExamNETIntermediate.dll b/obj/Debug/net8.0-windows/ExamNETIntermediate.dll new file mode 100644 index 0000000..8eac722 Binary files /dev/null and b/obj/Debug/net8.0-windows/ExamNETIntermediate.dll differ diff --git a/obj/Debug/net8.0-windows/ExamNETIntermediate.genruntimeconfig.cache b/obj/Debug/net8.0-windows/ExamNETIntermediate.genruntimeconfig.cache new file mode 100644 index 0000000..19e378d --- /dev/null +++ b/obj/Debug/net8.0-windows/ExamNETIntermediate.genruntimeconfig.cache @@ -0,0 +1 @@ +b16176274f2d2efb9db6264742053f815128e20159ab61a258e3105069ffa27b diff --git a/obj/Debug/net8.0-windows/ExamNETIntermediate.pdb b/obj/Debug/net8.0-windows/ExamNETIntermediate.pdb new file mode 100644 index 0000000..0d5e997 Binary files /dev/null and b/obj/Debug/net8.0-windows/ExamNETIntermediate.pdb differ diff --git a/obj/Debug/net8.0-windows/ExamNETIntermediate.sourcelink.json b/obj/Debug/net8.0-windows/ExamNETIntermediate.sourcelink.json new file mode 100644 index 0000000..31fd955 --- /dev/null +++ b/obj/Debug/net8.0-windows/ExamNETIntermediate.sourcelink.json @@ -0,0 +1 @@ +{"documents":{"C:\\Users\\Benjamin\\Desktop\\ben\\accelist\\training\\ExamNETIntermediate\\ExamNETIntermediate\\*":"https://raw.githubusercontent.com/accelist/ExamNETIntermediate/4e8d3cb61c03e073fd662daef337dca9118d0a1e/*"}} \ No newline at end of file diff --git a/obj/Debug/net8.0-windows/apphost.exe b/obj/Debug/net8.0-windows/apphost.exe new file mode 100644 index 0000000..df8e7b7 Binary files /dev/null and b/obj/Debug/net8.0-windows/apphost.exe differ diff --git a/obj/Debug/net8.0-windows/ref/ExamNETIntermediate.dll b/obj/Debug/net8.0-windows/ref/ExamNETIntermediate.dll new file mode 100644 index 0000000..9c748f1 Binary files /dev/null and b/obj/Debug/net8.0-windows/ref/ExamNETIntermediate.dll differ diff --git a/obj/Debug/net8.0-windows/refint/ExamNETIntermediate.dll b/obj/Debug/net8.0-windows/refint/ExamNETIntermediate.dll new file mode 100644 index 0000000..9c748f1 Binary files /dev/null and b/obj/Debug/net8.0-windows/refint/ExamNETIntermediate.dll differ diff --git a/obj/ExamNETIntermediate.csproj.nuget.dgspec.json b/obj/ExamNETIntermediate.csproj.nuget.dgspec.json new file mode 100644 index 0000000..a540dca --- /dev/null +++ b/obj/ExamNETIntermediate.csproj.nuget.dgspec.json @@ -0,0 +1,77 @@ +{ + "format": 1, + "restore": { + "C:\\Users\\Benjamin\\Desktop\\ben\\accelist\\training\\ExamNETIntermediate\\ExamNETIntermediate\\ExamNETIntermediate.csproj": {} + }, + "projects": { + "C:\\Users\\Benjamin\\Desktop\\ben\\accelist\\training\\ExamNETIntermediate\\ExamNETIntermediate\\ExamNETIntermediate.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\Users\\Benjamin\\Desktop\\ben\\accelist\\training\\ExamNETIntermediate\\ExamNETIntermediate\\ExamNETIntermediate.csproj", + "projectName": "ExamNETIntermediate", + "projectPath": "C:\\Users\\Benjamin\\Desktop\\ben\\accelist\\training\\ExamNETIntermediate\\ExamNETIntermediate\\ExamNETIntermediate.csproj", + "packagesPath": "C:\\Users\\Benjamin\\.nuget\\packages\\", + "outputPath": "C:\\Users\\Benjamin\\Desktop\\ben\\accelist\\training\\ExamNETIntermediate\\ExamNETIntermediate\\obj\\", + "projectStyle": "PackageReference", + "configFilePaths": [ + "C:\\Users\\Benjamin\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "net8.0-windows" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net8.0-windows7.0": { + "targetAlias": "net8.0-windows", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + } + }, + "frameworks": { + "net8.0-windows7.0": { + "targetAlias": "net8.0-windows", + "dependencies": { + "Newtonsoft.Json": { + "target": "Package", + "version": "[13.0.3, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + }, + "Microsoft.WindowsDesktop.App.WindowsForms": { + "privateAssets": "none" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.202/PortableRuntimeIdentifierGraph.json" + } + } + } + } +} \ No newline at end of file diff --git a/obj/ExamNETIntermediate.csproj.nuget.g.props b/obj/ExamNETIntermediate.csproj.nuget.g.props new file mode 100644 index 0000000..f7b428e --- /dev/null +++ b/obj/ExamNETIntermediate.csproj.nuget.g.props @@ -0,0 +1,15 @@ + + + + True + NuGet + $(MSBuildThisFileDirectory)project.assets.json + $(UserProfile)\.nuget\packages\ + C:\Users\Benjamin\.nuget\packages\ + PackageReference + 6.9.1 + + + + + \ No newline at end of file diff --git a/obj/ExamNETIntermediate.csproj.nuget.g.targets b/obj/ExamNETIntermediate.csproj.nuget.g.targets new file mode 100644 index 0000000..3dc06ef --- /dev/null +++ b/obj/ExamNETIntermediate.csproj.nuget.g.targets @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/obj/project.assets.json b/obj/project.assets.json new file mode 100644 index 0000000..165b049 --- /dev/null +++ b/obj/project.assets.json @@ -0,0 +1,129 @@ +{ + "version": 3, + "targets": { + "net8.0-windows7.0": { + "Newtonsoft.Json/13.0.3": { + "type": "package", + "compile": { + "lib/net6.0/Newtonsoft.Json.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/Newtonsoft.Json.dll": { + "related": ".xml" + } + } + } + } + }, + "libraries": { + "Newtonsoft.Json/13.0.3": { + "sha512": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==", + "type": "package", + "path": "newtonsoft.json/13.0.3", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.md", + "README.md", + "lib/net20/Newtonsoft.Json.dll", + "lib/net20/Newtonsoft.Json.xml", + "lib/net35/Newtonsoft.Json.dll", + "lib/net35/Newtonsoft.Json.xml", + "lib/net40/Newtonsoft.Json.dll", + "lib/net40/Newtonsoft.Json.xml", + "lib/net45/Newtonsoft.Json.dll", + "lib/net45/Newtonsoft.Json.xml", + "lib/net6.0/Newtonsoft.Json.dll", + "lib/net6.0/Newtonsoft.Json.xml", + "lib/netstandard1.0/Newtonsoft.Json.dll", + "lib/netstandard1.0/Newtonsoft.Json.xml", + "lib/netstandard1.3/Newtonsoft.Json.dll", + "lib/netstandard1.3/Newtonsoft.Json.xml", + "lib/netstandard2.0/Newtonsoft.Json.dll", + "lib/netstandard2.0/Newtonsoft.Json.xml", + "newtonsoft.json.13.0.3.nupkg.sha512", + "newtonsoft.json.nuspec", + "packageIcon.png" + ] + } + }, + "projectFileDependencyGroups": { + "net8.0-windows7.0": [ + "Newtonsoft.Json >= 13.0.3" + ] + }, + "packageFolders": { + "C:\\Users\\Benjamin\\.nuget\\packages\\": {} + }, + "project": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\Users\\Benjamin\\Desktop\\ben\\accelist\\training\\ExamNETIntermediate\\ExamNETIntermediate\\ExamNETIntermediate.csproj", + "projectName": "ExamNETIntermediate", + "projectPath": "C:\\Users\\Benjamin\\Desktop\\ben\\accelist\\training\\ExamNETIntermediate\\ExamNETIntermediate\\ExamNETIntermediate.csproj", + "packagesPath": "C:\\Users\\Benjamin\\.nuget\\packages\\", + "outputPath": "C:\\Users\\Benjamin\\Desktop\\ben\\accelist\\training\\ExamNETIntermediate\\ExamNETIntermediate\\obj\\", + "projectStyle": "PackageReference", + "configFilePaths": [ + "C:\\Users\\Benjamin\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "net8.0-windows" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net8.0-windows7.0": { + "targetAlias": "net8.0-windows", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + } + }, + "frameworks": { + "net8.0-windows7.0": { + "targetAlias": "net8.0-windows", + "dependencies": { + "Newtonsoft.Json": { + "target": "Package", + "version": "[13.0.3, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + }, + "Microsoft.WindowsDesktop.App.WindowsForms": { + "privateAssets": "none" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.202/PortableRuntimeIdentifierGraph.json" + } + } + } +} \ No newline at end of file diff --git a/obj/project.nuget.cache b/obj/project.nuget.cache new file mode 100644 index 0000000..bce238f --- /dev/null +++ b/obj/project.nuget.cache @@ -0,0 +1,10 @@ +{ + "version": 2, + "dgSpecHash": "TmuZEGg5+2NFYvz7Z/4GWJs/pN7FKeuJwGhfBvstaIELLJWO4VvJ6C8N5F9+ugFoDfkalr7AYayqQuohxxLRoA==", + "success": true, + "projectFilePath": "C:\\Users\\Benjamin\\Desktop\\ben\\accelist\\training\\ExamNETIntermediate\\ExamNETIntermediate\\ExamNETIntermediate.csproj", + "expectedPackageFiles": [ + "C:\\Users\\Benjamin\\.nuget\\packages\\newtonsoft.json\\13.0.3\\newtonsoft.json.13.0.3.nupkg.sha512" + ], + "logs": [] +} \ No newline at end of file