Ejemplo n.º 1
0
        public static AssignableContractorList GetAssignedContractors(JobRequest jobrequest)
        {
            string storedProcedureName = "usp_getAssignedContractors";

            MySqlParameter[] parameterList = new MySqlParameter[]
            {
                new MySqlParameter("jobRequestIDIn", jobrequest.JobRequestID)
            };

            MySqlDataReader result = ExecuteReader(storedProcedureName, parameterList);

            AssignableContractorList assignableContractorList = new AssignableContractorList();

            while (result.Read())
            {
                assignableContractorList.Add(new AssignableContractor(
                                                 result.GetInt32("contractorID"),
                                                 result.GetString("firstName"),
                                                 result.GetString("lastName"),
                                                 result.GetString("address"),
                                                 result.GetString("state"),
                                                 new Suburb(result.GetString("suburb")),
                                                 result.GetString("mobile"),
                                                 result.GetString("email"),
                                                 DAL.HasSkillList(new Contractor(result.GetInt32("contractorID"))),
                                                 true,
                                                 result.GetTimeSpan("startTime"),
                                                 result.GetTimeSpan("endTime"),
                                                 result.GetInt32("status")));
            }

            result.Close();

            return(assignableContractorList);
        }
Ejemplo n.º 2
0
 private void LoadSelectedJobRequest()
 {
     AssignableContractorList = DAL.GetAssignedContractors(SelectedJobRequest);
     foreach (AssignableContractor contractor in DAL.GetAssignableContractors(SelectedJobRequest))
     {
         AssignableContractorList.Add(contractor);
     }
     JobRequestSkillList  = DAL.GetRequiredSkills(SelectedJobRequest);
     NonRequiredSkillList = DAL.GetNonRequiredSkills(SelectedJobRequest);
     EstimatedHours       = SelectedJobRequest.EstimatedHours;
     if (SelectedJobRequest.Status == 0)
     {
         MarkedAsReady = false;
     }
     else
     {
         MarkedAsReady = true;
     }
 }
Ejemplo n.º 3
0
        private void SaveButton()
        {
            string validateMessage = ValidateData();

            // Add and remove assignments
            if (validateMessage == null)
            {
                try
                {
                    // Get list of assigned from database
                    AssignableContractorList dbAssigned = DAL.GetAssignedContractors(SelectedJobRequest);
                    // Compare list of selected against database, if it is selected but does not exist in database, add assignment
                    foreach (AssignableContractor listContractor in AssignableContractorList)
                    {
                        if (listContractor.Assigned == false)
                        {
                            continue;
                        }


                        bool found = false;
                        foreach (AssignableContractor dbContractor in dbAssigned)
                        {
                            if (listContractor.ContractorID == dbContractor.ContractorID)
                            {
                                found = true;
                                break;
                            }
                        }
                        if (!found)
                        {
                            DAL.InsertContractorAssignment(SelectedJobRequest, listContractor);
                        }
                    }

                    // Compare list of database against selected, if in database but not in selected, delete assignment
                    foreach (AssignableContractor dbContractor in dbAssigned)
                    {
                        bool found = false;
                        foreach (AssignableContractor listContractor in AssignableContractorList)
                        {
                            if (dbContractor.ContractorID == listContractor.ContractorID &&
                                listContractor.Assigned == true)
                            {
                                found = true;
                                break;
                            }
                        }
                        if (!found)
                        {
                            DAL.DeleteContractorAssignment(SelectedJobRequest, dbContractor);
                        }
                    }

                    // Update Estimated Hours
                    if ((int)EstimatedHours != SelectedJobRequest.EstimatedHours)
                    {
                        DAL.UpdateRequestHours(new JobRequest(
                                                   SelectedJobRequest.JobRequestID,
                                                   SelectedJobRequest.ClientID,
                                                   SelectedJobRequest.CoordinatorID,
                                                   SelectedJobRequest.ClientName,
                                                   SelectedJobRequest.Notes,
                                                   SelectedJobRequest.TimeRequested,
                                                   (int)EstimatedHours,
                                                   SelectedJobRequest.Status,
                                                   SelectedJobRequest.Address,
                                                   SelectedJobRequest.Suburb,
                                                   SelectedJobRequest.Feedback
                                                   ));
                    }

                    // Update status to ready
                    if (MarkedAsReady == true && SelectedJobRequest.Status == 0)
                    {
                        DAL.MarkRequestReady(SelectedJobRequest);
                    }
                    // Rollback status to unready
                    if (MarkedAsReady == false && SelectedJobRequest.Status == 1)
                    {
                        DAL.UnmarkRequestReady(SelectedJobRequest);
                    }
                    new EventLogger().Log("Updated Job Request in database");
                }
                catch (MySqlException)
                {
                    MessageBox.Show("Failed to save Job Request", "Saving Failed", MessageBoxButtons.OK);
                }

                SelectedJobRequest = null;
                ResetDataEntry();
                UpdateJobRequestList();
                DataEntryAllowed      = false;
                JobRequestListEnabled = true;
            }
            else
            {
                System.Windows.Forms.MessageBox.Show(validateMessage, "Saving Failed", MessageBoxButtons.OK);
            }
        }