﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<LobSystem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog BDCMetadata.xsd" Type="Database" Version="1.0.0.0" Name="PSVR2007 TechEd Sample" xmlns="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog">
  <Properties>
    <Property Name="WildcardCharacter" Type="System.String">%</Property>
  </Properties>
  <LobSystemInstances>
    <LobSystemInstance Name="PSVR2007TechED" DefaultDisplayName="PSVR2007TechEd">
      <Properties>
        <Property Name="AuthenticationMode" Type="Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db.DbAuthenticationMode">PassThrough</Property>
        <Property Name="DatabaseAccessProvider" Type="Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db.DbAccessProvider">SqlServer</Property>
        <Property Name="RdbConnection Data Source" Type="System.String">servername</Property>
        <Property Name="RdbConnection Initial Catalog" Type="System.String">ProjectServer_Reporting</Property>
        <Property Name="RdbConnection Integrated Security" Type="System.String">SSPI</Property>
        <Property Name="RdbConnection Pooling" Type="System.String">false</Property>
      </Properties>
    </LobSystemInstance>
  </LobSystemInstances>
  <Entities>
    <Entity EstimatedInstanceCount="10000" Name="EPM_AW_TechEd">
      <Properties>
        <Property Name="Title" Type="System.String">ProjectName</Property>
      </Properties>
      <Identifiers>
        <Identifier TypeName="System.String" Name="ProjectName" />
      </Identifiers>
      <Methods>
        <Method Name="GetProject">
          <Properties>
            <Property Name="RdbCommandType" Type="System.Data.CommandType, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">Text</Property>
            <Property Name="RdbCommandText" Type="System.String">
SELECT     p.ProjectUID, p.ProjectName, p.ProjectOwnerName, p.ProjectStartDate, p.ProjectFinishDate, p.ProjectActualWork, p.ProjectActualCost, p.ProjectRemainingWork, p.VendorID, v.Name, a.City, a.PostalCode
FROM         MSP_EpmProject_UserView AS p INNER JOIN
                      AdventureWorks.Purchasing.Vendor AS v ON p.VendorID = v.VendorID INNER JOIN
                      AdventureWorks.Purchasing.VendorAddress AS va ON v.VendorID = va.VendorID INNER JOIN
                      AdventureWorks.Person.Address AS a ON va.AddressID = a.AddressID
WHERE p.ProjectName=@ProjectName</Property>
          </Properties>
          <FilterDescriptors>
            <FilterDescriptor Type="Comparison" Name="ProjectName">
              <Properties>
                <Property Name="Comparator" Type="System.String">Equals</Property>
              </Properties>
            </FilterDescriptor>
          </FilterDescriptors>
          <Parameters>
            <Parameter Direction="In" Name="@ProjectName">
              <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IdentifierName="ProjectName" AssociatedFilter="ProjectName" Name="ProjectName">
                <DefaultValues>
                  <DefaultValue MethodInstanceName="ProjectSpecificFinderInstance" Type="System.String">%</DefaultValue>
                </DefaultValues>
              </TypeDescriptor>
            </Parameter>
            <Parameter Direction="Return" Name="Projects">
              <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="ProjectDataReader">
                <TypeDescriptors>
                  <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="ProjectDataRecord">
                    <TypeDescriptors>
                      <TypeDescriptor TypeName="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="ProjectUID" DefaultDisplayName="Project UID" />
                      <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IdentifierName="ProjectName" Name="ProjectName" DefaultDisplayName="Project Name" />
                      <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="ProjectOwnerName" DefaultDisplayName="Project Owner" />
			<TypeDescriptor TypeName="System.String" Name="ProjectActualWork" DefaultDisplayName="Actual Work" />
                      <TypeDescriptor TypeName="System.String" Name="ProjectActualCost" DefaultDisplayName="Actual Cost" />
                      <TypeDescriptor TypeName="System.String" Name="Name" DefaultDisplayName="Vendor Name" />
                      <TypeDescriptor TypeName="System.String" Name="City" DefaultDisplayName="Vendor City" />
                      <TypeDescriptor TypeName="System.String" Name="PostalCode" DefaultDisplayName="Vendor ZipCode" />
       
                    </TypeDescriptors>
                  </TypeDescriptor>
                </TypeDescriptors>
              </TypeDescriptor>
            </Parameter>
          </Parameters>
          <MethodInstances>
            <MethodInstance Type="SpecificFinder" ReturnParameterName="Projects" ReturnTypeDescriptorName="ProjectDataReader" ReturnTypeDescriptorLevel="0" Name="ProjectSpecificFinderInstance" />
          </MethodInstances>
        </Method>
        <Method Name="GetAllProjects">
          <Properties>
            <Property Name="RdbCommandType" Type="System.Data.CommandType, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">Text</Property>
            <Property Name="RdbCommandText" Type="System.String">
              SELECT "ProjectUID","ProjectName","ProjectOwnerName","ProjectStartDate","ProjectFinishDate" FROM MSP_EpmProject_UserView where ProjectName LIKE @ProjectName Order by ProjectName

SELECT     p.ProjectUID, p.ProjectName, p.ProjectOwnerName, p.VendorID, v.Name, a.City, a.PostalCode
FROM         MSP_EpmProject_UserView AS p INNER JOIN
                      AdventureWorks.Purchasing.Vendor AS v ON p.VendorID = v.VendorID INNER JOIN
                      AdventureWorks.Purchasing.VendorAddress AS va ON v.VendorID = va.VendorID INNER JOIN
                      AdventureWorks.Person.Address AS a ON va.AddressID = a.AddressID
where p.ProjectName LIKE @ProjectName Order by p.ProjectName



            </Property>
          </Properties>
          <FilterDescriptors>
            <FilterDescriptor Type="Wildcard" Name="ProjectName">
              <Properties>
                <Property Name="UsedForDisambiguation" Type="System.Boolean">true</Property>
              </Properties>
            </FilterDescriptor>
          </FilterDescriptors>
          <Parameters>
            <Parameter Direction="In" Name="@ProjectName">
              <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IdentifierName="ProjectName" AssociatedFilter="ProjectName" Name="ProjectName">
                <DefaultValues>
                  <DefaultValue MethodInstanceName="ProjectFinderInstance" Type="System.String">%</DefaultValue>
                </DefaultValues>
              </TypeDescriptor>
            </Parameter>
            <Parameter Direction="Return" Name="Projects">
              <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="ProjectDataReader">
                <TypeDescriptors>
                  <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="ProjectDataRecord">
                    <TypeDescriptors>
                      <TypeDescriptor TypeName="System.Guid, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="ProjectUID" />
                      <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IdentifierName="ProjectName" Name="ProjectName" />
                      <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="ProjectOwnerName" />
                    </TypeDescriptors>
                  </TypeDescriptor>
                </TypeDescriptors>
              </TypeDescriptor>
            </Parameter>
          </Parameters>
          <MethodInstances>
            <MethodInstance Type="Finder" ReturnParameterName="Projects" ReturnTypeDescriptorName="ProjectDataReader" ReturnTypeDescriptorLevel="0" Name="ProjectFinderInstance" />
          </MethodInstances>
        </Method>
      </Methods>
      <Actions>
        <Action Position="1" IsOpenedInNewWindow="true" Url="http://search.live.com/results.aspx?q={0}" ImageUrl="" Name="Search on Live">
          <ActionParameters>
            <ActionParameter Index="0" Name="ProjectOwnerName" />
          </ActionParameters>
        </Action>
        <Action Position="2" IsOpenedInNewWindow="true" Url="http://servername/PWA/ProjectDrillDown.aspx?_projectUID={0}" ImageUrl="" Name="Drill Down to Project">
          <ActionParameters>
            <ActionParameter Index="0" Name="ProjectUID" />
          </ActionParameters>
        </Action>
        <Action Position="3" IsOpenedInNewWindow="true" Url="http://maps.live.com/default.aspx?where1={0}%20{1}&amp;style=b" ImageUrl="" Name="Map Vendor Location">
          <ActionParameters>
            <ActionParameter Index="0" Name="City" />
            <ActionParameter Index="1" Name="PostalCode" />
          </ActionParameters>
        </Action>
      </Actions>
    </Entity>
  </Entities>
</LobSystem>
