﻿<cf:project xmlns:cf="http://www.softfluent.com/codefluent/2005/1" 
            defaultNamespace="SoftFluent.BugTracker" defaultKeyPropertyTypeName="int">


  <Bug categoryPath="Follow up">
    <Id />
    <OpenDate sortable="true" />
    <ChangedDate />
    <Severity />
    <Priority />
    <Platform />
    <AssignedTo typeName="Person" />
    <ReportedBy typeName="Person" />
    <Status sortable="true" />
    <Resolution />
    <Product typeName="Product" />
    <Component />
    <Version />
    <OS />
    <TargetMilestone />
    <Description maxLength="512" />
    <Keywords />
    <Comments typeName="CommentCollection" />
    <Actions typeName="ActionCollection" />
    <cf:method name="LoadOwnerClosedBugs" body="load(Owner owner) where Actions.Owner = @owner and Status StartsWith 'Closed'" />
  </Bug>
  <Action categoryPath="Follow up" setType="List">
    <Id />
    <Description />
    <Bug typeName="Bug" />
    <Owner typeName="Owner" />
    <Shared typeName="bool" />
    <Who typeName="Person" />
    <CreationDate />
    <ForecastDate />
    <RealDate />
    <LongDescription persistent="false" set="false" onGetEvent="">
      <cf:snippet language="CSharp">
        private void OnGetLongDescription() {
        if (_longDescription == null) {_longDescription = Description + " / Owned by:" + Owner;}
        }
      </cf:snippet>
    </LongDescription>
  </Action>
  <Comment categoryPath="Follow up">
    <Id />
    <Bug typeName="Bug" />
    <CommentText maxLength="2048" />
  </Comment>
  <Person categoryPath="Reference">
    <Id />
    <Trigram maxLength="3" />
    <Name maxLength="50" collectionKey="true" />
    <Email maxLength="100" />
  </Person>
  <Product categoryPath="Reference">
    <Id />
    <Name collectionKey="true" />
  </Product>
  <Owner categoryPath="Reference" baseTypeName="Person">
    <ClosedBugs typeName="BugCollection" loadMethodName="LoadOwnerClosedBugs" relationType="none" />
  </Owner>
</cf:project>