Skip to content
This repository was archived by the owner on Oct 3, 2022. It is now read-only.

Commit c45fd0f

Browse files
authored
Merge pull request #58 from BinderDyn/filter-load-project-by-status
Filter load project by status
2 parents f39ebe7 + 81eec66 commit c45fd0f

File tree

10 files changed

+45
-5
lines changed

10 files changed

+45
-5
lines changed

.vs/TakeMyTime.NETCore/v16/.suo

-16 KB
Binary file not shown.

TakeMyTime.Models/Models/Assignment.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ namespace TakeMyTime.Models.Models
1515
{
1616
public class Assignment : Entity<Assignment>
1717
{
18-
protected Assignment() { }
18+
public Assignment() { }
1919

2020
public static Assignment Create(ICreateParam param)
2121
{

TakeMyTime.Models/Models/Entry.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ namespace TakeMyTime.Models.Models
55
{
66
public class Entry : Entity<Entry>
77
{
8-
protected Entry() { }
8+
public Entry() { }
99

1010
public static Entry Create(ICreateParam param)
1111
{

TakeMyTime.Models/Models/Project.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ namespace TakeMyTime.Models.Models
1616
/// </summary>
1717
public class Project : Entity<Project>
1818
{
19-
protected Project() { }
19+
public Project() { }
2020

2121
public static Project Create(ICreateParam createParam)
2222
{

TakeMyTime.Models/Models/ProjectType.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ namespace TakeMyTime.Models.Models
88
{
99
public class ProjectType : Entity<ProjectType>, IModifiableEntity
1010
{
11-
protected ProjectType() { }
11+
public ProjectType() { }
1212

1313
public static ProjectType Create(ICreateParam param)
1414
{

TakeMyTime.WPF/Projects/ProjectOverview.xaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,14 @@
3232
Orientation="Horizontal"
3333
HorizontalAlignment="Right"
3434
VerticalAlignment="Center">
35+
<Label Content="{x:Static resources:ProjectOverview.OnlyActiveLabel}"
36+
Foreground="{StaticResource LightWhite}"
37+
VerticalAlignment="Center"></Label>
38+
<CheckBox x:Name="cbo_ShowOnlyActive"
39+
Checked="cbo_ShowOnlyActive_Checked"
40+
Unchecked="cbo_ShowOnlyActive_Unchecked"
41+
Foreground="{StaticResource LightWhite}"
42+
Margin="5 0 20 0"></CheckBox>
3543
<Button x:Name="btn_NewProject"
3644
VerticalAlignment="Center"
3745
HorizontalAlignment="Right"

TakeMyTime.WPF/Projects/ProjectOverview.xaml.cs

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ private void Load()
4141
{
4242
var projectLogic = new ProjectLogic();
4343
var loadedProjects = projectLogic.GetAllProjects();
44-
var viewModels = loadedProjects.Select(lp => new ProjectViewModel(lp));
44+
var viewModels = loadedProjects.Where(lp => this.ShowOnlyActive ? lp.ProjectStatus == EnumDefinition.ProjectStatus.Active : lp.Id > 0).Select(lp => new ProjectViewModel(lp));
4545
this.Projects = new List<ProjectViewModel>(viewModels);
4646
PagingManager.Data = this.Projects.ToList();
4747
lv_Projects.ItemsSource = PagingManager.Page(this.PagingManager.CurrentPage);
@@ -146,13 +146,30 @@ private void btn_PagingBack_Click(object sender, RoutedEventArgs e)
146146
RefreshBindings(this.PagingManager.CurrentPage - 1);
147147
}
148148

149+
private void cbo_ShowOnlyActive_Checked(object sender, RoutedEventArgs e)
150+
{
151+
this.ShowOnlyActive = true;
152+
this.Load();
153+
this.RefreshBindings(this.PagingManager.CurrentPage);
154+
}
155+
156+
private void cbo_ShowOnlyActive_Unchecked(object sender, RoutedEventArgs e)
157+
{
158+
this.ShowOnlyActive = false;
159+
this.Load();
160+
this.RefreshBindings(this.PagingManager.CurrentPage);
161+
}
162+
149163
#endregion
150164

151165
#region Properties
152166

153167
public IList<ProjectViewModel> Projects { get; set; }
154168
public ProjectViewModel SelectedProject { get; set; }
155169
public PagingManager<ProjectViewModel> PagingManager { get; set; }
170+
public bool ShowOnlyActive { get; set; }
171+
172+
156173

157174
#endregion
158175

TakeMyTime.WPF/Resources/ProjectOverview.Designer.cs

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

TakeMyTime.WPF/Resources/ProjectOverview.de-DE.resx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,9 @@
156156
<data name="EditProjectTooltip" xml:space="preserve">
157157
<value>Ausgewähltes Projekt bearbeiten</value>
158158
</data>
159+
<data name="OnlyActiveLabel" xml:space="preserve">
160+
<value>Zeige nur aktive</value>
161+
</data>
159162
<data name="StatusTooltipActive" xml:space="preserve">
160163
<value>Aktiv</value>
161164
</data>

TakeMyTime.WPF/Resources/ProjectOverview.resx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,9 @@
156156
<data name="EditProjectTooltip" xml:space="preserve">
157157
<value>Edit selected project</value>
158158
</data>
159+
<data name="OnlyActiveLabel" xml:space="preserve">
160+
<value>Show only active</value>
161+
</data>
159162
<data name="StatusTooltipActive" xml:space="preserve">
160163
<value>Active</value>
161164
</data>

0 commit comments

Comments
 (0)