예제 #1
0
        private void UpdateVehicleStatus()
        {
            int intCounter;
            int intNumberOfRecords;
            int intVehicleID;
            int intRecordsReturned;
            bool blnFatalError = false;
            string strStatus;

            try
            {
                //getting the vehicles
                TheFindActiveVehiclesDataSet = TheVehicleClass.FindActiveVehicles();

                intNumberOfRecords = TheFindActiveVehiclesDataSet.FindActiveVehicles.Rows.Count - 1;

                for(intCounter = 0; intCounter <= intNumberOfRecords; intCounter++)
                {
                    intVehicleID = TheFindActiveVehiclesDataSet.FindActiveVehicles[intCounter].VehicleID;

                    TheFindOpenVehicleProblemsByVehicleIDDataSet = TheVehicleProblemClass.FindOpenVehicleProblemsbyVehicleID(intVehicleID);
                    
                    intRecordsReturned = TheFindOpenVehicleProblemsByVehicleIDDataSet.FindOpenVehicleProblemsByVehicleID.Rows.Count;

                    if(intRecordsReturned > 0)
                    {
                        //checking to see what the status is
                        TheFindVehicleStatusByVehicleIDDataSet = TheVehicleStatusClass.FindVehicleStatusByVehicleID(intVehicleID);

                        intRecordsReturned = TheFindVehicleStatusByVehicleIDDataSet.FindVehicleStatusByVehicleID.Rows.Count;
                        
                        if(intRecordsReturned == 1)
                        {
                            strStatus = TheFindVehicleStatusByVehicleIDDataSet.FindVehicleStatusByVehicleID[0].VehicleStatus;

                            if((strStatus == "AVAILABLE") || (strStatus == "SIGNED OUT"))
                            {
                                blnFatalError = TheVehicleStatusClass.UpdateVehicleStatus(intVehicleID, "NEEDS WORK", DateTime.Now);

                                if (blnFatalError == true)
                                    throw new Exception();
                            }
                            if(strStatus == "NO PROBLEM")
                            {
                                blnFatalError = TheVehicleStatusClass.UpdateVehicleStatus(intVehicleID, "NEEDS WORK", DateTime.Now);

                                if (blnFatalError == true)
                                    throw new Exception();
                            }
                        }
                    }
                    else if (intRecordsReturned == 0)
                    {
                        TheFindVehicleStatusByVehicleIDDataSet = TheVehicleStatusClass.FindVehicleStatusByVehicleID(intVehicleID);

                        intRecordsReturned = TheFindVehicleStatusByVehicleIDDataSet.FindVehicleStatusByVehicleID.Rows.Count;

                        if(intRecordsReturned == 1)
                        {
                            if(TheFindVehicleStatusByVehicleIDDataSet.FindVehicleStatusByVehicleID[0].VehicleStatus != "NO PROBLEM")
                            {
                                blnFatalError = TheVehicleStatusClass.UpdateVehicleStatus(intVehicleID, "NO PROBLEM", DateTime.Now);

                                if (blnFatalError == true)
                                    throw new Exception();
                            }
                        }
                        else if (intRecordsReturned == 0)
                        {
                            blnFatalError = TheVehicleStatusClass.InsertVehicleStatus(intVehicleID, "NO PROBLEM", DateTime.Now);

                            if (blnFatalError == true)
                                throw new Exception();
                        }
                    }
                }
            }
            catch (Exception Ex)
            {
                TheEventLogClass.InsertEventLogEntry(DateTime.Now, "Event Log Tracker // Update Vehicle Status " + Ex.Message);
            }
        }