﻿<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping assembly="GpisReplacement.Domain" xmlns="urn:nhibernate-mapping-2.2">
  <class name="GpisReplacement.Domain.Conflict" table="Conflict" schema="gpis">
    <id name="Id">
      <generator class="hilo">
        <param name="max_lo">100</param>
        <param name="table">IdGen</param>
        <param name="column">NextId</param>
      </generator>
    </id>
    <property name="ConflictNumber" />    
    <property name="IsResolved" />
    <property name="ResolutionDate"/>
    <property name="Reason" />
    <map name="Projects" schema="gpis" table="ProjectConflict" >
      <key column="ConflictId" foreign-key="FK_ProjectConflict_ConflictId__TO__Conflict_Id" />
      <index column="ConflictEnd" type="byte"  />
      <many-to-many class="GpisReplacement.Domain.Project" column="ProjectId" />
    </map>
    <map name="Resolutions" inverse="true" >
      <key column="ConflictId" />
      <index column="ConflictEnd" type="byte"  />
      <one-to-many class="GpisReplacement.Domain.Resolution" />
    </map>
    <set name="Locations" cascade="all" inverse="true">
      <key column="ConflictId" />
      <one-to-many class="GpisReplacement.Domain.ConflictingLocation"/>
    </set>
    
    <map name="Events" schema="gpis" table="EventConflict">
      <key column="ConflictId" foreign-key="FK_EventConflict_ConflictId__TO__Conflict_Id" />
      <index column="ConflictEnd" type="byte"  />
      <many-to-many class="GpisReplacement.Domain.Event" column="EventId" />
    </map>

  </class>
</hibernate-mapping>