示例#1
0
 public void caseInitialise(out sCaseInfo caseInfo)
 {
     caseInfo.mTicketNo              = string.Empty;
     caseInfo.mOffenceSet            = -1;
     caseInfo.mNotification          = string.Empty;
     caseInfo.mImage1                = string.Empty;
     caseInfo.mImage2                = string.Empty;
     caseInfo.mImage3                = string.Empty;
     caseInfo.mImage4                = string.Empty;
     caseInfo.mImageNP               = string.Empty;
     caseInfo.mVehicleRegNo          = string.Empty;
     caseInfo.mVehicleRegNoConfirmed = false;
     caseInfo.mVehicleMake           = string.Empty;
     caseInfo.mVehicleModel          = string.Empty;
     caseInfo.mVehicleColour         = string.Empty;
     caseInfo.mVehicleType           = string.Empty;
     caseInfo.mVehicleLicenseExpire  = DateTime.MinValue;
     caseInfo.mOffenceDate           = DateTime.MinValue;
     caseInfo.mOffenceSpeed          = -1;
     caseInfo.mOffenceZone           = -1;
     caseInfo.mOffenceDirectionLane  = string.Empty;
     caseInfo.mOffenceCode           = -1;
     caseInfo.mOffenceNotes          = string.Empty;
     caseInfo.mOffenceAdditionalsXml = string.Empty;
     caseInfo.mOnlyOneImage          = false;
 }
示例#2
0
        private bool VehicleFromCursor(OracleRefCursor cursor, ref sCaseInfo vehicle)
        {
            if (cursor is System.DBNull)
            {
                _error = "No vehicle info given.";
                return(false);
            }

            OracleDataReader rd = cursor.GetDataReader();

            vehicle.mOffencePlace = vehicle.mOffenceDate = string.Empty;

            if (rd.Read())
            {
                vehicle.mOffenceSpeed = (int)rd.GetDecimal(0);
                vehicle.mOffenceZone  = (int)rd.GetDecimal(1);
                vehicle.mOffenceDate  = rd.GetString(2);
                vehicle.mOffencePlace = rd.GetString(3);
                vehicle.mPrevRejectID = (int)rd.GetDecimal(4);
                vehicle.mVehicleRegNo = rd.IsDBNull(5) ? string.Empty : rd.GetString(5);
            }

            rd.Close();
            rd.Dispose();

            if ((vehicle.mOffencePlace.Length <= 0) || (vehicle.mOffenceDate.Length <= 0))
            {
                _error = "No vehicle data loaded, contact helpdesk.";
                return(false);
            }

            return(true);
        }
示例#3
0
        private bool offenceFromCursor(DataTable table, ref sCaseInfo caseInfo)
        {
            if (table != null && table.Rows.Count > 0)
            {
                DataRow dr = table.Rows[0];

                caseInfo.mOffenceZone  = int.Parse(dr["ZONE"].ToString());
                caseInfo.mOffenceSpeed = int.Parse(dr["SPEED"].ToString());
                string date = dr["OFFENCE_DATE"].ToString();
                caseInfo.mOffenceDate = Convert.ToDateTime(date);
                //caseInfo.mOffenceDate = Convert.ToDateTime(dr["OFFENCE_DATE"]);
                caseInfo.mOffenceCode  = int.Parse(dr["OFFENCE_CODE"].ToString());
                caseInfo.mNotification = dr["NOTIFICATION_STATUS"].ToString();
                if (dr["NOTES"] is System.DBNull)
                {
                    caseInfo.mOffenceNotes = string.Empty;
                }
                else
                {
                    caseInfo.mOffenceNotes = dr["NOTES"].ToString();
                }

                return(true);
            }

            return(false);
        }
示例#4
0
        private bool TestSinglePhoto(ref sCaseInfo caseInfo)
        {
            if (caseInfo.mImage1.IndexOf(".sml") > 0)
            {
                return(true);
            }
            else if (caseInfo.mImage2.IndexOf(".sml") > 0)
            {
                return(true);
            }

            return(false);
        }
示例#5
0
        public bool fishpondCaseAccept(sCaseInfo caseInfo, string computerName)
        {
            try
            {
                OracleParameter par;
                var             cmd = new OracleCommand("ITS.OFFENCE_ADJUDICATION.accept_adjudication_fishpond", DbConnection);
                cmd.CommandType = CommandType.StoredProcedure;

                // Inputs
                par              = new OracleParameter("P_TICKET_NO", caseInfo.mTicketNo);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Varchar2;
                cmd.Parameters.Add(par);
                par = new OracleParameter("P_COMPUTER_NAME", computerName);
                par.OracleDbType = OracleDbType.Varchar2;
                par.Direction    = ParameterDirection.Input;
                cmd.Parameters.Add(par);
                par              = new OracleParameter("P_USER_ID", _credentialID);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Int32;
                cmd.Parameters.Add(par);
                par              = new OracleParameter("P_ADDITIONALS_XML", caseInfo.mOffenceAdditionalsXml);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Varchar2;
                cmd.Parameters.Add(par);
                par              = new OracleParameter("P_OFFENCE_SET", caseInfo.mOffenceSet);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Int32;
                cmd.Parameters.Add(par);
                par              = new OracleParameter("P_NOTES", caseInfo.mOffenceNotes);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Varchar2;
                cmd.Parameters.Add(par);

                cmd.ExecuteNonQuery();

                cmd.Dispose();
            }
            catch (Exception ex)
            {
                _error = ex.Message;
                ErrorCheckFriendly();
                return(false);
            }

            //disconnect();

            return(true);
        }
示例#6
0
        private string VehicleXML(sCaptureTypes capType, sCaseInfo caseInfo, int officerID)
        {
            string xml = "<main> ";

            xml += "<DATA_RECORD> ";
            xml += "<ID>" + capType.mID.ToString() + "</ID> ";
            xml += "<ZONE>" + caseInfo.mOffenceZone.ToString() + "</ZONE> ";
            xml += "<SPEED>" + caseInfo.mOffenceSpeed.ToString() + "</SPEED> ";
            xml += "<AMOUNT>" + capType.mAmount.ToString("0.00") + "</AMOUNT> ";
            xml += "<DESCRIPTION>" + XmlClean(capType.mDescription) + "</DESCRIPTION> ";
            xml += "<BESKRYWING>" + XmlClean(capType.mBeskrywing) + "</BESKRYWING> ";
            xml += "<INF_DATE>" + caseInfo.mOffenceDate + "</INF_DATE> ";
            xml += "<VEHICLE_REG>" + caseInfo.mVehicleRegNo + "</VEHICLE_REG> ";
            xml += "<OFFICER_ID>" + officerID.ToString() + "</OFFICER_ID> ";
            //xml += "<USER_ID>" + mOperatorID.ToString() + "</USER_ID> ";
            xml += "</DATA_RECORD> ";
            xml += "</main>";

            return(xml);
        }
示例#7
0
 public void CaseInitialise(out sCaseInfo caseInfo)
 {
     caseInfo.mImage1               = string.Empty;
     caseInfo.mImage2               = string.Empty;
     caseInfo.mImage3               = string.Empty;
     caseInfo.mImage4               = string.Empty;
     caseInfo.mImageNP              = string.Empty;
     caseInfo.mImage1ID             =
         caseInfo.mImage2ID         =
             caseInfo.mImage3ID     =
                 caseInfo.mImage4ID = -1;
     caseInfo.mOnlyOneImage         = false;
     caseInfo.mPrintImageNo         = 0;
     caseInfo.mVehicleRegNo         = string.Empty;
     caseInfo.mVehicleType          = string.Empty;
     caseInfo.mPrevRejectID         = -1;
     caseInfo.mOffenceDate          = string.Empty;
     caseInfo.mOffencePlace         = string.Empty;
     caseInfo.mOffenceSpeed         = -1;
     caseInfo.mOffenceZone          = -1;
 }
示例#8
0
        private bool vehicleFromCursor(DataTable table, ref sCaseInfo caseInfo)
        {
            if (table != null && table.Rows.Count > 0)
            {
                DataRow dr = table.Rows[0];

                caseInfo.mTicketNo      = dr["TICKET_NO"].ToString();
                caseInfo.mVehicleRegNo  = dr["VEHICLE_REGISTRATION"].ToString();
                caseInfo.mVehicleMake   = dr["MAKE"].ToString();
                caseInfo.mVehicleModel  = dr["MODEL"].ToString();
                caseInfo.mVehicleType   = dr["VEHICLE_TYPE"].ToString();
                caseInfo.mVehicleColour = dr["COLOUR"].ToString();
                string date = dr["LICENSE_EXPIRE_DATE"].ToString();
                caseInfo.mVehicleLicenseExpire = Convert.ToDateTime(date);
                //caseInfo.mVehicleLicenseExpire = Convert.ToDateTime(dr["LICENSE_EXPIRE_DATE"]);
                caseInfo.mVehicleRegNoConfirmed = (int.Parse(dr["REGISTRATION_CHECK"].ToString()) == 0 ? true : false);

                return(true);
            }

            return(false);
        }
示例#9
0
        public bool CasePrevious(sSessionInfo session, int offenceSet, int fileNumber, ref sCaseInfo caseInfo, ref sCaseInfo remoteCaseInfo, ref List <sCaptureTypes> types, string computerName)
        {
            _error = string.Empty;

            types.Clear();

            try
            {
                OracleParameter par;
                var             cmd = new OracleCommand("ITS.OFFENCE_CAPTURE.get_last_cap_multi_image", DbConnection);
                cmd.CommandType = CommandType.StoredProcedure;

                // Inputs
                par              = new OracleParameter("P_USER_ID", _credentialID);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Int32;
                cmd.Parameters.Add(par);
                par              = new OracleParameter("P_USER_NAME", _credentialUsername);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Varchar2;
                cmd.Parameters.Add(par);
                par              = new OracleParameter("P_COMPUTER_NAME", computerName);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Varchar2;
                cmd.Parameters.Add(par);
                par              = new OracleParameter("P_OFFENCE_SET", offenceSet);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Int32;
                cmd.Parameters.Add(par);
                par              = new OracleParameter("P_FILE_NUMBER", fileNumber);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Int32;
                cmd.Parameters.Add(par);

                // Outputs
                cmd.Parameters.Add(new OracleParameter("O_VEHICLE_CURSOR", OracleDbType.RefCursor, 0, ParameterDirection.Output, true, 0, 0, "", DataRowVersion.Current, "O_VEHICLE_CURSOR"));
                cmd.Parameters.Add(new OracleParameter("O_LOCAL_IMAGE_CURSOR", OracleDbType.RefCursor, 0, ParameterDirection.Output, true, 0, 0, "", DataRowVersion.Current, "O_LOCAL_IMAGE_CURSOR"));
                cmd.Parameters.Add(new OracleParameter("O_REMOTE_IMAGE_CURSOR", OracleDbType.RefCursor, 0, ParameterDirection.Output, true, 0, 0, "", DataRowVersion.Current, "O_REMOTE_IMAGE_CURSOR"));
                cmd.Parameters.Add(new OracleParameter("O_ALT_VEHICLE_CURSOR", OracleDbType.RefCursor, 0, ParameterDirection.Output, true, 0, 0, "", DataRowVersion.Current, "O_ALT_VEHICLE_CURSOR"));

                CaseInitialise(out caseInfo);

                cmd.ExecuteNonQuery();

                if (!VehicleFromCursor((OracleRefCursor)cmd.Parameters["O_VEHICLE_CURSOR"].Value, ref caseInfo))
                {
                    return(false);
                }

                if (!ImagesFromCursor((OracleRefCursor)cmd.Parameters["O_LOCAL_IMAGE_CURSOR"].Value, ref caseInfo))
                {
                    return(false);
                }

                if (!ImagesFromCursor((OracleRefCursor)cmd.Parameters["O_REMOTE_IMAGE_CURSOR"].Value, ref remoteCaseInfo))
                {
                    return(false);
                }

                if (!TypesFromCursor((OracleRefCursor)cmd.Parameters["O_ALT_VEHICLE_CURSOR"].Value, ref types))
                {
                    return(false);
                }

                cmd.Dispose();
            }
            catch (Exception ex)
            {
                _error = ex.Message;
                ErrorCheckFriendly();
                return(false);
            }

            return(true);
        }
示例#10
0
        public bool CaseReject(sSessionInfo session, int reasonID, int offenceSet, int fileNumber, int nextFileNumber, int officerID, string sheetNo, bool sheetNoChanged, ref sCaseInfo caseInfo, ref sCaseInfo remoteCaseInfo, ref List <sCaptureTypes> types, string computerName)
        {
            _error = string.Empty;

            types.Clear();

            try
            {
                OracleParameter par;
                var             cmd = new OracleCommand("ITS.OFFENCE_CAPTURE.reject_cap_multi_image", DbConnection);
                cmd.CommandType = CommandType.StoredProcedure;

                // Inputs
                par              = new OracleParameter("P_USER_ID", _credentialID);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Int32;
                cmd.Parameters.Add(par);
                par              = new OracleParameter("P_USER_NAME", _credentialUsername);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Varchar2;
                cmd.Parameters.Add(par);
                par              = new OracleParameter("P_COMPUTER_NAME", computerName);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Varchar2;
                cmd.Parameters.Add(par);
                par              = new OracleParameter("P_OFFENCE_SET", offenceSet);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Int32;
                cmd.Parameters.Add(par);
                par              = new OracleParameter("P_CAM_DATE", session.mCamDate);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Varchar2;
                cmd.Parameters.Add(par);
                par              = new OracleParameter("P_CAM_SESSION", session.mCamSession);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Varchar2;
                cmd.Parameters.Add(par);
                par              = new OracleParameter("P_LOCATION_CODE", session.mLocationCode);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Varchar2;
                cmd.Parameters.Add(par);
                par              = new OracleParameter("P_FILE_NUMBER", fileNumber);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Int32;
                cmd.Parameters.Add(par);
                par              = new OracleParameter("P_NEXT_FILE_NUMBER", nextFileNumber);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Int32;
                cmd.Parameters.Add(par);
                par              = new OracleParameter("P_REJECTION_ID", reasonID);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Int32;
                cmd.Parameters.Add(par);
                par              = new OracleParameter("P_OFFICER_ID", officerID);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Int32;
                cmd.Parameters.Add(par);
                par              = new OracleParameter("P_FIELD_SHEET_NO", sheetNo);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Varchar2;
                cmd.Parameters.Add(par);
                par              = new OracleParameter("P_FIELD_SHEET_CHANGE", sheetNoChanged ? 1 : 0);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Int32;
                cmd.Parameters.Add(par);

                // Outputs
                cmd.Parameters.Add(new OracleParameter("O_VEHICLE_CURSOR", OracleDbType.RefCursor, 0, ParameterDirection.Output, true, 0, 0, "", DataRowVersion.Current, "O_VEHICLE_CURSOR"));
                cmd.Parameters.Add(new OracleParameter("O_LOCAL_IMAGE_CURSOR", OracleDbType.RefCursor, 0, ParameterDirection.Output, true, 0, 0, "", DataRowVersion.Current, "O_LOCAL_IMAGE_CURSOR"));
                cmd.Parameters.Add(new OracleParameter("O_REMOTE_IMAGE_CURSOR", OracleDbType.RefCursor, 0, ParameterDirection.Output, true, 0, 0, "", DataRowVersion.Current, "O_REMOTE_IMAGE_CURSOR"));
                cmd.Parameters.Add(new OracleParameter("O_ALT_VEHICLE_CURSOR", OracleDbType.RefCursor, 0, ParameterDirection.Output, true, 0, 0, "", DataRowVersion.Current, "O_ALT_VEHICLE_CURSOR"));

                CaseInitialise(out caseInfo);

                cmd.ExecuteNonQuery();

                if (nextFileNumber != -1) // Not last ticket
                {
                    if (!VehicleFromCursor((OracleRefCursor)cmd.Parameters["O_VEHICLE_CURSOR"].Value, ref caseInfo))
                    {
                        return(false);
                    }

                    if (!ImagesFromCursor((OracleRefCursor)cmd.Parameters["O_LOCAL_IMAGE_CURSOR"].Value, ref caseInfo))
                    {
                        return(false);
                    }

                    if (!ImagesFromCursor((OracleRefCursor)cmd.Parameters["O_REMOTE_IMAGE_CURSOR"].Value, ref remoteCaseInfo))
                    {
                        return(false);
                    }

                    if (!TypesFromCursor((OracleRefCursor)cmd.Parameters["O_ALT_VEHICLE_CURSOR"].Value, ref types))
                    {
                        return(false);
                    }
                }

                cmd.Dispose();
            }
            catch (Exception ex)
            {
                _error = ex.Message;
                ErrorCheckFriendly();
                return(false);
            }

            return(true);
        }
示例#11
0
        public bool CaseFirst(sSessionInfo session, bool loadNewOnly, ref List <sRejectReasons> reasons, ref List <sCaptureTypes> types, ref List <int> fileNumbers, ref List <sOfficerInfo> officers, ref sCaseInfo caseInfo, ref sCaseInfo remoteCaseInfo, out int offenceSet, out int startIndex, string computerName)
        {
            _error     = string.Empty;
            offenceSet = -1;
            startIndex = 0;

            CaseInitialise(out caseInfo);
            CaseInitialise(out remoteCaseInfo);

            fileNumbers.Clear();
            reasons.Clear();
            types.Clear();

            try
            {
                OracleParameter par;
                var             cmd = new OracleCommand("ITS.OFFENCE_CAPTURE.get_cap_multi_image_lookup", DbConnection);
                cmd.CommandType = CommandType.StoredProcedure;

                // Inputs
                par              = new OracleParameter("P_USER_ID", _credentialID);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Int32;
                cmd.Parameters.Add(par);
                par              = new OracleParameter("P_COMPUTER_NAME", computerName);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Varchar2;
                cmd.Parameters.Add(par);
                par              = new OracleParameter("P_CAM_DATE", session.mCamDate);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Varchar2;
                cmd.Parameters.Add(par);
                par              = new OracleParameter("P_CAM_SESSION", session.mCamSession);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Varchar2;
                cmd.Parameters.Add(par);
                par              = new OracleParameter("P_LOCATION_CODE", session.mLocationCode);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Varchar2;
                cmd.Parameters.Add(par);
                par              = new OracleParameter("P_LOAD_TYPE", (loadNewOnly ? 1 : 0));
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Int32;
                cmd.Parameters.Add(par);


                // Outputs
                cmd.Parameters.Add(new OracleParameter("O_NUMBER_CURSOR", OracleDbType.RefCursor, 0, ParameterDirection.Output, true, 0, 0, "", DataRowVersion.Current, "O_NUMBER_CURSOR"));
                cmd.Parameters.Add(new OracleParameter("O_HOLDING_CURSOR", OracleDbType.RefCursor, 0, ParameterDirection.Output, true, 0, 0, "", DataRowVersion.Current, "O_HOLDING_CURSOR"));
                cmd.Parameters.Add(new OracleParameter("O_REJECTION_REASON_CURSOR", OracleDbType.RefCursor, 0, ParameterDirection.Output, true, 0, 0, "", DataRowVersion.Current, "O_REJECTION_REASON_CURSOR"));
                cmd.Parameters.Add(new OracleParameter("O_OFFICER_CURSOR", OracleDbType.RefCursor, 0, ParameterDirection.Output, true, 0, 0, "", DataRowVersion.Current, "O_OFFICER_CURSOR"));
                cmd.Parameters.Add(new OracleParameter("O_VEHICLE_CURSOR", OracleDbType.RefCursor, 0, ParameterDirection.Output, true, 0, 0, "", DataRowVersion.Current, "O_VEHICLE_CURSOR"));
                cmd.Parameters.Add(new OracleParameter("O_LOCAL_IMAGE_CURSOR", OracleDbType.RefCursor, 0, ParameterDirection.Output, true, 0, 0, "", DataRowVersion.Current, "O_LOCAL_IMAGE_CURSOR"));
                cmd.Parameters.Add(new OracleParameter("O_REMOTE_IMAGE_CURSOR", OracleDbType.RefCursor, 0, ParameterDirection.Output, true, 0, 0, "", DataRowVersion.Current, "O_REMOTE_IMAGE_CURSOR"));
                cmd.Parameters.Add(new OracleParameter("O_ALT_VEHICLE_CURSOR", OracleDbType.RefCursor, 0, ParameterDirection.Output, true, 0, 0, "", DataRowVersion.Current, "O_ALT_VEHICLE_CURSOR"));

                par = new OracleParameter();
                par.ParameterName = "O_FIRST_FILE_NR";
                par.Direction     = ParameterDirection.Output;
                par.OracleDbType  = OracleDbType.Int32;
                par.Size          = 4;
                cmd.Parameters.Add(par);

                par = new OracleParameter();
                par.ParameterName = "O_OFFENCE_SET";
                par.Direction     = ParameterDirection.Output;
                par.OracleDbType  = OracleDbType.Int32;
                par.Size          = 4;
                cmd.Parameters.Add(par);

                par = new OracleParameter();
                par.ParameterName = "O_CENTRAL_INDICATOR";
                par.Direction     = ParameterDirection.Output;
                par.OracleDbType  = OracleDbType.Int32;
                par.Size          = 4;
                cmd.Parameters.Add(par);

                cmd.ExecuteNonQuery();

                int firstFileNumber = int.Parse(cmd.Parameters["O_FIRST_FILE_NR"].Value.ToString());
                offenceSet = int.Parse(cmd.Parameters["O_OFFENCE_SET"].Value.ToString());
                _numberPlateCapturedOnCentral = (int.Parse(cmd.Parameters["O_CENTRAL_INDICATOR"].Value.ToString()) == 1 ? true : false);

                FileNumbersFromCursor((OracleRefCursor)cmd.Parameters["O_HOLDING_CURSOR"].Value, ref fileNumbers);
                startIndex = fileNumbers.Count;
                fileNumbers.Add(firstFileNumber);
                FileNumbersFromCursor((OracleRefCursor)cmd.Parameters["O_NUMBER_CURSOR"].Value, ref fileNumbers);

                if (!ReasonsFromCursor((OracleRefCursor)cmd.Parameters["O_REJECTION_REASON_CURSOR"].Value, ref reasons))
                {
                    return(false);
                }

                if (!OfficersFromCursor((OracleRefCursor)cmd.Parameters["O_OFFICER_CURSOR"].Value, ref officers))
                {
                    return(false);
                }

                if (!VehicleFromCursor((OracleRefCursor)cmd.Parameters["O_VEHICLE_CURSOR"].Value, ref caseInfo))
                {
                    return(false);
                }

                if (!ImagesFromCursor((OracleRefCursor)cmd.Parameters["O_LOCAL_IMAGE_CURSOR"].Value, ref caseInfo))
                {
                    return(false);
                }

                if (!ImagesFromCursor((OracleRefCursor)cmd.Parameters["O_REMOTE_IMAGE_CURSOR"].Value, ref remoteCaseInfo))
                {
                    return(false);
                }

                if (!TypesFromCursor((OracleRefCursor)cmd.Parameters["O_ALT_VEHICLE_CURSOR"].Value, ref types))
                {
                    return(false);
                }

                cmd.Dispose();
            }
            catch (Exception ex)
            {
                _error = ex.Message;
                ErrorCheckFriendly();
                return(false);
            }

            return(true);
        }
示例#12
0
        //private int imgCnt = 0;
        //private void debugGetImageNames(ref sCaseInfo caseInfo)
        //{
        //    imgCnt++;

        //    string cntStr = imgCnt.ToString("00");

        //    caseInfo.mImageNP = string.Empty;
        //    caseInfo.mImage1 = @"C:\Development\iCapture\Doc\Img0" + cntStr + "_0.jpg";
        //    caseInfo.mImage2 = @"C:\Development\iCapture\Doc\Img0" + cntStr + "_1.jpg";
        //    if (imgCnt == 1)
        //        caseInfo.mImage2 = @"C:\Development\iCapture\Doc\Img001.sml_1.jpg";

        //    if (imgCnt == 2)
        //    {
        //        caseInfo.mImage3 = @"C:\Development\iCapture\Doc\Img0" + cntStr + "_2.jpg";
        //        caseInfo.mImage4 = @"C:\Development\iCapture\Doc\Img0" + cntStr + "_3.jpg";
        //    }
        //    else
        //        caseInfo.mImage3 = caseInfo.mImage4 = string.Empty;

        //    if (imgCnt > 2)
        //        imgCnt = 0;
        //}
#endif

        private bool ImagesFromCursor(OracleRefCursor cursor, ref sCaseInfo caseInfo)
        {
            caseInfo.mImage1 = caseInfo.mImage2 = caseInfo.mImage3 = caseInfo.mImage4 = caseInfo.mImageNP = string.Empty;

            if (cursor is System.DBNull)
            {
                _error = "No image paths given.";
                return(false);
            }

            OracleDataReader rd = cursor.GetDataReader();
            int cnt             = 0;
            int printImageNo    = 0;

            while (rd.Read())
            {
                switch (cnt)
                {
                case 0:
                    caseInfo.mImage1   = rd.GetString(0);
                    caseInfo.mImage1ID = (int)rd.GetDecimal(1);
                    if (!rd.IsDBNull(2))
                    {
                        if (rd.GetDecimal(2) == 1)
                        {
                            printImageNo = 0;
                        }
                    }
                    break;

                case 1:
                    caseInfo.mImage2   = rd.GetString(0);
                    caseInfo.mImage2ID = (int)rd.GetDecimal(1);
                    if (!rd.IsDBNull(2))
                    {
                        if (rd.GetDecimal(2) == 1)
                        {
                            printImageNo = 1;
                        }
                    }
                    break;

                case 2:
                    caseInfo.mImage3   = rd.GetString(0);
                    caseInfo.mImage3ID = (int)rd.GetDecimal(1);
                    if (!rd.IsDBNull(2))
                    {
                        if (rd.GetDecimal(2) == 1)
                        {
                            printImageNo = 2;
                        }
                    }
                    break;

                case 3:
                    caseInfo.mImage4   = rd.GetString(0);
                    caseInfo.mImage4ID = (int)rd.GetDecimal(1);
                    if (!rd.IsDBNull(2))
                    {
                        if (rd.GetDecimal(2) == 1)
                        {
                            printImageNo = 3;
                        }
                    }
                    break;

                case 4:
                    caseInfo.mImageNP = rd.GetString(0);
                    break;
                }
                cnt++;
            }
            caseInfo.mPrintImageNo = printImageNo;

            rd.Close();
            rd.Dispose();

#if (DEBUG)
            //debugGetImageNames(ref caseInfo);
#endif

            caseInfo.mOnlyOneImage = TestSinglePhoto(ref caseInfo);
            if (caseInfo.mOnlyOneImage)
            {
                caseInfo.mPrintImageNo = printImageNo = 0;
            }

            return(true);
        }
示例#13
0
        public bool fishpondGetCase(string ticketNo, ref sCaseInfo caseInfo, ref sCaseInfo remoteCaseInfo, string computerName)
        {
            bool okay = true;

            _error = string.Empty;

            try
            {
                OracleParameter par;
                var             cmd = new OracleCommand("ITS.OFFENCE_ADJUDICATION.lock_fishpond_user", DbConnection);
                cmd.CommandType = CommandType.StoredProcedure;

                // Inputs
                par              = new OracleParameter("P_USER_ID", _credentialID);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Int32;
                cmd.Parameters.Add(par);

                par              = new OracleParameter("P_COMPUTER_NAME", computerName);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Varchar2;
                cmd.Parameters.Add(par);

                par              = new OracleParameter("P_TICKET_NO", ticketNo);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Varchar2;
                cmd.Parameters.Add(par);

                // Outputs
                cmd.Parameters.Add(new OracleParameter("O_VEHICLE_CURSOR", OracleDbType.RefCursor, 0, ParameterDirection.Output, true, 0, 0, "", DataRowVersion.Current, "O_VEHICLE_CURSOR"));
                cmd.Parameters.Add(new OracleParameter("O_OFFENCE_CURSOR", OracleDbType.RefCursor, 0, ParameterDirection.Output, true, 0, 0, "", DataRowVersion.Current, "O_OFFENCE_CURSOR"));
                cmd.Parameters.Add(new OracleParameter("O_LOCAL_IMAGE_CURSOR", OracleDbType.RefCursor, 0, ParameterDirection.Output, true, 0, 0, "", DataRowVersion.Current, "O_LOCAL_IMAGE_CURSOR"));
                cmd.Parameters.Add(new OracleParameter("O_REMOTE_IMAGE_CURSOR", OracleDbType.RefCursor, 0, ParameterDirection.Output, true, 0, 0, "", DataRowVersion.Current, "O_REMOTE_IMAGE_CURSOR"));

                par = new OracleParameter();
                par.ParameterName = "O_OFFENCE_SET";
                par.Direction     = ParameterDirection.Output;
                par.OracleDbType  = OracleDbType.Int32;
                par.Size          = 4;
                cmd.Parameters.Add(par);

                par = new OracleParameter();
                par.ParameterName = "O_CENTRAL_INDICATOR";
                par.Direction     = ParameterDirection.Output;
                par.OracleDbType  = OracleDbType.Int32;
                par.Size          = 4;
                cmd.Parameters.Add(par);

                var ds  = new DataSet();
                var da  = new OracleDataAdapter(cmd);
                int val = da.Fill(ds);

                //mNPCapturedOnCentral = (int.Parse(cmd.Parameters["O_CENTRAL_INDICATOR"].Value.ToString()) == 1 ? true : false);

                caseInitialise(out caseInfo);

                caseInfo.mTicketNo = ticketNo;

                caseInfo.mOffenceSet = int.Parse(cmd.Parameters[8].Value.ToString()); //Sit hierdie later terug en sien of dit werk (of vice versa)

                vehicleFromCursor(ds.Tables[0], ref caseInfo);
                offenceFromCursor(ds.Tables[1], ref caseInfo);
                if (!imagesFromCursor(ds.Tables[2], ds.Tables[3], ref caseInfo, ref remoteCaseInfo))
                {
                    okay = false;
                }

                ds.Dispose();
                da.Dispose();
                cmd.Dispose();
            }
            catch (Exception ex)
            {
                _error = ex.Message;
                ErrorCheckFriendly();
                okay = false;
            }

            //disconnect();

            return(okay);
        }
示例#14
0
        private bool imagesFromCursor(DataTable local, DataTable remote, ref sCaseInfo caseInfo, ref sCaseInfo remoteCaseInfo)
        {
            caseInfo.mImage1       = caseInfo.mImage2 = caseInfo.mImage3 = caseInfo.mImage4 = caseInfo.mImageNP = string.Empty;
            remoteCaseInfo.mImage1 = remoteCaseInfo.mImage2 = remoteCaseInfo.mImage3 = remoteCaseInfo.mImage4 = remoteCaseInfo.mImageNP = string.Empty;

            if (local == null)
            {
                return(false);
            }
            if (local.Rows.Count <= 0)
            {
                return(false);
            }

            // Check if image exist local and if not use remote path for images
            DataRow dr;
            string  localImage1 = string.Empty;
            string  localImage2 = string.Empty;
            string  localImage3 = string.Empty;
            string  localImage4 = string.Empty;
            //string localImageNP = string.Empty;
            string remoteImage1 = string.Empty;
            string remoteImage2 = string.Empty;
            string remoteImage3 = string.Empty;
            string remoteImage4 = string.Empty;

            //string remoteImageNP = string.Empty;

            for (int i = 0; i < local.Rows.Count; i++)
            {
                dr = local.Rows[i];
                switch (i)
                {
                case 0:
                    localImage1 = dr[0].ToString();
                    break;

                case 1:
                    localImage2 = dr[0].ToString();
                    break;

                case 2:
                    localImage3 = dr[0].ToString();
                    break;

                case 3:
                    localImage4 = dr[0].ToString();
                    break;
                    //case 4:
                    //    localImageNP = dr[0].ToString();
                    //    break;
                }
            }

            for (int i = 0; i < remote.Rows.Count; i++)
            {
                dr = remote.Rows[i];
                switch (i)
                {
                case 0:
                    remoteImage1 = dr[0].ToString();
                    break;

                case 1:
                    remoteImage2 = dr[0].ToString();
                    break;

                case 2:
                    remoteImage3 = dr[0].ToString();
                    break;

                case 3:
                    remoteImage4 = dr[0].ToString();
                    break;
                    //case 4:
                    //    remoteImageNP = dr[0].ToString();
                    //    break;
                }
            }

            caseInfo.mImage1 = localImage1;
            caseInfo.mImage2 = localImage2;
            caseInfo.mImage3 = localImage3;
            caseInfo.mImage4 = localImage4;

            remoteCaseInfo.mImage1 = remoteImage1;
            remoteCaseInfo.mImage2 = remoteImage2;
            remoteCaseInfo.mImage3 = remoteImage3;
            remoteCaseInfo.mImage4 = remoteImage4;

            string localNP = constructNPName(localImage1);
            string remotNP = constructNPName(remoteImage1);

            caseInfo.mImageNP       = localNP;
            remoteCaseInfo.mImageNP = remotNP;

            return(true);
        }
示例#15
0
        public bool caseReject(ref sCaseInfo caseInfo, ref sCaseInfo remoteCaseInfo, int reasonID, out int count, string computerName)
        {
            bool okay = true;

            _error = string.Empty;
            count  = 0;

            try
            {
                OracleParameter par;
                //var cmd = new OracleCommand("OFFENCE_ADJUDICATION_CENTRAL.REJECT_ADJUDICATION_NOTES", DbConnection);
                var cmd = new OracleCommand("ITS.OFFENCE_ADJUDICATION.reject_adj_multi_image", DbConnection);
                cmd.CommandType = CommandType.StoredProcedure;

                // Inputs
                par              = new OracleParameter("P_TICKET_NO", caseInfo.mTicketNo);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Varchar2;
                cmd.Parameters.Add(par);
                par = new OracleParameter("P_COMPUTER_NAME", computerName);
                par.OracleDbType = OracleDbType.Varchar2;
                par.Direction    = ParameterDirection.Input;
                cmd.Parameters.Add(par);
                par              = new OracleParameter("P_USER_ID", _credentialID);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Int32;
                cmd.Parameters.Add(par);
                par              = new OracleParameter("P_REJECTION_ID", reasonID);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Int32;
                cmd.Parameters.Add(par);
                par              = new OracleParameter("P_NOTES", caseInfo.mOffenceNotes);
                par.Direction    = ParameterDirection.Input;
                par.OracleDbType = OracleDbType.Varchar2;
                cmd.Parameters.Add(par);

                // Outputs
                par = new OracleParameter();
                par.ParameterName = "O_COUNT";
                par.Direction     = ParameterDirection.Output;
                par.OracleDbType  = OracleDbType.Int32;
                par.Size          = 4;
                cmd.Parameters.Add(par);

                cmd.Parameters.Add(new OracleParameter("O_VEHICLE_CURSOR", OracleDbType.RefCursor, 0, ParameterDirection.Output, true, 0, 0, "", DataRowVersion.Current, "O_VEHICLE_CURSOR"));
                cmd.Parameters.Add(new OracleParameter("O_OFFENCE_CURSOR", OracleDbType.RefCursor, 0, ParameterDirection.Output, true, 0, 0, "", DataRowVersion.Current, "O_OFFENCE_CURSOR"));
                cmd.Parameters.Add(new OracleParameter("O_LOCAL_IMAGE_CURSOR", OracleDbType.RefCursor, 0, ParameterDirection.Output, true, 0, 0, "", DataRowVersion.Current, "O_LOCAL_IMAGE_CURSOR"));
                cmd.Parameters.Add(new OracleParameter("O_REMOTE_IMAGE_CURSOR", OracleDbType.RefCursor, 0, ParameterDirection.Output, true, 0, 0, "", DataRowVersion.Current, "O_REMOTE_IMAGE_CURSOR"));

                par = new OracleParameter();
                par.ParameterName = "O_OFFENCE_SET";
                par.Direction     = ParameterDirection.Output;
                par.OracleDbType  = OracleDbType.Int32;
                par.Size          = 4;
                cmd.Parameters.Add(par);

                par = new OracleParameter();
                par.ParameterName = "O_CENTRAL_INDICATOR";
                par.Direction     = ParameterDirection.Output;
                par.OracleDbType  = OracleDbType.Int32;
                par.Size          = 4;
                cmd.Parameters.Add(par);

                var ds  = new DataSet();
                var da  = new OracleDataAdapter(cmd);
                int val = da.Fill(ds);

                //mNPCapturedOnCentral = (int.Parse(cmd.Parameters["O_CENTRAL_INDICATOR"].Value.ToString()) == 1 ? true : false);

                count = int.Parse(cmd.Parameters[5].Value.ToString());
                if (count <= 0)
                {
                    _error = "No more cases to Adjudicate exist in database.";
                }
                else
                {
                    caseInfo.mOffenceSet = int.Parse(cmd.Parameters[10].Value.ToString());

                    vehicleFromCursor(ds.Tables[0], ref caseInfo);
                    offenceFromCursor(ds.Tables[1], ref caseInfo);
                    if (!imagesFromCursor(ds.Tables[2], ds.Tables[3], ref caseInfo, ref remoteCaseInfo))
                    {
                        okay = false;
                    }
                }

                ds.Dispose();
                da.Dispose();
                cmd.Dispose();
            }
            catch (Exception ex)
            {
                _error = ex.Message;
                ErrorCheckFriendly();
                okay = false;
            }

            return(okay);
        }