Skip to content

Commit 5b275bb

Browse files
committed
Added Edit Open Job form
Form added, functionality sorted
1 parent deb77da commit 5b275bb

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+1279
-112
lines changed

BikersWorld/BikersWorld.csproj

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,12 @@
9595
<Compile Include="frmCompletedJobs.Designer.cs">
9696
<DependentUpon>frmCompletedJobs.cs</DependentUpon>
9797
</Compile>
98+
<Compile Include="frmEditOpenJob.cs">
99+
<SubType>Form</SubType>
100+
</Compile>
101+
<Compile Include="frmEditOpenJob.Designer.cs">
102+
<DependentUpon>frmEditOpenJob.cs</DependentUpon>
103+
</Compile>
98104
<Compile Include="frmLogins.cs">
99105
<SubType>Form</SubType>
100106
</Compile>
@@ -187,6 +193,9 @@
187193
<EmbeddedResource Include="frmCompletedJobs.resx">
188194
<DependentUpon>frmCompletedJobs.cs</DependentUpon>
189195
</EmbeddedResource>
196+
<EmbeddedResource Include="frmEditOpenJob.resx">
197+
<DependentUpon>frmEditOpenJob.cs</DependentUpon>
198+
</EmbeddedResource>
190199
<EmbeddedResource Include="frmLogins.resx">
191200
<DependentUpon>frmLogins.cs</DependentUpon>
192201
</EmbeddedResource>

BikersWorld/bin/Debug/BikersWorld.exe

12.5 KB
Binary file not shown.

BikersWorld/bin/Debug/BikersWorld.pdb

60 KB
Binary file not shown.
472 Bytes
Binary file not shown.

BikersWorld/dbEW.cs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,24 @@ public void DataInsert(string query)
144144
#endregion
145145

146146

147+
public void UpdateDatabase(string query){
148+
try
149+
{
150+
if (this.openConnection() == true)
151+
{
152+
MySqlCommand cmd = new MySqlCommand(query, connection);
153+
cmd.ExecuteNonQuery();
154+
this.closeConnection();
155+
MessageBox.Show("Data Successfully Inserted");
156+
}
157+
}
158+
catch (Exception ex)
159+
{
160+
MessageBox.Show(ex.ToString());
161+
}
162+
163+
}
164+
147165

148166
}
149167
}

BikersWorld/frmEditOpenJob.Designer.cs

Lines changed: 401 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

BikersWorld/frmEditOpenJob.cs

Lines changed: 214 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,214 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.ComponentModel;
4+
using System.Data;
5+
using System.Drawing;
6+
using System.Linq;
7+
using System.Text;
8+
using System.Threading.Tasks;
9+
using System.Windows.Forms;
10+
using Novacode;
11+
using System.Diagnostics;
12+
13+
namespace BikersWorld
14+
{
15+
public partial class frmEditOpenJob : Form
16+
{
17+
job jobs = new job();
18+
dbEW accessDB = new dbEW();
19+
DataTable dt = new DataTable();
20+
job thisJob = new job();
21+
22+
public frmEditOpenJob()
23+
{
24+
InitializeComponent();
25+
}
26+
27+
private void frmEditOpenJob_Load(object sender, EventArgs e)
28+
{
29+
//code in this region used to populate the dataGridView with all current jobs
30+
getOpenJobs();
31+
}
32+
33+
private void getOpenJobs()
34+
{
35+
dt = jobs.getOpenJobs();
36+
dgvEditOpenJob.DataSource = dt;
37+
}
38+
39+
//used to hide unwanted columns within the datagride that are still required for instantiation
40+
public void hideUnwantedColumns()
41+
{
42+
for (int i = 0; i < dgvEditOpenJob.ColumnCount; i++)
43+
{
44+
switch (i)
45+
{
46+
case 0:
47+
this.dgvEditOpenJob.Columns[i].Visible = false;
48+
break;
49+
case 3:
50+
this.dgvEditOpenJob.Columns[i].Visible = false;
51+
break;
52+
case 6:
53+
this.dgvEditOpenJob.Columns[i].Visible = false;
54+
break;
55+
case 8:
56+
this.dgvEditOpenJob.Columns[i].Visible = false;
57+
break;
58+
case 9:
59+
this.dgvEditOpenJob.Columns[i].Visible = false;
60+
break;
61+
case 10:
62+
this.dgvEditOpenJob.Columns[i].Visible = false;
63+
break;
64+
case 11:
65+
this.dgvEditOpenJob.Columns[i].Visible = false;
66+
break;
67+
case 13:
68+
this.dgvEditOpenJob.Columns[i].Visible = false;
69+
break;
70+
case 14:
71+
this.dgvEditOpenJob.Columns[i].Visible = false;
72+
break;
73+
case 15:
74+
this.dgvEditOpenJob.Columns[i].Visible = false;
75+
break;
76+
77+
}
78+
}
79+
80+
}
81+
82+
private void btnSearch_Click(object sender, EventArgs e)
83+
{
84+
if (string.IsNullOrWhiteSpace(txtCustomerID.Text) && string.IsNullOrWhiteSpace(txtDescription.Text))
85+
{
86+
MessageBox.Show("Please enter some criteria in order to search upon!", "No Seatch Criteria", MessageBoxButtons.OK, MessageBoxIcon.Question);
87+
txtCustomerID.Focus();
88+
}
89+
else if (txtCustomerID.Text.Length > 0 && string.IsNullOrWhiteSpace(txtDescription.Text))
90+
{
91+
dt = jobs.searchJob(txtCustomerID.Text, null, "CustomerID");
92+
dgvEditOpenJob.DataSource = dt;
93+
}
94+
else if (string.IsNullOrWhiteSpace(txtCustomerID.Text) && txtDescription.Text.Length > 0)
95+
{
96+
dt = jobs.searchJob(txtDescription.Text, null, "Description");
97+
dgvEditOpenJob.DataSource = dt;
98+
}
99+
else if (txtCustomerID.Text.Length > 0 && txtDescription.Text.Length > 0)
100+
{
101+
dt = jobs.searchJob(txtCustomerID.Text, txtDescription.Text, "both");
102+
dgvEditOpenJob.DataSource = dt;
103+
}
104+
else
105+
{
106+
MessageBox.Show("Something went wrong, please try again", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
107+
}
108+
}
109+
110+
private void btnClear_Click(object sender, EventArgs e)
111+
{
112+
txtCustomerID.Clear();
113+
txtDescription.Clear();
114+
dgvEditOpenJob.ClearSelection();
115+
getOpenJobs();
116+
}
117+
118+
private void dgvProductInformation_CellClick(object sender, DataGridViewCellEventArgs e)
119+
{
120+
121+
}
122+
123+
private void btnExit_Click(object sender, EventArgs e)
124+
{
125+
this.Close();
126+
}
127+
128+
private void grpEditJob_Enter(object sender, EventArgs e)
129+
{
130+
131+
}
132+
133+
private void btnEditClear_Click(object sender, EventArgs e)
134+
{
135+
txtDesc.Clear();
136+
txtDateLogged.Clear();
137+
txtDateStarted.Clear();
138+
txtEstimatedCompletionDate.Clear();
139+
txtCompletionDate.Clear();
140+
combJobOpenClosed.Text = ("");
141+
}
142+
143+
private void dgvEditOpenJob_CellClick(object sender, DataGridViewCellEventArgs e)
144+
{
145+
146+
thisJob.JobID = Convert.ToInt16(dgvEditOpenJob.CurrentRow.Cells[0].Value);
147+
thisJob.Description = (dgvEditOpenJob.CurrentRow.Cells[3].Value.ToString());
148+
thisJob.DateLogged = (dgvEditOpenJob.CurrentRow.Cells[4].Value.ToString());
149+
thisJob.DateStarted = (dgvEditOpenJob.CurrentRow.Cells[5].Value.ToString());
150+
thisJob.EstimatedCompletionDate = (dgvEditOpenJob.CurrentRow.Cells[6].Value.ToString());
151+
thisJob.DateCompleted = (dgvEditOpenJob.CurrentRow.Cells[7].Value.ToString());
152+
thisJob.JobOpenClose = Convert.ToInt16(dgvEditOpenJob.CurrentRow.Cells[8].Value);
153+
154+
txtDesc.Text = thisJob.Description;
155+
txtDateLogged.Text = thisJob.DateLogged;
156+
txtDateStarted.Text = thisJob.DateStarted;
157+
txtEstimatedCompletionDate.Text = thisJob.EstimatedCompletionDate;
158+
txtCompletionDate.Text = thisJob.DateCompleted;
159+
160+
grpEditJob.Text = "job N:" + thisJob.JobID;
161+
162+
switch ( thisJob.JobOpenClose){
163+
164+
case 2:
165+
166+
combJobOpenClosed.Text = "Closed";
167+
break;
168+
169+
case 1:
170+
combJobOpenClosed.Text = "Open";
171+
break;
172+
173+
}
174+
175+
176+
177+
}
178+
179+
private void btnSubmit_Click(object sender, EventArgs e)
180+
{
181+
int state = 1;
182+
switch (combJobOpenClosed.Text)
183+
{
184+
185+
case "Closed":
186+
187+
state = 2;
188+
break;
189+
190+
case "Open":
191+
state = 1;
192+
break;
193+
194+
}
195+
string query = "update `jobs` SET `description` ='" + txtDesc.Text + "', `date_logged` ='" + txtDateLogged.Text + "'," +
196+
"`date_started` = '" + txtDateStarted.Text + "', `estimated_completion` = '" + txtEstimatedCompletionDate.Text + "'," +
197+
"`date_completed` = '" + txtCompletionDate.Text + "', `job_open_close` = " + state + " WHERE job_id='" + thisJob.JobID + "';";
198+
accessDB.UpdateDatabase(query);
199+
200+
getOpenJobs();
201+
}
202+
203+
private void txtDateLogged_MaskInputRejected(object sender, MaskInputRejectedEventArgs e)
204+
{
205+
206+
207+
}
208+
209+
private void txtEstimatedCompletionDate_MaskInputRejected(object sender, MaskInputRejectedEventArgs e)
210+
{
211+
212+
}
213+
}
214+
}

BikersWorld/frmEditOpenJob.resx

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<root>
3+
<!--
4+
Microsoft ResX Schema
5+
6+
Version 2.0
7+
8+
The primary goals of this format is to allow a simple XML format
9+
that is mostly human readable. The generation and parsing of the
10+
various data types are done through the TypeConverter classes
11+
associated with the data types.
12+
13+
Example:
14+
15+
... ado.net/XML headers & schema ...
16+
<resheader name="resmimetype">text/microsoft-resx</resheader>
17+
<resheader name="version">2.0</resheader>
18+
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
19+
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
20+
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
21+
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
22+
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
23+
<value>[base64 mime encoded serialized .NET Framework object]</value>
24+
</data>
25+
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
26+
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
27+
<comment>This is a comment</comment>
28+
</data>
29+
30+
There are any number of "resheader" rows that contain simple
31+
name/value pairs.
32+
33+
Each data row contains a name, and value. The row also contains a
34+
type or mimetype. Type corresponds to a .NET class that support
35+
text/value conversion through the TypeConverter architecture.
36+
Classes that don't support this are serialized and stored with the
37+
mimetype set.
38+
39+
The mimetype is used for serialized objects, and tells the
40+
ResXResourceReader how to depersist the object. This is currently not
41+
extensible. For a given mimetype the value must be set accordingly:
42+
43+
Note - application/x-microsoft.net.object.binary.base64 is the format
44+
that the ResXResourceWriter will generate, however the reader can
45+
read any of the formats listed below.
46+
47+
mimetype: application/x-microsoft.net.object.binary.base64
48+
value : The object must be serialized with
49+
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
50+
: and then encoded with base64 encoding.
51+
52+
mimetype: application/x-microsoft.net.object.soap.base64
53+
value : The object must be serialized with
54+
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
55+
: and then encoded with base64 encoding.
56+
57+
mimetype: application/x-microsoft.net.object.bytearray.base64
58+
value : The object must be serialized into a byte array
59+
: using a System.ComponentModel.TypeConverter
60+
: and then encoded with base64 encoding.
61+
-->
62+
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
63+
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
64+
<xsd:element name="root" msdata:IsDataSet="true">
65+
<xsd:complexType>
66+
<xsd:choice maxOccurs="unbounded">
67+
<xsd:element name="metadata">
68+
<xsd:complexType>
69+
<xsd:sequence>
70+
<xsd:element name="value" type="xsd:string" minOccurs="0" />
71+
</xsd:sequence>
72+
<xsd:attribute name="name" use="required" type="xsd:string" />
73+
<xsd:attribute name="type" type="xsd:string" />
74+
<xsd:attribute name="mimetype" type="xsd:string" />
75+
<xsd:attribute ref="xml:space" />
76+
</xsd:complexType>
77+
</xsd:element>
78+
<xsd:element name="assembly">
79+
<xsd:complexType>
80+
<xsd:attribute name="alias" type="xsd:string" />
81+
<xsd:attribute name="name" type="xsd:string" />
82+
</xsd:complexType>
83+
</xsd:element>
84+
<xsd:element name="data">
85+
<xsd:complexType>
86+
<xsd:sequence>
87+
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
88+
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
89+
</xsd:sequence>
90+
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
91+
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
92+
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
93+
<xsd:attribute ref="xml:space" />
94+
</xsd:complexType>
95+
</xsd:element>
96+
<xsd:element name="resheader">
97+
<xsd:complexType>
98+
<xsd:sequence>
99+
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
100+
</xsd:sequence>
101+
<xsd:attribute name="name" type="xsd:string" use="required" />
102+
</xsd:complexType>
103+
</xsd:element>
104+
</xsd:choice>
105+
</xsd:complexType>
106+
</xsd:element>
107+
</xsd:schema>
108+
<resheader name="resmimetype">
109+
<value>text/microsoft-resx</value>
110+
</resheader>
111+
<resheader name="version">
112+
<value>2.0</value>
113+
</resheader>
114+
<resheader name="reader">
115+
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
116+
</resheader>
117+
<resheader name="writer">
118+
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
119+
</resheader>
120+
</root>

0 commit comments

Comments
 (0)