public static RelationshipBEO ToBusinessEntity(this ThreadRelationshipEntity threadRelationshipObject)
        {
            RelationshipBEO toReturn = new RelationshipBEO()
            {
                ChildDocumentId  = threadRelationshipObject.ChildDocumentId,
                FamilyDocumentId = threadRelationshipObject.FamilyId,
                ParentDocId      = threadRelationshipObject.ParentDocumentId,
                Type             = threadRelationshipObject.ThreadRelationshipType.ToString(),
            };

            return(toReturn);
        }
        /// <summary>
        /// Toes the business entity.
        /// </summary>
        /// <param name="relationShipBeo">The relation ship beo.</param>
        /// <param name="jobRunId">The job run id.</param>
        /// <param name="threadingConstraint">The threading constraint.</param>
        /// <param name="relationshipType">Type of the relation ship.</param>
        /// <returns></returns>
        public static EmailThreadingEntity ToDataAccesEntity(this RelationshipBEO relationShipBeo, long jobRunId, string threadingConstraint, ThreadRelationshipEntity.RelationshipType relationshipType)
        {
            EmailThreadingEntity toReturn = new EmailThreadingEntity()
            {
                JobRunID = jobRunId,
                ChildDocumentID = relationShipBeo.ChildDocumentId,
                ParentDocumentID = relationShipBeo.ParentDocId,
                RelationshipType = relationshipType,
                ThreadingConstraint = threadingConstraint,
                FamilyID = relationShipBeo.FamilyDocumentId

            };
            // Debug 
            //Tracer.Warning("Subj: ChildDocId: {0}, ParentDocId: {1}", relationShipBeo.ChildDocumentId, toReturn.ParentDocumentID);
            return toReturn;
        }
 /// <summary>
 /// converts OutLookEmailDocumentEntity to EmailThreadEntity
 /// </summary>
 /// <param name="outlookEmailDocumentEntity">The outlook email document entity.</param>
 /// <param name="jobRunId">The job run id.</param>
 /// <param name="threadingConstraint">The threading constraint.</param>
 /// <param name="relationshipType">Type of the relation ship.</param>
 /// <returns></returns>
 private EmailThreadingEntity ToEmailThreadEntity(OutlookEMailDocumentEntity outlookEmailDocumentEntity, long jobRunId, string threadingConstraint, ThreadRelationshipEntity.RelationshipType relationshipType)
 {
     EmailThreadingEntity toReturn = new EmailThreadingEntity()
     {
         JobRunID = jobRunId,
         ChildDocumentID = GetEmailDocumentIDFromConversationIndex(outlookEmailDocumentEntity.ConversationIndex),
         ParentDocumentID = GetParentDocumentId(outlookEmailDocumentEntity.ConversationIndex),
         RelationshipType = relationshipType,
         ThreadingConstraint = threadingConstraint,
         FamilyID = GetFamilyId(outlookEmailDocumentEntity.ConversationIndex),
         ConversationIndex = outlookEmailDocumentEntity.ConversationIndex
     };
     // Debug 
     //Tracer.Warning("Subj: {0} DocId: {1}", outlookEmailDocumentEntity.ConversationTopic, toReturn.ChildDocumentID);
     return toReturn;
 }