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

Commit e6b5375

Browse files
authored
Merge pull request #22 from BinderDyn/settings-with-project-types
Settings with project types
2 parents a9eac0e + fe0d185 commit e6b5375

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+1326
-170
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ TakeMyTime.Models/bin
88
TakeMyTime.Models/obj
99
TakeMyTime.WPF/bin
1010
TakeMyTime.WPF/obj
11+
TakeMyTime.BLL.Tests/bin
12+
TakeMyTime.BLL.Tests/obj
1113
**/.svn
1214
**/.vs
1315
**/v16
30.1 KB
Binary file not shown.

.vs/TakeMyTime.NETCore/v16/.suo

42 KB
Binary file not shown.

TakeMyTime.BLL/Logic/ProjectTypeLogic.cs

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@ public ProjectTypeLogic(UnitOfWork uow = null)
2424

2525
public IEnumerable<ProjectType> GetProjectTypes()
2626
{
27-
return unitOfWork.ProjectTypes.GetAll();
27+
return unitOfWork.ProjectTypes.GetProjectTypesLoaded();
2828
}
2929

3030
public ProjectType GetProjectType(int id)
3131
{
32-
return unitOfWork.ProjectTypes.Get(id);
32+
return unitOfWork.ProjectTypes.GetProjectTypeByIdLoaded(id);
3333
}
3434

3535
public void AddProjectType(ProjectType.ICreateParam param)
@@ -39,6 +39,27 @@ public void AddProjectType(ProjectType.ICreateParam param)
3939
unitOfWork.Complete();
4040
}
4141

42+
public void UpdateProjectType(int id, ProjectType.IUpdateParam param)
43+
{
44+
var projectType = this.unitOfWork.ProjectTypes.Get(id);
45+
projectType.Update(param);
46+
unitOfWork.Complete();
47+
}
48+
49+
public void DeleteProjectType(int id)
50+
{
51+
var projectType = this.unitOfWork.ProjectTypes.GetProjectTypeByIdLoaded(id);
52+
if (projectType.CanDelete())
53+
{
54+
this.unitOfWork.ProjectTypes.Remove(projectType);
55+
this.unitOfWork.Complete();
56+
}
57+
else
58+
{
59+
throw new Exception("Cannot delete project type used in existing projects");
60+
}
61+
}
62+
4263
public void Dispose()
4364
{
4465
this.unitOfWork.Dispose();
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"version": 1,
3-
"dgSpecHash": "dmlGa5idHuegjjy/nAx2ySq0t0fIPJ9u2E/qyrE1pqMh3CkKFgw3nukqE27GCs442wdBb0B5yUbAtfVUOpsuFA==",
3+
"dgSpecHash": "xWNeER+R3wBnRMUaXBziXwvZXvRE5hnepLmXR7jkfxsMjIszfwOMYagnhGfzTb3tFKLg6BZALVAAW8J6ERZp0Q==",
44
"success": true
55
}

TakeMyTime.BLL/obj/TakeMyTime.BLL.csproj.nuget.dgspec.json

Lines changed: 37 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,21 @@
11
{
22
"format": 1,
33
"restore": {
4-
"C:\\Development\\takemytimeNETCORE\\TakeMyTime.BLL\\TakeMyTime.BLL.csproj": {}
4+
"G:\\Development\\TakeMyTime.NETCore\\TakeMyTime.BLL\\TakeMyTime.BLL.csproj": {}
55
},
66
"projects": {
7-
"C:\\Development\\takemytimeNETCORE\\TakeMyTime.BLL\\TakeMyTime.BLL.csproj": {
7+
"G:\\Development\\TakeMyTime.NETCore\\TakeMyTime.BLL\\TakeMyTime.BLL.csproj": {
88
"version": "1.0.0",
99
"restore": {
10-
"projectUniqueName": "C:\\Development\\takemytimeNETCORE\\TakeMyTime.BLL\\TakeMyTime.BLL.csproj",
10+
"projectUniqueName": "G:\\Development\\TakeMyTime.NETCore\\TakeMyTime.BLL\\TakeMyTime.BLL.csproj",
1111
"projectName": "TakeMyTime.BLL",
12-
"projectPath": "C:\\Development\\takemytimeNETCORE\\TakeMyTime.BLL\\TakeMyTime.BLL.csproj",
12+
"projectPath": "G:\\Development\\TakeMyTime.NETCore\\TakeMyTime.BLL\\TakeMyTime.BLL.csproj",
1313
"packagesPath": "C:\\Users\\marvi\\.nuget\\packages\\",
14-
"outputPath": "C:\\Development\\takemytimeNETCORE\\TakeMyTime.BLL\\obj\\",
14+
"outputPath": "G:\\Development\\TakeMyTime.NETCore\\TakeMyTime.BLL\\obj\\",
1515
"projectStyle": "PackageReference",
16+
"fallbackFolders": [
17+
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
18+
],
1619
"configFilePaths": [
1720
"C:\\Users\\marvi\\AppData\\Roaming\\NuGet\\NuGet.Config",
1821
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
@@ -27,11 +30,11 @@
2730
"frameworks": {
2831
"netcoreapp3.1": {
2932
"projectReferences": {
30-
"C:\\Development\\takemytimeNETCORE\\TakeMyTime.Common\\TakeMyTime.Common.csproj": {
31-
"projectPath": "C:\\Development\\takemytimeNETCORE\\TakeMyTime.Common\\TakeMyTime.Common.csproj"
33+
"G:\\Development\\TakeMyTime.NETCore\\TakeMyTime.Common\\TakeMyTime.Common.csproj": {
34+
"projectPath": "G:\\Development\\TakeMyTime.NETCore\\TakeMyTime.Common\\TakeMyTime.Common.csproj"
3235
},
33-
"C:\\Development\\takemytimeNETCORE\\TakeMyTime.DAL\\TakeMyTime.DAL.csproj": {
34-
"projectPath": "C:\\Development\\takemytimeNETCORE\\TakeMyTime.DAL\\TakeMyTime.DAL.csproj"
36+
"G:\\Development\\TakeMyTime.NETCore\\TakeMyTime.DAL\\TakeMyTime.DAL.csproj": {
37+
"projectPath": "G:\\Development\\TakeMyTime.NETCore\\TakeMyTime.DAL\\TakeMyTime.DAL.csproj"
3538
}
3639
}
3740
}
@@ -63,15 +66,18 @@
6366
}
6467
}
6568
},
66-
"C:\\Development\\takemytimeNETCORE\\TakeMyTime.Common\\TakeMyTime.Common.csproj": {
69+
"G:\\Development\\TakeMyTime.NETCore\\TakeMyTime.Common\\TakeMyTime.Common.csproj": {
6770
"version": "1.0.0",
6871
"restore": {
69-
"projectUniqueName": "C:\\Development\\takemytimeNETCORE\\TakeMyTime.Common\\TakeMyTime.Common.csproj",
72+
"projectUniqueName": "G:\\Development\\TakeMyTime.NETCore\\TakeMyTime.Common\\TakeMyTime.Common.csproj",
7073
"projectName": "TakeMyTime.Common",
71-
"projectPath": "C:\\Development\\takemytimeNETCORE\\TakeMyTime.Common\\TakeMyTime.Common.csproj",
74+
"projectPath": "G:\\Development\\TakeMyTime.NETCore\\TakeMyTime.Common\\TakeMyTime.Common.csproj",
7275
"packagesPath": "C:\\Users\\marvi\\.nuget\\packages\\",
73-
"outputPath": "C:\\Development\\takemytimeNETCORE\\TakeMyTime.Common\\obj\\",
76+
"outputPath": "G:\\Development\\TakeMyTime.NETCore\\TakeMyTime.Common\\obj\\",
7477
"projectStyle": "PackageReference",
78+
"fallbackFolders": [
79+
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
80+
],
7581
"configFilePaths": [
7682
"C:\\Users\\marvi\\AppData\\Roaming\\NuGet\\NuGet.Config",
7783
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
@@ -115,15 +121,18 @@
115121
}
116122
}
117123
},
118-
"C:\\Development\\takemytimeNETCORE\\TakeMyTime.DAL\\TakeMyTime.DAL.csproj": {
124+
"G:\\Development\\TakeMyTime.NETCore\\TakeMyTime.DAL\\TakeMyTime.DAL.csproj": {
119125
"version": "1.0.0",
120126
"restore": {
121-
"projectUniqueName": "C:\\Development\\takemytimeNETCORE\\TakeMyTime.DAL\\TakeMyTime.DAL.csproj",
127+
"projectUniqueName": "G:\\Development\\TakeMyTime.NETCore\\TakeMyTime.DAL\\TakeMyTime.DAL.csproj",
122128
"projectName": "TakeMyTime.DAL",
123-
"projectPath": "C:\\Development\\takemytimeNETCORE\\TakeMyTime.DAL\\TakeMyTime.DAL.csproj",
129+
"projectPath": "G:\\Development\\TakeMyTime.NETCore\\TakeMyTime.DAL\\TakeMyTime.DAL.csproj",
124130
"packagesPath": "C:\\Users\\marvi\\.nuget\\packages\\",
125-
"outputPath": "C:\\Development\\takemytimeNETCORE\\TakeMyTime.DAL\\obj\\",
131+
"outputPath": "G:\\Development\\TakeMyTime.NETCore\\TakeMyTime.DAL\\obj\\",
126132
"projectStyle": "PackageReference",
133+
"fallbackFolders": [
134+
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
135+
],
127136
"configFilePaths": [
128137
"C:\\Users\\marvi\\AppData\\Roaming\\NuGet\\NuGet.Config",
129138
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
@@ -138,8 +147,8 @@
138147
"frameworks": {
139148
"netcoreapp3.1": {
140149
"projectReferences": {
141-
"C:\\Development\\takemytimeNETCORE\\TakeMyTime.Models\\TakeMyTime.Models.csproj": {
142-
"projectPath": "C:\\Development\\takemytimeNETCORE\\TakeMyTime.Models\\TakeMyTime.Models.csproj"
150+
"G:\\Development\\TakeMyTime.NETCore\\TakeMyTime.Models\\TakeMyTime.Models.csproj": {
151+
"projectPath": "G:\\Development\\TakeMyTime.NETCore\\TakeMyTime.Models\\TakeMyTime.Models.csproj"
143152
}
144153
}
145154
}
@@ -217,15 +226,18 @@
217226
}
218227
}
219228
},
220-
"C:\\Development\\takemytimeNETCORE\\TakeMyTime.Models\\TakeMyTime.Models.csproj": {
229+
"G:\\Development\\TakeMyTime.NETCore\\TakeMyTime.Models\\TakeMyTime.Models.csproj": {
221230
"version": "1.0.0",
222231
"restore": {
223-
"projectUniqueName": "C:\\Development\\takemytimeNETCORE\\TakeMyTime.Models\\TakeMyTime.Models.csproj",
232+
"projectUniqueName": "G:\\Development\\TakeMyTime.NETCore\\TakeMyTime.Models\\TakeMyTime.Models.csproj",
224233
"projectName": "TakeMyTime.Models",
225-
"projectPath": "C:\\Development\\takemytimeNETCORE\\TakeMyTime.Models\\TakeMyTime.Models.csproj",
234+
"projectPath": "G:\\Development\\TakeMyTime.NETCore\\TakeMyTime.Models\\TakeMyTime.Models.csproj",
226235
"packagesPath": "C:\\Users\\marvi\\.nuget\\packages\\",
227-
"outputPath": "C:\\Development\\takemytimeNETCORE\\TakeMyTime.Models\\obj\\",
236+
"outputPath": "G:\\Development\\TakeMyTime.NETCore\\TakeMyTime.Models\\obj\\",
228237
"projectStyle": "PackageReference",
238+
"fallbackFolders": [
239+
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
240+
],
229241
"configFilePaths": [
230242
"C:\\Users\\marvi\\AppData\\Roaming\\NuGet\\NuGet.Config",
231243
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
@@ -240,8 +252,8 @@
240252
"frameworks": {
241253
"netcoreapp3.1": {
242254
"projectReferences": {
243-
"C:\\Development\\takemytimeNETCORE\\TakeMyTime.Common\\TakeMyTime.Common.csproj": {
244-
"projectPath": "C:\\Development\\takemytimeNETCORE\\TakeMyTime.Common\\TakeMyTime.Common.csproj"
255+
"G:\\Development\\TakeMyTime.NETCore\\TakeMyTime.Common\\TakeMyTime.Common.csproj": {
256+
"projectPath": "G:\\Development\\TakeMyTime.NETCore\\TakeMyTime.Common\\TakeMyTime.Common.csproj"
245257
}
246258
}
247259
}

TakeMyTime.BLL/obj/TakeMyTime.BLL.csproj.nuget.g.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
66
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
77
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
8-
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\marvi\.nuget\packages\</NuGetPackageFolders>
8+
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\marvi\.nuget\packages\;C:\Program Files\dotnet\sdk\NuGetFallbackFolder</NuGetPackageFolders>
99
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
1010
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">5.4.0</NuGetToolVersion>
1111
</PropertyGroup>

TakeMyTime.BLL/obj/project.assets.json

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5992,17 +5992,21 @@
59925992
]
59935993
},
59945994
"packageFolders": {
5995-
"C:\\Users\\marvi\\.nuget\\packages\\": {}
5995+
"C:\\Users\\marvi\\.nuget\\packages\\": {},
5996+
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder": {}
59965997
},
59975998
"project": {
59985999
"version": "1.0.0",
59996000
"restore": {
6000-
"projectUniqueName": "C:\\Development\\takemytimeNETCORE\\TakeMyTime.BLL\\TakeMyTime.BLL.csproj",
6001+
"projectUniqueName": "G:\\Development\\TakeMyTime.NETCore\\TakeMyTime.BLL\\TakeMyTime.BLL.csproj",
60016002
"projectName": "TakeMyTime.BLL",
6002-
"projectPath": "C:\\Development\\takemytimeNETCORE\\TakeMyTime.BLL\\TakeMyTime.BLL.csproj",
6003+
"projectPath": "G:\\Development\\TakeMyTime.NETCore\\TakeMyTime.BLL\\TakeMyTime.BLL.csproj",
60036004
"packagesPath": "C:\\Users\\marvi\\.nuget\\packages\\",
6004-
"outputPath": "C:\\Development\\takemytimeNETCORE\\TakeMyTime.BLL\\obj\\",
6005+
"outputPath": "G:\\Development\\TakeMyTime.NETCore\\TakeMyTime.BLL\\obj\\",
60056006
"projectStyle": "PackageReference",
6007+
"fallbackFolders": [
6008+
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
6009+
],
60066010
"configFilePaths": [
60076011
"C:\\Users\\marvi\\AppData\\Roaming\\NuGet\\NuGet.Config",
60086012
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
@@ -6017,11 +6021,11 @@
60176021
"frameworks": {
60186022
"netcoreapp3.1": {
60196023
"projectReferences": {
6020-
"C:\\Development\\takemytimeNETCORE\\TakeMyTime.Common\\TakeMyTime.Common.csproj": {
6021-
"projectPath": "C:\\Development\\takemytimeNETCORE\\TakeMyTime.Common\\TakeMyTime.Common.csproj"
6024+
"G:\\Development\\TakeMyTime.NETCore\\TakeMyTime.Common\\TakeMyTime.Common.csproj": {
6025+
"projectPath": "G:\\Development\\TakeMyTime.NETCore\\TakeMyTime.Common\\TakeMyTime.Common.csproj"
60226026
},
6023-
"C:\\Development\\takemytimeNETCORE\\TakeMyTime.DAL\\TakeMyTime.DAL.csproj": {
6024-
"projectPath": "C:\\Development\\takemytimeNETCORE\\TakeMyTime.DAL\\TakeMyTime.DAL.csproj"
6027+
"G:\\Development\\TakeMyTime.NETCore\\TakeMyTime.DAL\\TakeMyTime.DAL.csproj": {
6028+
"projectPath": "G:\\Development\\TakeMyTime.NETCore\\TakeMyTime.DAL\\TakeMyTime.DAL.csproj"
60256029
}
60266030
}
60276031
}

TakeMyTime.DAL/Interfaces/IProjectTypeRepository.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,7 @@ namespace TakeMyTime.DAL.Interfaces
77
{
88
public interface IProjectTypeRepository : IRepository<ProjectType>
99
{
10+
IEnumerable<ProjectType> GetProjectTypesLoaded();
11+
ProjectType GetProjectTypeByIdLoaded(int id);
1012
}
1113
}

TakeMyTime.DAL/Repositories/ProjectTypeRepository.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using Microsoft.EntityFrameworkCore;
22
using System;
33
using System.Collections.Generic;
4+
using System.Linq;
45
using System.Text;
56
using TakeMyTime.DAL.Interfaces;
67
using TakeMyTime.Models.Models;
@@ -19,5 +20,15 @@ public TakeMyTimeDbContext TakeMyTimeDbContext
1920
{
2021
get { return DbContext as TakeMyTimeDbContext; }
2122
}
23+
24+
public IEnumerable<ProjectType> GetProjectTypesLoaded()
25+
{
26+
return this.context.ProjectTypes.Include(pt => pt.Projects);
27+
}
28+
29+
public ProjectType GetProjectTypeByIdLoaded(int id)
30+
{
31+
return this.context.ProjectTypes.Include(pt => pt.Projects).SingleOrDefault(pt => pt.Id == id);
32+
}
2233
}
2334
}

0 commit comments

Comments
 (0)