//Determines if document is participant or contractor document
        /// <summary>
        /// Determine if document is a participant or contractor document based on DocumentEntity
        /// </summary>
        /// <param name="doc">Document to check type on</param>
        /// <param name="validType">true if validEntityType else false</param>
        /// <returns>string either 'participant' or 'contractor'</returns>
        public static string DetermineDocEntityType(this IFameDocument doc, out bool validType)
        {
            if (GetFarmBusinessByFarmId(doc.DocumentEntity) == 0)
            {
                if (GetParticipantIDFromContractor(doc.DocumentEntity) > 0)
                {
                    validType = true;
                    return("contractor");
                }

                validType = false;
                return(null);
            }
            else
            {
                validType = true;
                return("participant");
            }
        }
        //Insert document information into the FAME database
        /// <summary>
        /// Insert document info into the FAME database
        /// </summary>
        /// <param name="NewDocument">Document to add to FAME</param>
        /// <param name="errorMessage">populates any error message received when upload fails</param>
        /// <returns></returns>
        public static bool AddFameDoc(this IFameDocument NewDocument, out string errorMessage)
        {
            bool finalStatus;
            int  queryResult;

            string uploadTimestamp = DateTime.Now.ToString("yyyy-MM-dd hh:MM:ss.fff");

            string queryString = $@"
                        INSERT INTO { cfgSQLDatabase }.dbo.{ cfgSQLTable } 
                            ( [PK_1], [PK_2], [PK_3], [filename_actual], [fk_participantTypeSectorFolder_code], [created], [created_by], [modified], [modified_by], [filename_display], [filepath])
                        VALUES
                            ('{ NewDocument.PK1 }', { CheckNullPks(NewDocument.PK2) }, { CheckNullPks(NewDocument.PK3) }, '{ NewDocument.DocumentName }', '{ NewDocument.DocumentTypeFolderSectorCode }', '{ uploadTimestamp }', '{ NewDocument.WacUploadUser }', NULL, NULL, '{ NewDocument.DocumentName }', '{ NewDocument.FinalFilePath }')
                        ";

            using (SqlConnection conn = new SqlConnection(GetConnectionString()))
            {
                try
                {
                    conn.Open();
                    SqlCommand query = new SqlCommand(queryString, conn);
                    queryResult = query.ExecuteNonQuery();

                    errorMessage = null;
                    finalStatus  = true;
                }
                catch (Exception e)
                {
                    WriteFameLog("error", e.Message);

                    errorMessage = e.Message;
                    finalStatus  = false;
                }
            }

            return(finalStatus);
        }