﻿<?xml version="1.0" encoding="utf-8"?>
<ReportsExport>
  <Reports>
    <Report id="c38e59c9-35a7-4c57-8977-959c12b146a5" codekey="ADAC_ReportForTestingSeminarSeats" categoryCodekey="Testing" name="AAA Testing: Seminar Seats" description="This report lists the seats of all mandators and sums of seats for a selected training.">
      <MetaData created="2011-12-14T16:48:52" createdBy="Administrator, VIWIS (Administrator)" createdBy_user_id="3" modified="2020-05-12T09:17:21" modifiedBy="Rolle, Administrator (Administrator)" modifiedBy_user_id="12" />
      <ExecutionDetails format="TableResult" commandType="SqlCommandOrQuery" exportHandler="" adminControl="" exportMultipleTablesToSheets="False" datesWithTime="False" extraParams="" />
      <Mandators mandatorMode="ExcludeMandators" mandator_id="96ba2868-8baf-4e69-b1fb-d2cc6d6832e8" mandatorName="ADAC" isStandard="False" isUsedByMenu="False" />
      <Parameters>
        <Parameter id="8eacbb69-0b54-4785-9223-3343af2b7ae6" isRequired="True" allowMultiSelect="False" name="Seminartitel" contextName="Seminartitel" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
        <Parameter id="c67f946f-ad8b-4183-a649-ea8e826d8e10" isRequired="True" allowMultiSelect="False" name="Seminartermin" contextName="Seminartermin" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
      </Parameters>
      <Roles />
      <command>DECLARE @workflow INT
		    DECLARE @totalSeatCount INT

       DECLARE @emptyOtgUnit_ids typeGuidList

        SELECT @workflow = workflow
        FROM tblTrainingTitles, tblTrainings
        WHERE tblTrainings.id = @training_id
        AND tblTrainingTitles.id = tblTrainings.trainingTitle_id

		    SELECT @totalSeatCount = seatsCount
		    FROM tblTrainings
		    WHERE id like @training_id
		
		    IF (@workflow &lt;&gt; 0 OR @totalSeatCount &lt;= 0)
		    BEGIN
			    SELECT SUM(seatCount) + SUM(releasedSeatCount) AS maxSeatsAllMandators,
			    SUM(seatCount) AS reservedSeatCountAllMandators,
			    SUM(releasedSeatCount) AS releasedSeatCountAllMandators,
			    dbo.fn_GetTrainingBookedUserCount(null, @emptyOtgUnit_ids, tblTrainingsMandatorsSeatCount.training_id, 0) AS bookedSeatsAllMandators,
			    dbo.fn_GetTrainingOverBookedUserCount(tblTrainingsMandatorsSeatCount.training_id, null, null, @workflow) AS seatsTakenFromReleasedSeatsAllMandators
			    FROM tblTrainingsMandatorsSeatCount
			    WHERE training_id = @training_id
			    GROUP BY tblTrainingsMandatorsSeatCount.training_id
		    END
		    ELSE
		    BEGIN
			    SELECT seatsCount AS maxSeatsAllMandators,
			    dbo.fn_GetTrainingBookedUserCount(null, @emptyOtgUnit_ids, tblTrainings.id, 0) AS bookedSeatsAllMandators
			    FROM tblTrainings
			    WHERE tblTrainings.id = @training_id
		    END

		    IF (@workflow &lt;&gt; 0 OR @totalSeatCount &lt;= 0)
		    BEGIN
			    SELECT tblMandators.name AS mandatorName,
			    seatCount + releasedSeatCount AS maxSeatsMandator,
			    seatCount AS reservedSeatCountMandator,
			    releasedSeatCount AS releasedSeatCountMandator,
			    dbo.fn_GetTrainingBookedUserCount(tblMandators.id, @emptyOtgUnit_ids, tblTrainingsMandatorsSeatCount.training_id, 0) AS bookedSeatsMandator,
			    CASE WHEN dbo.fn_GetTrainingBookedUserCount(tblMandators.id, @emptyOtgUnit_ids, tblTrainingsMandatorsSeatCount.training_id, 0) - seatCount &gt; 0
			    THEN 0
			    ELSE dbo.fn_GetTrainingBookedUserCount(tblMandators.id, @emptyOtgUnit_ids, tblTrainingsMandatorsSeatCount.training_id, 0) - seatCount
			    END AS takenExtraSeatsMandator,
			    dbo.fn_GetTrainingOverBookedUserCount(tblTrainingsMandatorsSeatCount.training_id, null, tblMandators.id, @workflow) AS takenExtraSeatsMandatorCHECK
			    FROM tblTrainingsMandatorsSeatCount
			    INNER JOIN tblMandators ON tblMandators.id = tblTrainingsMandatorsSeatCount.mandator_id
			    WHERE training_id = @training_id
		    END
		    ELSE
		    BEGIN
			    SELECT tblMandators.name AS mandatorName,
			    '(' + CONVERT(nvarchar(5), seatsCount) + ')' AS maxSeatsMandator,
			    dbo.fn_GetTrainingBookedUserCount(tblMandators.id, @emptyOtgUnit_ids, tblTrainingsMandatorsSeatCount.training_id, 0) AS bookedSeatsMandator
			    FROM tblTrainingsMandatorsSeatCount
			    INNER JOIN tblTrainings ON dbo.tblTrainingsMandatorsSeatCount.training_id = tblTrainings.id
			    INNER JOIN tblMandators ON tblMandators.id = tblTrainingsMandatorsSeatCount.mandator_id
			    WHERE training_id = @training_id
			    UNION ALL
			    SELECT 'Total' AS mandatorName,
			    '(' + CONVERT(nvarchar(5), seatsCount) + ')' AS maxSeatsMandator,
			    (SELECT SUM(dbo.fn_GetTrainingBookedUserCount(tblMandators.id, @emptyOtgUnit_ids, tblTrainingsMandatorsSeatCount.training_id, 0))
				    FROM tblTrainingsMandatorsSeatCount 
				    INNER JOIN tblMandators ON tblMandators.id = tblTrainingsMandatorsSeatCount.mandator_id
				    WHERE dbo.tblTrainingsMandatorsSeatCount.training_id = @training_id) AS bookedSeatsMandator
			    FROM tblTrainings
			    INNER JOIN tblTrainingsMandatorsSeatCount ON dbo.tblTrainingsMandatorsSeatCount.training_id = tblTrainings.id
			    WHERE id = @training_id
			    GROUP BY tblTrainings.id, tblTrainings.seatsCount
			    ORDER BY mandatorName
		    END</command>
    </Report>
  </Reports>
  <Parameters>
    <Parameter id="8eacbb69-0b54-4785-9223-3343af2b7ae6" isSystem="True" name="Seminartitel" reportParameterType_id="c4fa1006-96a9-4b85-bf22-6a480289e5f3" queryParameterName="@trainingTitle_id" />
    <Parameter id="c67f946f-ad8b-4183-a649-ea8e826d8e10" isSystem="False" name="Seminartermin" reportParameterType_id="f22db1dd-65f9-4b99-a45e-ec63268de8d6" queryParameterName="@training_id" />
  </Parameters>
  <ParameterTypes>
    <ParameterType id="c4fa1006-96a9-4b85-bf22-6a480289e5f3" isSystem="False" name="Seminartitel" datatype="GuidDDL" dataValueField="" dataTextField="">
      <query>SELECT tblItems.id AS value, 
                    tblItems.title AS text 
               FROM tblTrainingTitles 
                    INNER JOIN tblItems ON tblItems.id = tblTrainingTitles.id
              WHERE tblTrainingTitles.mandator_id = @current_mandator_id ORDER BY text</query>
    </ParameterType>
    <ParameterType id="f22db1dd-65f9-4b99-a45e-ec63268de8d6" isSystem="False" name="Seminartermine pro Seminartitel" datatype="GuidDDL" dataValueField="" dataTextField="">
      <query>
        SELECT tblItems.id AS value,
        tblItems.title + ' [' + dbo.fn_FormatDateSpan(tblTrainings.startDate, tblTrainings.endDate) + ']' AS text
        FROM tblTrainings INNER JOIN tblItems ON tblItems.id = tblTrainings.id
        WHERE @trainingTitle_id IS NULL
        OR trainingTitle_id = @trainingTitle_id
        ORDER BY title
      </query>
      <Parameters>
        <Parameter id="8eacbb69-0b54-4785-9223-3343af2b7ae6" isRequired="False" allowMultiSelect="False" name="Seminartitel" contextName="Seminartitel" defaultValue="" renderHint="Undefined" disableParameter="DisableUntilSet" />
      </Parameters>
    </ParameterType>
  </ParameterTypes>
</ReportsExport>