private void btnCloseJob_Click(object sender, EventArgs e) { RadioButton radChoice = new RadioButton(); try { radChoice = gbContactOutcome.Controls.OfType <RadioButton>().First(r => r.Checked); } catch (System.Exception err) { string a = err.Message; MessageBox.Show("Please choose a reason for closing job", msgBoxTitle, MessageBoxButtons.OK, MessageBoxIcon.Information); } JobContact jobcontact = new JobContact(); jobcontact.JobID = Convert.ToInt32(job.JobID); jobcontact.LinkID = job.ClientID; jobcontact.AttributeID = Convert.ToInt32(radChoice.Tag); jobcontact.Note = rtbContactNotes.Text; job.Notes += Environment.NewLine + "Job Closure Note: " + rtbContactNotes.Text == string.Empty || rtbContactNotes.ForeColor == Color.White ? radChoice.Text : rtbContactNotes.Text; job.UpdateJob(false); string msg = jobcontact.AddJobContact(); if (msg == "Successfully updated job") { MessageBox.Show(msg, msgBoxTitle); } else { MessageBox.Show(msg, msgBoxTitle); } LoadTreeView(); ResetRightPanel(); }
public string UpdateJob(bool bApptChange) { try { OleDbConnection sqlConnection = new OleDbConnection(); sqlConnection.ConnectionString = ConfigurationManager.ConnectionStrings["TransManager"].ToString(); using (sqlConnection) { sqlConnection.Open(); OleDbCommand cmd = new OleDbCommand(); cmd.CommandType = System.Data.CommandType.Text; cmd.CommandText = "UPDATE Jobs SET Notes = @var1, JobDate = @var2, DVCWheelchairNeeded = @var3, JobSourceID = @var4 WHERE JobID = @var5"; cmd.Parameters.Add(new OleDbParameter("@var1", _notes)); cmd.Parameters.Add(new OleDbParameter("@var2", _jobdate)); cmd.Parameters.Add(new OleDbParameter("@var3", _DVCwheelchair)); cmd.Parameters.Add(new OleDbParameter("@var4", _sourceid)); cmd.Parameters.Add(new OleDbParameter("@var5", _jobid)); cmd.Connection = sqlConnection; Log.WriteCommand(cmd); cmd.ExecuteScalar(); for (Int32 i = 0; i < this.joblegs.Count; i++) { cmd.Parameters.Clear(); if (joblegs[i].JobSequenceID == 0) { cmd.CommandText = "INSERT INTO JobLegs(JobID, LegID, DriverID, DestinationStartID, DestinationEndID, JobPickUpTime, JobAppointmentTime, EnteredBy) SELECT @var1, @var2, @var3, @var4, @var5, @var6, @var7, @var8"; cmd.Parameters.Add(new OleDbParameter("@var1", _jobid)); cmd.Parameters.Add(new OleDbParameter("@var2", i + 1)); cmd.Parameters.Add(new OleDbParameter("@var3", joblegs[i].DriverID)); cmd.Parameters.Add(new OleDbParameter("@var4", joblegs[i].PickUpDestinationID)); cmd.Parameters.Add(new OleDbParameter("@var5", joblegs[i].DropDestinationID)); cmd.Parameters.Add(new OleDbParameter("@var6", joblegs[i].PickUpTime)); cmd.Parameters.Add(new OleDbParameter("@var7", joblegs[i].AppointmentTime)); cmd.Parameters.Add(new OleDbParameter("@var8", (User.CurrentUserName == null ? "Unknown" : User.CurrentUserName))); cmd.ExecuteScalar(); } else { cmd.CommandText = "UPDATE JobLegs SET LegID = @var1, DriverID=@var2, DestinationStartID =@var3, DestinationEndID = @var4, JobPickUpTime = @var5, JobAppointmentTime = @var6 WHERE JobSequenceId = @var7"; cmd.Parameters.Add(new OleDbParameter("@var1", i + 1)); cmd.Parameters.Add(new OleDbParameter("@var2", joblegs[i].DriverID)); cmd.Parameters.Add(new OleDbParameter("@var3", joblegs[i].PickUpDestinationID)); cmd.Parameters.Add(new OleDbParameter("@var4", joblegs[i].DropDestinationID)); cmd.Parameters.Add(new OleDbParameter("@var5", joblegs[i].PickUpTime)); cmd.Parameters.Add(new OleDbParameter("@var6", joblegs[i].AppointmentTime)); cmd.Parameters.Add(new OleDbParameter("@var7", joblegs[i].JobSequenceID)); Log.WriteCommand(cmd); cmd.ExecuteScalar(); } //update job status to 8 if appt change if (bApptChange && i == 0) { JobContact jobcontact = new JobContact(); jobcontact.JobID = _jobid; jobcontact.LinkID = _clientid; jobcontact.AttributeID = 49; jobcontact.Note = "Appointment Time Changed - Driver needs to be informed"; string msg = jobcontact.AddJobContact(); if (msg != "Successfully updated job") { throw new Exception("Failed to update job status"); } } } } } catch (SystemException e) { return(e.Message); } return("Successfully updated job"); }
public string AddJob() { try { OleDbConnection sqlConnection = new OleDbConnection(); sqlConnection.ConnectionString = ConfigurationManager.ConnectionStrings["TransManager"].ToString(); using (sqlConnection) { sqlConnection.Open(); OleDbCommand cmd = new OleDbCommand(); cmd.CommandType = System.Data.CommandType.Text; cmd.CommandText = "INSERT INTO Jobs(ClientID, Notes, JobDate, DVCWheelchairNeeded, JobSourceID, EnteredBy) SELECT @var1, @var2, @var3, @var4, @var5, @var6"; cmd.Parameters.Add(new OleDbParameter("@var1", _clientid)); cmd.Parameters.Add(new OleDbParameter("@var2", _notes)); cmd.Parameters.Add(new OleDbParameter("@var3", _jobdate)); cmd.Parameters.Add(new OleDbParameter("@var4", _DVCwheelchair)); cmd.Parameters.Add(new OleDbParameter("@var5", _sourceid)); cmd.Parameters.Add(new OleDbParameter("@var6", (User.CurrentUserName == null ? "Unknown" : User.CurrentUserName))); cmd.Connection = sqlConnection; Log.WriteCommand(cmd); cmd.ExecuteScalar(); cmd.CommandText = "select @@IDENTITY"; _jobid = (int)cmd.ExecuteScalar(); Int32 i; for (i = 0; i < this.joblegs.Count; i++) { cmd.Parameters.Clear(); cmd.CommandText = "INSERT INTO JobLegs(JobID, LegID, DriverID, DestinationStartID, DestinationEndID, JobPickUpTime, JobAppointmentTime, EnteredBy) SELECT @var1, @var2, @var3, @var4, @var5, @var6, @var7, @var8"; cmd.Parameters.Add(new OleDbParameter("@var1", _jobid)); cmd.Parameters.Add(new OleDbParameter("@var2", i + 1)); cmd.Parameters.Add(new OleDbParameter("@var3", joblegs[i].DriverID)); cmd.Parameters.Add(new OleDbParameter("@var4", joblegs[i].PickUpDestinationID)); cmd.Parameters.Add(new OleDbParameter("@var5", joblegs[i].DropDestinationID)); cmd.Parameters.Add(new OleDbParameter("@var6", joblegs[i].PickUpTime)); cmd.Parameters.Add(new OleDbParameter("@var7", joblegs[i].AppointmentTime)); cmd.Parameters.Add(new OleDbParameter("@var8", (User.CurrentUserName == null ? "Unknown" : User.CurrentUserName))); Log.WriteCommand(cmd); cmd.ExecuteScalar(); } //If job is sourced by driver we will need to record contacts for both //driver and client to bring status up to date. if (_sourceid == 2) { JobContact jobcontact = new JobContact(); jobcontact.JobID = _jobid; jobcontact.LinkID = joblegs[0].DriverID; jobcontact.AttributeID = 21; jobcontact.Note = "Driver phoned this job through."; jobcontact.PhoneUsed = "*"; jobcontact.AddJobContact(); //add the client contact. jobcontact.LinkID = _clientid; jobcontact.AttributeID = 26; jobcontact.Note = "Driver phoned this job through - already arranged with client."; jobcontact.PhoneUsed = "*"; jobcontact.AddJobContact(); } } } catch (SystemException e) { return(e.Message); } return("Successfully added job"); }