Subversion-Projekte lars-tiefland.prado

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
<?xml version="1.0" encoding="utf-8" ?>
2
<sqlMap>
3
 
4
<resultMap id="category-result" class="CategoryRecord">
5
	<result property="Name" column="Name" />
6
	<result property="EstimateDuration" column="EstimateDuration" type="float" />
7
	<result property="ProjectID" column="ProjectID" type="integer" />
8
	<result property="Abbreviation" column="Abbreviation" />
9
	<result property="ID" column="CategoryID" type="integer" />
10
	<result property="ActualDuration" column="ActualDuration" type="float" />
11
</resultMap>
12
 
13
<insert id="AddNewCategory" parameterClass="CategoryRecord">
14
	INSERT INTO categories
15
	(Name, ProjectID, Abbreviation, EstimateDuration)
16
	VALUES(#Name#, #ProjectID#, #Abbreviation#, #EstimateDuration#)
17
	<selectKey property="ID" type="post" resultClass="int">
18
		select LAST_INSERT_ROWID() as value
19
    </selectKey>
20
</insert>
21
 
22
<select id="GetCategoryByID" parameterClass="integer" resultMap="category-result">
23
	SELECT
24
		categories.Name as Name,
25
		categories.EstimateDuration as EstimateDuration,
26
		categories.ProjectID as ProjectID,
27
		categories.Abbreviation as Abbreviation,
28
		categories.CategoryID as CategoryID,
29
		sum(time_entry.Duration) as ActualDuration
30
	FROM
31
		categories
32
		LEFT JOIN time_entry ON categories.CategoryID = time_entry.CategoryID
33
	WHERE
34
		categories.CategoryID = #value#
35
	GROUP BY
36
		categories.CategoryID
37
	ORDER BY
38
		categories.Name
39
</select>
40
 
41
<select id="GetAllCategories" resultMap="category-result">
42
	SELECT
43
		categories.Name as Name,
44
		categories.EstimateDuration as EstimateDuration,
45
		categories.ProjectID as ProjectID,
46
		categories.Abbreviation as Abbreviation,
47
		categories.CategoryID as CategoryID,
48
		sum(time_entry.Duration) as ActualDuration
49
	FROM
50
		categories
51
		LEFT JOIN time_entry ON categories.CategoryID = time_entry.CategoryID
52
	GROUP BY
53
		categories.CategoryID
54
	ORDER BY
55
		categories.Name
56
</select>
57
 
58
<delete id="DeleteCategory" parameterClass="integer">
59
	DELETE FROM categories WHERE CategoryID = #value#
60
</delete>
61
 
62
<select id="GetCategoriesByProjectID" resultMap="category-result">
63
	SELECT
64
		categories.Name as Name,
65
		categories.EstimateDuration as EstimateDuration,
66
		categories.ProjectID as ProjectID,
67
		categories.Abbreviation as Abbreviation,
68
		categories.CategoryID as CategoryID,
69
		sum(time_entry.Duration) as ActualDuration
70
	FROM
71
		categories
72
		LEFT JOIN time_entry ON categories.CategoryID = time_entry.CategoryID
73
	WHERE
74
		categories.ProjectID = #value#
75
	GROUP BY
76
		categories.CategoryID
77
	ORDER BY
78
		categories.Name
79
</select>
80
 
81
<select id="GetCategoryByNameInProject" parameterClass="array" resultMap="category-result">
82
	SELECT
83
		categories.Name as Name,
84
		categories.EstimateDuration as EstimateDuration,
85
		categories.ProjectID as ProjectID,
86
		categories.Abbreviation as Abbreviation,
87
		categories.CategoryID as CategoryID,
88
		sum(time_entry.Duration) as ActualDuration
89
	FROM
90
		categories
91
		LEFT JOIN time_entry ON categories.CategoryID = time_entry.CategoryID
92
	WHERE
93
			categories.ProjectID = #project#
94
		AND categories.Name = #category#
95
	GROUP BY
96
		categories.CategoryID
97
</select>
98
 
99
<update id="UpdateCategory" parameterClass="CategoryRecord">
100
	UPDATE categories SET
101
		Abbreviation = #Abbreviation#,
102
		EstimateDuration = #EstimateDuration#,
103
		Name = #Name#,
104
		ProjectId = #ProjectID#
105
	WHERE
106
		CategoryID = #ID#
107
</update>
108
 
109
</sqlMap>