From 133fd36378d59b2086db6c9cd759db885a44f463 Mon Sep 17 00:00:00 2001 From: Robieeee Date: Fri, 15 Mar 2024 17:04:17 +0700 Subject: [PATCH] 2502006663_Robertus Ferdinand EXAM --- .../ExamNETIntermediate.csproj | 15 + ExamNETIntermediate/Form1.Designer.cs | 304 +++++++++++++++++- ExamNETIntermediate/Form1.cs | 277 ++++++++++++++++ ExamNETIntermediate/Form1.resx | 120 +++++++ ExamNETIntermediate/Model/GenreModel.cs | 16 + ExamNETIntermediate/Model/SongModel.cs | 19 ++ ExamNETIntermediate/Model/SongModelInput.cs | 19 ++ .../Properties/Resources.Designer.cs | 63 ++++ ExamNETIntermediate/Properties/Resources.resx | 120 +++++++ 9 files changed, 949 insertions(+), 4 deletions(-) create mode 100644 ExamNETIntermediate/Form1.resx create mode 100644 ExamNETIntermediate/Model/GenreModel.cs create mode 100644 ExamNETIntermediate/Model/SongModel.cs create mode 100644 ExamNETIntermediate/Model/SongModelInput.cs create mode 100644 ExamNETIntermediate/Properties/Resources.Designer.cs create mode 100644 ExamNETIntermediate/Properties/Resources.resx diff --git a/ExamNETIntermediate/ExamNETIntermediate.csproj b/ExamNETIntermediate/ExamNETIntermediate.csproj index cc5bed4..ba0f5ad 100644 --- a/ExamNETIntermediate/ExamNETIntermediate.csproj +++ b/ExamNETIntermediate/ExamNETIntermediate.csproj @@ -12,4 +12,19 @@ + + + True + True + Resources.resx + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + \ No newline at end of file diff --git a/ExamNETIntermediate/Form1.Designer.cs b/ExamNETIntermediate/Form1.Designer.cs index ece918a..e9f1e45 100644 --- a/ExamNETIntermediate/Form1.Designer.cs +++ b/ExamNETIntermediate/Form1.Designer.cs @@ -28,12 +28,308 @@ protected override void Dispose(bool disposing) /// 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"; + listBoxMenu = new ListBox(); + numericUpDownMenit = new NumericUpDown(); + tableLayoutPanel1 = new TableLayoutPanel(); + checkBoxAvailable = new CheckBox(); + textBoxTitle = new TextBox(); + textBoxArtis = new TextBox(); + label1 = new Label(); + textBoxArtist = new Label(); + UpdateBtn = new Button(); + AddBtn = new Button(); + RefreshBtn = new Button(); + comboBoxGenre = new ComboBox(); + labelNotification = new Label(); + numericUpDownSeconds = new NumericUpDown(); + label2 = new Label(); + label3 = new Label(); + DeleteBtn = new Button(); + label4 = new Label(); + searchBox = new TextBox(); + searchBtn = new Button(); + dateTimePicker = new DateTimePicker(); + label5 = new Label(); + label6 = new Label(); + ((System.ComponentModel.ISupportInitialize)numericUpDownMenit).BeginInit(); + tableLayoutPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)numericUpDownSeconds).BeginInit(); + SuspendLayout(); + // + // listBoxMenu + // + listBoxMenu.FormattingEnabled = true; + listBoxMenu.ItemHeight = 15; + listBoxMenu.Location = new Point(12, 53); + listBoxMenu.Name = "listBoxMenu"; + listBoxMenu.Size = new Size(254, 334); + listBoxMenu.TabIndex = 0; + listBoxMenu.SelectedIndexChanged += listBoxMenu_SelectedIndexChanged; + // + // numericUpDownMenit + // + numericUpDownMenit.Location = new Point(270, 261); + numericUpDownMenit.Maximum = new decimal(new int[] { 60, 0, 0, 0 }); + numericUpDownMenit.Name = "numericUpDownMenit"; + numericUpDownMenit.Size = new Size(120, 23); + numericUpDownMenit.TabIndex = 1; + numericUpDownMenit.UseWaitCursor = true; + // + // tableLayoutPanel1 + // + tableLayoutPanel1.ColumnCount = 2; + tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50F)); + tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50F)); + tableLayoutPanel1.Controls.Add(checkBoxAvailable, 1, 2); + tableLayoutPanel1.Controls.Add(textBoxTitle, 1, 0); + tableLayoutPanel1.Controls.Add(textBoxArtis, 1, 1); + tableLayoutPanel1.Controls.Add(label1, 0, 0); + tableLayoutPanel1.Controls.Add(textBoxArtist, 0, 1); + tableLayoutPanel1.Location = new Point(272, 123); + tableLayoutPanel1.Name = "tableLayoutPanel1"; + tableLayoutPanel1.RowCount = 3; + tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent, 50F)); + tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Absolute, 50F)); + tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent, 50F)); + tableLayoutPanel1.Size = new Size(389, 115); + tableLayoutPanel1.TabIndex = 2; + // + // checkBoxAvailable + // + checkBoxAvailable.AutoSize = true; + checkBoxAvailable.Location = new Point(197, 85); + checkBoxAvailable.Name = "checkBoxAvailable"; + checkBoxAvailable.Size = new Size(93, 19); + checkBoxAvailable.TabIndex = 9; + checkBoxAvailable.Text = "Is Available ?"; + checkBoxAvailable.UseVisualStyleBackColor = true; + // + // textBoxTitle + // + textBoxTitle.Location = new Point(197, 3); + textBoxTitle.Name = "textBoxTitle"; + textBoxTitle.Size = new Size(177, 23); + textBoxTitle.TabIndex = 8; + // + // textBoxArtis + // + textBoxArtis.Location = new Point(197, 35); + textBoxArtis.Name = "textBoxArtis"; + textBoxArtis.Size = new Size(177, 23); + textBoxArtis.TabIndex = 10; + // + // label1 + // + label1.AutoSize = true; + label1.Location = new Point(3, 0); + label1.Name = "label1"; + label1.Size = new Size(35, 15); + label1.TabIndex = 6; + label1.Text = "Title :"; + // + // textBoxArtist + // + textBoxArtist.AutoSize = true; + textBoxArtist.Location = new Point(3, 32); + textBoxArtist.Name = "textBoxArtist"; + textBoxArtist.Size = new Size(76, 15); + textBoxArtist.TabIndex = 7; + textBoxArtist.Text = "Artist Name :"; + // + // UpdateBtn + // + UpdateBtn.Location = new Point(484, 304); + UpdateBtn.Name = "UpdateBtn"; + UpdateBtn.Size = new Size(75, 23); + UpdateBtn.TabIndex = 4; + UpdateBtn.Text = "Update"; + UpdateBtn.UseVisualStyleBackColor = true; + UpdateBtn.Click += UpdateBtn_Click; + // + // AddBtn + // + AddBtn.Location = new Point(565, 304); + AddBtn.Name = "AddBtn"; + AddBtn.Size = new Size(75, 23); + AddBtn.TabIndex = 5; + AddBtn.Text = "Add Song"; + AddBtn.UseVisualStyleBackColor = true; + AddBtn.Click += AddBtn_Click; + // + // RefreshBtn + // + RefreshBtn.Location = new Point(322, 304); + RefreshBtn.Name = "RefreshBtn"; + RefreshBtn.Size = new Size(75, 23); + RefreshBtn.TabIndex = 3; + RefreshBtn.Text = "Refresh"; + RefreshBtn.UseVisualStyleBackColor = true; + RefreshBtn.Click += RefreshBtn_Click; + // + // comboBoxGenre + // + comboBoxGenre.FormattingEnabled = true; + comboBoxGenre.Location = new Point(667, 151); + comboBoxGenre.Name = "comboBoxGenre"; + comboBoxGenre.Size = new Size(121, 23); + comboBoxGenre.TabIndex = 6; + // + // labelNotification + // + labelNotification.AutoSize = true; + labelNotification.Location = new Point(281, 348); + labelNotification.Name = "labelNotification"; + labelNotification.Size = new Size(70, 15); + labelNotification.TabIndex = 7; + labelNotification.Text = "Notification"; + // + // numericUpDownSeconds + // + numericUpDownSeconds.Location = new Point(396, 261); + numericUpDownSeconds.Maximum = new decimal(new int[] { 60, 0, 0, 0 }); + numericUpDownSeconds.Name = "numericUpDownSeconds"; + numericUpDownSeconds.Size = new Size(120, 23); + numericUpDownSeconds.TabIndex = 9; + // + // label2 + // + label2.AutoSize = true; + label2.Location = new Point(270, 243); + label2.Name = "label2"; + label2.Size = new Size(38, 15); + label2.TabIndex = 10; + label2.Text = "Menit"; + // + // label3 + // + label3.AutoSize = true; + label3.Location = new Point(396, 243); + label3.Name = "label3"; + label3.Size = new Size(34, 15); + label3.TabIndex = 11; + label3.Text = "Detik"; + // + // DeleteBtn + // + DeleteBtn.Location = new Point(403, 304); + DeleteBtn.Name = "DeleteBtn"; + DeleteBtn.Size = new Size(75, 23); + DeleteBtn.TabIndex = 12; + DeleteBtn.Text = "Delete"; + DeleteBtn.UseVisualStyleBackColor = true; + DeleteBtn.Click += DeleteBtn_Click; + // + // label4 + // + label4.AutoSize = true; + label4.Location = new Point(667, 133); + label4.Name = "label4"; + label4.Size = new Size(38, 15); + label4.TabIndex = 13; + label4.Text = "Genre"; + label4.TextAlign = ContentAlignment.TopCenter; + // + // searchBox + // + searchBox.Location = new Point(277, 53); + searchBox.Name = "searchBox"; + searchBox.Size = new Size(182, 23); + searchBox.TabIndex = 14; + // + // searchBtn + // + searchBtn.Location = new Point(276, 82); + searchBtn.Name = "searchBtn"; + searchBtn.Size = new Size(75, 23); + searchBtn.TabIndex = 15; + searchBtn.Text = "Search"; + searchBtn.UseVisualStyleBackColor = true; + searchBtn.Click += searchBtn_Click; + // + // dateTimePicker + // + dateTimePicker.CustomFormat = "dd-MM-yyyy"; + dateTimePicker.Format = DateTimePickerFormat.Custom; + dateTimePicker.Location = new Point(538, 260); + dateTimePicker.Name = "dateTimePicker"; + dateTimePicker.Size = new Size(158, 23); + dateTimePicker.TabIndex = 16; + // + // label5 + // + label5.AutoSize = true; + label5.Location = new Point(538, 242); + label5.Name = "label5"; + label5.Size = new Size(83, 15); + label5.TabIndex = 17; + label5.Text = "Released Date:"; + // + // label6 + // + label6.AutoSize = true; + label6.Location = new Point(275, 35); + label6.Name = "label6"; + label6.Size = new Size(62, 15); + label6.TabIndex = 18; + label6.Text = "SearchBox"; + // + // Form1 + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + BackColor = SystemColors.InactiveCaption; + ClientSize = new Size(800, 450); + Controls.Add(label6); + Controls.Add(label5); + Controls.Add(dateTimePicker); + Controls.Add(searchBtn); + Controls.Add(searchBox); + Controls.Add(label4); + Controls.Add(DeleteBtn); + Controls.Add(label3); + Controls.Add(label2); + Controls.Add(numericUpDownSeconds); + Controls.Add(AddBtn); + Controls.Add(UpdateBtn); + Controls.Add(labelNotification); + Controls.Add(comboBoxGenre); + Controls.Add(RefreshBtn); + Controls.Add(tableLayoutPanel1); + Controls.Add(numericUpDownMenit); + Controls.Add(listBoxMenu); + Name = "Form1"; + ((System.ComponentModel.ISupportInitialize)numericUpDownMenit).EndInit(); + tableLayoutPanel1.ResumeLayout(false); + tableLayoutPanel1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)numericUpDownSeconds).EndInit(); + ResumeLayout(false); + PerformLayout(); } #endregion + + private ListBox listBoxMenu; + private NumericUpDown numericUpDownMenit; + private TableLayoutPanel tableLayoutPanel1; + private Button RefreshBtn; + private Button UpdateBtn; + private Button AddBtn; + private ComboBox comboBoxGenre; + private Label label1; + private Label textBoxArtist; + private TextBox textBoxTitle; + private Label labelNotification; + private CheckBox checkBoxAvailable; + private NumericUpDown numericUpDownSeconds; + private Label label2; + private Label label3; + private TextBox textBoxArtis; + private Button DeleteBtn; + private Label label4; + private TextBox searchBox; + private Button searchBtn; + private DateTimePicker dateTimePicker; + private Label label5; + private Label label6; } } diff --git a/ExamNETIntermediate/Form1.cs b/ExamNETIntermediate/Form1.cs index 3302c50..55ef7e2 100644 --- a/ExamNETIntermediate/Form1.cs +++ b/ExamNETIntermediate/Form1.cs @@ -1,10 +1,287 @@ +using ExamNETIntermediate.Model; +using Newtonsoft.Json; +using System.Text; +using System.ComponentModel; +using Newtonsoft.Json.Serialization; +using System.Collections.Generic; +using System.Security; +using Microsoft.VisualBasic; +//Robertus Ferdinand namespace ExamNETIntermediate { public partial class Form1 : Form { + + + public List Genre { get; set; } = new List(); + public List Song { get; set; } = new List(); + public HttpClient _httpClient { get; set; } = new HttpClient(); public Form1() { InitializeComponent(); + PopulateComboBox(); + PopulateListBox(); + /*dateTimePicker.MinDate =DateTime.Today; + dateTimePicker.MaxDate =DateTime.Today.AddDays(7);*/ } + + 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) + { + Song = content; + } + listBoxMenu.Items.Clear(); + listBoxMenu.Items.AddRange(Song.ToArray()); + listBoxMenu.DisplayMember = "Title"; + + } + + public async void PopulateComboBox() + { + 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) + { + Genre = content; + } + comboBoxGenre.Items.Clear(); + comboBoxGenre.Items.AddRange(Genre.ToArray()); + comboBoxGenre.DisplayMember = "GenreName"; + + } + + public void RefreshBtn_Click(object sender, EventArgs e) + { + PopulateListBox(); + } + + private async void AddBtn_Click(object sender, EventArgs e) + { + var songTitle = textBoxTitle.Text; + var artistName = textBoxArtis.Text; + int minute = (int)numericUpDownMenit.Value; + int seconds = (int)numericUpDownSeconds.Value; + int totalDuration = (minute * 60) + seconds; + DateTime currentDate = dateTimePicker.Value; + + //validate each conditions + if (seconds == 0) + { + labelNotification.Text = "Duration Cannot be Empty!"; + return; + } + if (currentDate > DateTime.Now.AddDays(7)||currentDate < DateTime.Now.AddDays(-7)) + { + labelNotification.Text = "Please Select a date within the next 7 days !"; + return; + } + if (minute == 0) + { + labelNotification.Text = "Duration Cannot Be Empty!"; + return; + } + if (string.IsNullOrEmpty(songTitle)) + { + labelNotification.Text = "Song Title Cannot Be Empty!"; + return; + } + if (string.IsNullOrEmpty(artistName)) + { + labelNotification.Text = "Artist Name Cannot Be Empty!"; + return; + } + if(!checkBoxAvailable.Checked) + { + labelNotification.Text = "Please Mark the checkbox!"; + return; + } + var selectedGenre = comboBoxGenre.SelectedItem as GenreModel; + if (selectedGenre == null) + { + labelNotification.Text = "Please select a genre!"; + return; + } + + var songModel = new SongModelInput + { + Title = songTitle, + Artist = artistName, + Length = totalDuration, + IsAvailable = checkBoxAvailable.Checked, + ReleaseDate = currentDate, + GenreId = selectedGenre.GenreId + }; + + 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.PostAsync("https://new-dev.accelist.com:10000/api/song", content); + response.EnsureSuccessStatusCode(); + if (response.IsSuccessStatusCode) + { + labelNotification.Text = "Successfully Inserted to new menu!"; + } + else + { + labelNotification.Text = "Failed to Insert New Menu!"; + } + + PopulateListBox(); + ClearInput(); + } + + public void ClearInput() + { + textBoxArtis.Text = string.Empty; + textBoxTitle.Text = string.Empty; + comboBoxGenre.SelectedItem = null; + checkBoxAvailable.Checked = false; + numericUpDownMenit.Value = 0; + numericUpDownSeconds.Value = 0; + dateTimePicker.Value = DateTime.Now; + + } + + private async void UpdateBtn_Click(object sender, EventArgs e) + { + if (listBoxMenu.SelectedItem != null) + { + if (listBoxMenu.SelectedItem is SongModel selectedSong) + { + string titleNameUp = textBoxTitle.Text; + string artistNameUp = textBoxArtis.Text; + bool updateAvail = checkBoxAvailable.Checked; + int minute = (int)numericUpDownMenit.Value; + DateTime releasedDate = dateTimePicker.Value; + int seconds = (int)numericUpDownSeconds.Value; + int totalDuration = (minute * 60) + seconds; + + if (releasedDate > DateTime.Now.AddDays(7) || releasedDate < DateTime.Now) + { + labelNotification.Text = "Please Select a date within the next 7 days range !"; + return; + } + SongModelInput updateSong = new SongModelInput + { + SongId = Convert.ToInt32(selectedSong.SongId), + Title = titleNameUp, + Artist = artistNameUp, + GenreId = comboBoxGenre.SelectedIndex + 1, + Length = totalDuration, + ReleaseDate = releasedDate, + IsAvailable = updateAvail + }; + string json = JsonConvert.SerializeObject(updateSong); + StringContent content = new StringContent(json, Encoding.UTF8, "application/json"); + HttpResponseMessage response = await _httpClient.PutAsync("https://new-dev.accelist.com:10000/api/song", content); + + if (response.IsSuccessStatusCode) + { + labelNotification.Text = "Song Updated!"; + PopulateListBox(); + } + else + { + labelNotification.Text = $"Failed"; + } + } + else + { + labelNotification.Text = "Invalid selection."; + } + } + else + { + labelNotification.Text = "No item selected."; + } + + PopulateListBox(); + } + + + private async void DeleteBtn_Click(object sender, EventArgs e) + { + if (listBoxMenu.SelectedItem != null) + { + SongModel selectedSong = (SongModel)listBoxMenu.SelectedItem; + HttpResponseMessage response = await _httpClient.DeleteAsync($"https://new-dev.accelist.com:10000/api/song/{selectedSong.SongId}"); + if (response.IsSuccessStatusCode) + { + labelNotification.Text = "Deleted"; + PopulateListBox(); + } + else + { + labelNotification.Text = "Rejected"; + } + } + else + { + labelNotification.Text = "There's nothing to Delete!"; + + } + PopulateListBox(); + } + + private void listBoxMenu_SelectedIndexChanged(object sender, EventArgs e) + { + if (listBoxMenu.SelectedItem != null) + { + var selectedItem = listBoxMenu.SelectedItem as SongModel; + + if (selectedItem != null) + { + var selectedSong = Genre.FirstOrDefault(items => items.GenreName == selectedItem.GenreName); + + if (selectedSong != null) + { + DateTime currentDate = selectedItem.ReleaseDate; + int minute = selectedItem.Length / 60; + int seconds = selectedItem.Length % 60; + + textBoxTitle.Text = selectedItem.Title; + textBoxArtis.Text = selectedItem.Artist; + checkBoxAvailable.Checked = selectedItem.IsAvailable; + comboBoxGenre.SelectedItem = selectedSong; + numericUpDownMenit.Value = Convert.ToInt32(minute); + numericUpDownSeconds.Value = Convert.ToInt32(seconds); + dateTimePicker.Value = currentDate; + } + else + { + labelNotification.Text = "Selected song's genre not found!"; + return; + } + } + else + { + labelNotification.Text = "Choose songs first!"; + return; + } + } + else + { + labelNotification.Text = "Choose An item!"; + return; + } + } + + private void searchBtn_Click(object sender, EventArgs e) + { + var search = searchBox.Text; + var searchItem = Song.Where(items => items.Title.Contains(search) || items.Artist.Contains(search)).ToList(); + listBoxMenu.DataSource = searchItem; + listBoxMenu.DisplayMember = "Title"; + + } + } } diff --git a/ExamNETIntermediate/Form1.resx b/ExamNETIntermediate/Form1.resx new file mode 100644 index 0000000..af32865 --- /dev/null +++ b/ExamNETIntermediate/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/ExamNETIntermediate/Model/GenreModel.cs b/ExamNETIntermediate/Model/GenreModel.cs new file mode 100644 index 0000000..a708a4a --- /dev/null +++ b/ExamNETIntermediate/Model/GenreModel.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ExamNETIntermediate.Model +{ + public class GenreModel + { + public int GenreId { get; set; } + public string GenreName { get; set; } = string.Empty; + } + + +} diff --git a/ExamNETIntermediate/Model/SongModel.cs b/ExamNETIntermediate/Model/SongModel.cs new file mode 100644 index 0000000..940a121 --- /dev/null +++ b/ExamNETIntermediate/Model/SongModel.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ExamNETIntermediate.Model +{ + public class SongModel + { + public int SongId { get; set; } + public string Title { get; set; } = string.Empty; + public string Artist { get; set; } = string.Empty; + public string GenreName { get; set; } = string.Empty; + public int Length { get; set; } + public DateTime ReleaseDate { get; set; } + public bool IsAvailable { get; set; } + } +} diff --git a/ExamNETIntermediate/Model/SongModelInput.cs b/ExamNETIntermediate/Model/SongModelInput.cs new file mode 100644 index 0000000..e081bd0 --- /dev/null +++ b/ExamNETIntermediate/Model/SongModelInput.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ExamNETIntermediate.Model +{ + public class SongModelInput + { + public int SongId { get; set; } + public string Title { get; set; } = string.Empty; + public string Artist { get; set; } = string.Empty; + public int GenreId { get; set; } + public int Length { get; set; } + public DateTime ReleaseDate { get; set; } + public bool IsAvailable { get; set; } + } +} diff --git a/ExamNETIntermediate/Properties/Resources.Designer.cs b/ExamNETIntermediate/Properties/Resources.Designer.cs new file mode 100644 index 0000000..2fbbf69 --- /dev/null +++ b/ExamNETIntermediate/Properties/Resources.Designer.cs @@ -0,0 +1,63 @@ +//------------------------------------------------------------------------------ +// +// 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 ExamNETIntermediate.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ExamNETIntermediate.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + } +} diff --git a/ExamNETIntermediate/Properties/Resources.resx b/ExamNETIntermediate/Properties/Resources.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/ExamNETIntermediate/Properties/Resources.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