Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
ProjectsStatusManagement
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hasan.bahjat
ProjectsStatusManagement
Commits
b4370697
Commit
b4370697
authored
Aug 16, 2024
by
hasan khaddour
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix s.
parent
ebb68b8b
Changes
31
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
31 changed files
with
1741 additions
and
107 deletions
+1741
-107
MapperConfiguration.cs
...Application/ApplicationDTOsMappers/MapperConfiguration.cs
+1
-1
PSManagement.Application.csproj
PSManagement.Application/PSManagement.Application.csproj
+1
-7
TrackDTO.cs
PSManagement.Application/Tracks/Common/TrackDTO.cs
+1
-0
AddEmployeeTrackCommand.cs
...aes/Commands/AddEmployeesTrack/AddEmployeeTrackCommand.cs
+16
-0
CompleteTrackCommand.cs
...ks/UseCaes/Commands/CompleteTrack/CompleteTrackCommand.cs
+12
-0
CompleteTrackCommandHandler.cs
...aes/Commands/CompleteTrack/CompleteTrackCommandHandler.cs
+49
-0
CreateTrackCommand.cs
...Tracks/UseCaes/Commands/CreateTrack/CreateTrackCommand.cs
+14
-0
CreateTrackCommandHandler.cs
...UseCaes/Commands/CreateTrack/CreateTrackCommandHandler.cs
+41
-0
Employee.cs
PSManagement.Domain/Employees/Entities/Employee.cs
+0
-5
WorkInfo.cs
PSManagement.Domain/Employees/ValueObjects/WorkInfo.cs
+9
-0
PSManagement.Domain.csproj
PSManagement.Domain/PSManagement.Domain.csproj
+1
-1
Project.cs
PSManagement.Domain/Projects/Entities/Project.cs
+0
-1
TracksErrror.cs
PSManagement.Domain/Tracking/DomainErrors/TracksErrror.cs
+15
-0
TrackCompleteddEvent.cs
...ment.Domain/Tracking/DomainEvents/TrackCompleteddEvent.cs
+11
-0
TrackCreatedEvent.cs
...agement.Domain/Tracking/DomainEvents/TrackCreatedEvent.cs
+14
-0
EmployeeTrack.cs
PSManagement.Domain/Tracking/Entities/EmployeeTrack.cs
+4
-7
EmployeeWork.cs
PSManagement.Domain/Tracking/Entities/EmployeeWork.cs
+0
-17
StepTrack.cs
PSManagement.Domain/Tracking/Entities/StepTrack.cs
+1
-2
Track.cs
PSManagement.Domain/Tracking/Entities/Track.cs
+3
-3
EmployeeWork.cs
PSManagement.Domain/Tracking/ValueObjects/EmployeeWork.cs
+9
-0
EmployeeWorkInfo.cs
...nagement.Domain/Tracking/ValueObjects/EmployeeWorkInfo.cs
+10
-0
TrackInfo.cs
PSManagement.Domain/Tracking/ValueObjects/TrackInfo.cs
+10
-0
ProjectType.cs
PSManagement.Domain/XProjectsTypes/Entities/ProjectType.cs
+0
-20
Report.cs
PSManagement.Domain/XReports/Entities/Report.cs
+0
-0
DependencyInjection.cs
...ment.Infrastructure.Persistence/DI/DependencyInjection.cs
+3
-1
TrackEntityConfiguration.cs
...istence/EntitiesConfiguration/TrackEntityConfiguration.cs
+24
-27
20240816080412_UpdateTrackDomain.Designer.cs
...e/Migrations/20240816080412_UpdateTrackDomain.Designer.cs
+1238
-0
20240816080412_UpdateTrackDomain.cs
...ersistence/Migrations/20240816080412_UpdateTrackDomain.cs
+143
-0
AppDbContextModelSnapshot.cs
...cture.Persistence/Migrations/AppDbContextModelSnapshot.cs
+95
-15
EmployeesRespository.cs
...e/Repositories/EmployeeRepository/EmployeesRespository.cs
+2
-0
TracksRepository.cs
...sistence/Repositories/TrackRepository/TracksRepository.cs
+14
-0
No files found.
PSManagement.Application/ApplicationDTOsMappers/MapperConfiguration.cs
View file @
b4370697
...
...
@@ -45,7 +45,7 @@ namespace PSManagement.Application.Mappers
CreateMap
<
TrackDTO
,
Track
>().
ReverseMap
();
CreateMap
<
StepTrack
,
StepTrackDTO
>()
.
ForMember
(
d
=>
d
.
TrackDate
,
op
=>
op
.
MapFrom
(
src
=>
src
.
Track
.
TrackDate
));
.
ForMember
(
d
=>
d
.
TrackDate
,
op
=>
op
.
MapFrom
(
src
=>
src
.
Track
.
Track
Info
.
Track
Date
));
CreateMap
<
FinancialSpendingDTO
,
FinancialSpending
>().
ReverseMap
();
...
...
PSManagement.Application/PSManagement.Application.csproj
View file @
b4370697
...
...
@@ -9,16 +9,10 @@
<Folder Include="Behaviors\AuthorizationBehavior\" />
<Folder Include="Employees\UseCases\Commands\InreesEmployeeWorkHours\" />
<Folder Include="Projects\UseCases\Queries\GetProjectAttachments\" />
<Folder Include="XReports\UseCases\" />
<Folder Include="XReports\UseCases\Queries\" />
<Folder Include="Tracks\UseCaes\Commands\CreateTrack\" />
<Folder Include="Tracks\UseCaes\Commands\AddStepsTrack\" />
<Folder Include="Tracks\UseCaes\Commands\AddEmployeesTrack\" />
<Folder Include="Tracks\UseCaes\Commands\RemoveTrack\" />
<Folder Include="Tracks\UseCaes\Commands\CompleteTrack\" />
<Folder Include="Tracks\UseCaes\Commands\UpdateEmployeeTrack\" />
<Folder Include="Tracks\UseCaes\Commands\UpdateStepTrack\" />
<Folder Include="Tracks\UseCaes\Commands\
Updat
eTrack\" />
<Folder Include="Tracks\UseCaes\Commands\
Remov
eTrack\" />
<Folder Include="Tracks\UseCaes\Queries\GetTrackById\" />
<Folder Include="Tracks\UseCaes\Queries\GetTracksByProject\" />
<Folder Include="Tracks\UseCaes\Queries\GetPlanTrack\" />
...
...
PSManagement.Application/Tracks/Common/TrackDTO.cs
View file @
b4370697
...
...
@@ -10,6 +10,7 @@ namespace PSManagement.Application.Tracks.Common
public
class
TrackDTO
{
public
int
Id
{
get
;
set
;
}
public
bool
IsCompleted
{
get
;
set
;
}
public
DateTime
TrackDate
{
get
;
set
;
}
public
String
TrackNote
{
get
;
set
;
}
public
int
ProjectId
{
get
;
set
;
}
...
...
PSManagement.Application/Tracks/UseCaes/Commands/AddEmployeesTrack/AddEmployeeTrackCommand.cs
0 → 100644
View file @
b4370697
using
Ardalis.Result
;
using
PSManagement.Domain.Tracking.ValueObjects
;
using
PSManagement.SharedKernel.CQRS.Command
;
using
System
;
namespace
PSManagement.Application.Tracks.UseCaes.Commands.AddEmployeesTrack
{
public
record
AddEmployeeTrackCommand
(
int
TrackId
,
int
EmployeeId
,
EmployeeWorkInfo
EmployeeWorkInfo
,
EmployeeWork
EmployeeWork
,
String
Notes
,
int
ProjectId
)
:
ILoggableCommand
<
Result
>;
}
PSManagement.Application/Tracks/UseCaes/Commands/CompleteTrack/CompleteTrackCommand.cs
0 → 100644
View file @
b4370697
using
Ardalis.Result
;
using
PSManagement.SharedKernel.CQRS.Command
;
using
System
;
namespace
PSManagement.Application.Tracks.UseCaes.Commands.CompleteTrack
{
public
record
CompleteTrackCommand
(
int
TrackId
,
DateTime
TrackDate
,
int
ProjectId
)
:
ILoggableCommand
<
Result
>;
}
PSManagement.Application/Tracks/UseCaes/Commands/CompleteTrack/CompleteTrackCommandHandler.cs
0 → 100644
View file @
b4370697
using
Ardalis.Result
;
using
AutoMapper
;
using
PSManagement.Domain.Steps.Repositories
;
using
PSManagement.Domain.Tracking
;
using
PSManagement.Domain.Tracking.DomainErrors
;
using
PSManagement.Domain.Tracking.DomainEvents
;
using
PSManagement.SharedKernel.CQRS.Command
;
using
PSManagement.SharedKernel.Interfaces
;
using
System.Threading
;
using
System.Threading.Tasks
;
namespace
PSManagement.Application.Tracks.UseCaes.Commands.CompleteTrack
{
public
class
CompleteTrackCommandHandler
:
ICommandHandler
<
CompleteTrackCommand
,
Result
>
{
private
readonly
ITracksRepository
_tracksRepository
;
private
readonly
IUnitOfWork
_unitOfWork
;
public
CompleteTrackCommandHandler
(
IUnitOfWork
unitOfWork
,
ITracksRepository
tracksRepository
)
{
_unitOfWork
=
unitOfWork
;
_tracksRepository
=
tracksRepository
;
}
public
async
Task
<
Result
>
Handle
(
CompleteTrackCommand
request
,
CancellationToken
cancellationToken
)
{
Track
track
=
await
_tracksRepository
.
GetByIdAsync
(
request
.
TrackId
);
if
(
track
is
null
)
{
return
Result
.
Invalid
(
TracksErrror
.
InvalidEntryError
);
}
track
.
AddDomainEvent
(
new
TrackCompleteddEvent
(
request
.
ProjectId
,
request
.
TrackId
,
request
.
TrackDate
));
await
_unitOfWork
.
SaveChangesAsync
();
return
Result
.
Success
();
}
}
}
PSManagement.Application/Tracks/UseCaes/Commands/CreateTrack/CreateTrackCommand.cs
0 → 100644
View file @
b4370697
using
Ardalis.Result
;
using
PSManagement.Domain.Projects.ValueObjects
;
using
PSManagement.Domain.Tracking.ValueObjects
;
using
PSManagement.SharedKernel.CQRS.Command
;
using
System
;
namespace
PSManagement.Application.Tracks.UseCaes.Commands.CreateTrack
{
public
record
CreateTrackCommand
(
TrackInfo
TrackInfo
,
String
TrackNote
,
int
ProjectId
)
:
ILoggableCommand
<
Result
<
int
>>;
}
PSManagement.Application/Tracks/UseCaes/Commands/CreateTrack/CreateTrackCommandHandler.cs
0 → 100644
View file @
b4370697
using
Ardalis.Result
;
using
AutoMapper
;
using
PSManagement.Domain.Steps.Repositories
;
using
PSManagement.Domain.Tracking
;
using
PSManagement.Domain.Tracking.DomainEvents
;
using
PSManagement.SharedKernel.CQRS.Command
;
using
PSManagement.SharedKernel.Interfaces
;
using
System.Threading
;
using
System.Threading.Tasks
;
namespace
PSManagement.Application.Tracks.UseCaes.Commands.CreateTrack
{
public
class
CreateTrackCommandHandler
:
ICommandHandler
<
CreateTrackCommand
,
Result
<
int
>>
{
private
readonly
ITracksRepository
_tracksRepository
;
private
readonly
IUnitOfWork
_unitOfWork
;
private
readonly
IMapper
_mapper
;
public
CreateTrackCommandHandler
(
IMapper
mapper
,
IUnitOfWork
unitOfWork
,
ITracksRepository
tracksRepository
)
{
_mapper
=
mapper
;
_unitOfWork
=
unitOfWork
;
_tracksRepository
=
tracksRepository
;
}
public
async
Task
<
Result
<
int
>>
Handle
(
CreateTrackCommand
request
,
CancellationToken
cancellationToken
)
{
Track
track
=
_mapper
.
Map
<
Track
>(
request
);
track
=
await
_tracksRepository
.
AddAsync
(
track
);
track
.
AddDomainEvent
(
new
TrackCreatedEvent
(
request
.
ProjectId
,
request
.
TrackInfo
.
TrackDate
));
await
_unitOfWork
.
SaveChangesAsync
();
return
Result
.
Success
(
track
.
Id
);
}
}
}
PSManagement.Domain/Employees/Entities/Employee.cs
View file @
b4370697
...
...
@@ -4,7 +4,6 @@ using PSManagement.Domain.Tracking;
using
PSManagement.Domain.Tracking.Entities
;
using
PSManagement.SharedKernel.Aggregate
;
using
PSManagement.SharedKernel.Entities
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
...
...
@@ -39,8 +38,4 @@ namespace PSManagement.Domain.Employees.Entities
HIASTId
=
hiastId
;
}
}
public
record
WorkInfo
(
String
WorkType
,
String
WorkJob
);
}
PSManagement.Domain/Employees/ValueObjects/WorkInfo.cs
0 → 100644
View file @
b4370697
using
System
;
namespace
PSManagement.Domain.Employees.Entities
{
public
record
WorkInfo
(
String
WorkType
,
String
WorkJob
);
}
PSManagement.Domain/PSManagement.Domain.csproj
View file @
b4370697
...
...
@@ -6,7 +6,7 @@
<ItemGroup>
<Folder Include="Identity\ValueObjects\" />
<Folder Include="Reports\Repositories\" />
<Folder Include="
X
Reports\Repositories\" />
</ItemGroup>
<ItemGroup>
...
...
PSManagement.Domain/Projects/Entities/Project.cs
View file @
b4370697
...
...
@@ -2,7 +2,6 @@
using
PSManagement.Domain.Employees.Entities
;
using
PSManagement.Domain.FinancialSpends.Entities
;
using
PSManagement.Domain.Projects.ValueObjects
;
using
PSManagement.Domain.ProjectTypes.Entities
;
using
PSManagement.Domain.Tracking
;
using
PSManagement.SharedKernel.Aggregate
;
using
System
;
...
...
PSManagement.Domain/
XProjectsTypes/Repositories/IProjectTypesRepository
.cs
→
PSManagement.Domain/
Tracking/DomainErrors/TracksErrror
.cs
View file @
b4370697
using
PSManagement.Domain.ProjectTypes.Entities
;
using
PSManagement.SharedKernel.Repositories
;
using
PSManagement.SharedKernel.DomainErrors
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
PSManagement.Domain.
ProjectTypes.Repositorie
s
namespace
PSManagement.Domain.
Tracking.DomainError
s
{
public
interface
IProjectTypesRepository
:
IRepository
<
ProjectType
>
public
class
TracksErrror
{
public
static
DomainError
InvalidEntryError
{
get
;
}
=
new
(
"TrackError.InvalidEntry."
,
"Invalid Project Data"
);
}
}
PSManagement.Domain/Tracking/DomainEvents/TrackCompleteddEvent.cs
0 → 100644
View file @
b4370697
using
PSManagement.SharedKernel.Events
;
using
System
;
namespace
PSManagement.Domain.Tracking.DomainEvents
{
public
record
TrackCompleteddEvent
(
int
ProjectId
,
int
TrackId
,
DateTime
Date
)
:
IDomainEvent
;
}
PSManagement.Domain/Tracking/DomainEvents/TrackCreatedEvent.cs
0 → 100644
View file @
b4370697
using
PSManagement.SharedKernel.Events
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
PSManagement.Domain.Tracking.DomainEvents
{
public
record
TrackCreatedEvent
(
int
ProjectId
,
DateTime
Date
)
:
IDomainEvent
;
}
PSManagement.Domain/Tracking/Entities/EmployeeTrack.cs
View file @
b4370697
using
PSManagement.Domain.Employees.Entities
;
using
PSManagement.Domain.Tracking.ValueObjects
;
using
PSManagement.SharedKernel.Entities
;
using
System
;
namespace
PSManagement.Domain.Tracking
{
...
...
@@ -10,11 +10,8 @@ namespace PSManagement.Domain.Tracking
public
int
TrackId
{
get
;
set
;
}
public
Employee
Employee
{
get
;
set
;
}
public
Track
Track
{
get
;
set
;
}
public
int
WorkingHours
{
get
;
set
;
}
public
String
PerformedWork
{
get
;
set
;
}
public
String
AssignedWork
{
get
;
set
;
}
//public ICollection<EmployeeWork> EmployeeWorks { get; set; }
public
EmployeeWorkInfo
EmployeeWorkInfo
{
get
;
set
;
}
public
EmployeeWork
EmployeeWork
{
get
;
set
;
}
public
string
Notes
{
get
;
set
;
}
}
}
PSManagement.Domain/Tracking/Entities/EmployeeWork.cs
deleted
100644 → 0
View file @
ebb68b8b
using
PSManagement.Domain.Employees.Entities
;
using
PSManagement.SharedKernel.Entities
;
namespace
PSManagement.Domain.Tracking.Entities
{
public
class
EmployeeWork
:
BaseEntity
{
public
int
EmployeeWorkId
{
get
;
set
;
}
public
int
StepTrackId
{
get
;
set
;
}
public
StepTrack
StepTrack
{
get
;
set
;
}
public
int
EmployeeId
{
get
;
set
;
}
public
Employee
Employee
{
get
;
set
;
}
public
int
HoursWorked
{
get
;
set
;
}
public
string
Notes
{
get
;
set
;
}
public
int
ContributingRatio
{
get
;
set
;
}
}
}
PSManagement.Domain/Tracking/Entities/StepTrack.cs
View file @
b4370697
...
...
@@ -12,9 +12,8 @@ namespace PSManagement.Domain.Tracking.Entities
public
int
TrackId
{
get
;
set
;
}
public
Track
Track
{
get
;
set
;
}
public
String
ExecutionState
{
get
;
set
;
}
public
int
ExecutionRatio
{
get
;
set
;
}
//public ICollection<EmployeeWork> EmployeeWorks { get; set; }
public
StepTrack
()
{
...
...
PSManagement.Domain/Tracking/Entities/Track.cs
View file @
b4370697
using
PSManagement.Domain.Employees.Entities
;
using
PSManagement.Domain.Projects.Entities
;
using
PSManagement.Domain.Tracking.Entities
;
using
PSManagement.Domain.Tracking.ValueObjects
;
using
PSManagement.SharedKernel.Aggregate
;
using
PSManagement.SharedKernel.Entities
;
using
System
;
...
...
@@ -13,9 +14,8 @@ namespace PSManagement.Domain.Tracking
{
public
class
Track
:
BaseEntity
{
public
DateTime
TrackDate
{
get
;
set
;
}
public
bool
IsCompleted
{
get
;
set
;
}
public
String
TrackNote
{
get
;
set
;
}
public
TrackInfo
TrackInfo
{
get
;
set
;
}
public
String
Notes
{
get
;
set
;
}
public
int
ProjectId
{
get
;
set
;
}
public
Project
Project
{
get
;
set
;
}
public
ICollection
<
StepTrack
>
StepTracks
{
get
;
set
;
}
...
...
PSManagement.Domain/Tracking/ValueObjects/EmployeeWork.cs
0 → 100644
View file @
b4370697
namespace
PSManagement.Domain.Tracking.ValueObjects
{
public
record
EmployeeWork
(
int
AssignedWorkingHours
,
int
WorkedHours
,
int
ContributingRatio
);
}
PSManagement.Domain/Tracking/ValueObjects/EmployeeWorkInfo.cs
0 → 100644
View file @
b4370697
using
System
;
namespace
PSManagement.Domain.Tracking.ValueObjects
{
public
record
EmployeeWorkInfo
(
string
AssignedWork
,
string
PerformedWork
,
DateTime
AssignedWorkEnd
);
}
PSManagement.Domain/Tracking/ValueObjects/TrackInfo.cs
0 → 100644
View file @
b4370697
using
System
;
namespace
PSManagement.Domain.Tracking.ValueObjects
{
public
record
TrackInfo
(
DateTime
TrackDate
,
bool
IsCompleted
,
string
StatusDescription
);
}
PSManagement.Domain/XProjectsTypes/Entities/ProjectType.cs
deleted
100644 → 0
View file @
ebb68b8b
using
PSManagement.Domain.Projects.Entities
;
using
PSManagement.SharedKernel.Aggregate
;
using
PSManagement.SharedKernel.Entities
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
PSManagement.Domain.ProjectTypes.Entities
{
public
class
ProjectType
:
BaseEntity
{
public
string
TypeName
{
get
;
set
;
}
public
string
Description
{
get
;
set
;
}
public
int
WorkerCount
{
get
;
set
;
}
public
ICollection
<
Project
>
Projects
{
get
;
set
;
}
}
}
PSManagement.Domain/Reports/Entities/Report.cs
→
PSManagement.Domain/
X
Reports/Entities/Report.cs
View file @
b4370697
File moved
PSManagement.Infrastructure.Persistence/DI/DependencyInjection.cs
View file @
b4370697
...
...
@@ -8,11 +8,13 @@ using PSManagement.Domain.FinincialSpending.Repositories;
using
PSManagement.Domain.Identity.Repositories
;
using
PSManagement.Domain.Projects.Builders
;
using
PSManagement.Domain.Projects.Repositories
;
using
PSManagement.Domain.Steps.Repositories
;
using
PSManagement.Infrastructure.Persistence.Repositories.Base
;
using
PSManagement.Infrastructure.Persistence.Repositories.CustomerRepository
;
using
PSManagement.Infrastructure.Persistence.Repositories.EmployeeRepository
;
using
PSManagement.Infrastructure.Persistence.Repositories.ProjectRepository
;
using
PSManagement.Infrastructure.Persistence.Repositories.StepRepository
;
using
PSManagement.Infrastructure.Persistence.Repositories.TrackRepository
;
using
PSManagement.Infrastructure.Persistence.Repositories.UserRepository
;
using
PSManagement.Infrastructure.Persistence.UoW
;
using
PSManagement.SharedKernel.Interfaces
;
...
...
@@ -36,7 +38,7 @@ namespace PSManagement.Infrastructure.Persistence.DI
services
.
AddScoped
<
IEmployeesRepository
,
EmployeesRespository
>();
services
.
AddScoped
<
IStepsRepository
,
StepsRepository
>();
services
.
AddScoped
<
IFinancialSpendingRepository
,
FinancialSpendingRepository
>();
services
.
AddScoped
<
ITracksRepository
,
TracksRepository
>();
services
.
AddScoped
<
ProjectBuilder
>();
services
.
AddScoped
(
typeof
(
IRepository
<>),
typeof
(
BaseRepository
<>));
...
...
PSManagement.Infrastructure.Persistence/EntitiesConfiguration/TrackEntityConfiguration.cs
View file @
b4370697
...
...
@@ -9,10 +9,7 @@ namespace PSManagement.Infrastructure.Persistence.EntitiesConfiguration
IEntityTypeConfiguration
<
Track
>
,
IEntityTypeConfiguration
<
StepTrack
>,
IEntityTypeConfiguration
<
EmployeeTrack
>
//,
//IEntityTypeConfiguration<EmployeeWork>
{
public
void
Configure
(
EntityTypeBuilder
<
Track
>
builder
)
{
...
...
@@ -23,16 +20,15 @@ namespace PSManagement.Infrastructure.Persistence.EntitiesConfiguration
.
OnDelete
(
DeleteBehavior
.
Restrict
);
builder
.
Ignore
(
e
=>
e
.
TrackedEmployees
);
//builder.HasMany(e => e.TrackedEmployees)
// .WithMany(e => e.trac)
// .UsingEntity<EmployeeParticipate>(
// l => l.HasOne<Employee>(e => e.Employee)
// .WithMany(e => e.EmployeeParticipates)
// .HasForeignKey(e => e.EmployeeId),
// r => r.HasOne<Project>(e => e.Project)
// .WithMany(e => e.EmployeeParticipates)
// .HasForeignKey(e => e.ProjectId)
// );
builder
.
OwnsOne
(
e
=>
e
.
TrackInfo
,
p
=>
{
p
.
Property
(
e
=>
e
.
IsCompleted
).
HasColumnName
(
"IsCompleted"
).
HasDefaultValue
(
false
);
p
.
Property
(
e
=>
e
.
StatusDescription
).
HasColumnName
(
"StatusDescription"
);
p
.
Property
(
e
=>
e
.
TrackDate
).
HasColumnName
(
"TrackDate"
);
});
}
public
void
Configure
(
EntityTypeBuilder
<
StepTrack
>
builder
)
{
...
...
@@ -56,23 +52,24 @@ namespace PSManagement.Infrastructure.Persistence.EntitiesConfiguration
.
WithMany
(
s
=>
s
.
EmployeeTracks
)
.
HasForeignKey
(
st
=>
st
.
EmloyeeId
)
;
}
//public void Configure(EntityTypeBuilder<EmployeeWork> builder)
//{
// //builder.HasOne(ew => ew.StepTrack)
// //.WithMany(st => st.EmployeeWorks)
// //.HasForeignKey(ew => ew.StepTrackId)
// // .OnDelete(DeleteBehavior.Restrict); ;
builder
.
OwnsOne
(
e
=>
e
.
EmployeeWorkInfo
,
p
=>
{
p
.
Property
(
e
=>
e
.
AssignedWork
).
HasColumnName
(
"AssignedWork"
);
p
.
Property
(
e
=>
e
.
AssignedWorkEnd
).
HasColumnName
(
"AssignedWorkEnd"
);
p
.
Property
(
e
=>
e
.
PerformedWork
).
HasColumnName
(
"PerformedWork"
);
});
builder
.
OwnsOne
(
e
=>
e
.
EmployeeWork
,
p
=>
{
p
.
Property
(
e
=>
e
.
ContributingRatio
).
HasColumnName
(
"ContributingRatio"
);
p
.
Property
(
e
=>
e
.
WorkedHours
).
HasColumnName
(
"WorkedHours"
);
p
.
Property
(
e
=>
e
.
AssignedWorkingHours
).
HasColumnName
(
"AssignedWorkingHours"
);
// builder.HasOne(ew => ew.Employee)
// .WithMany(e => e.EmployeeWorks)
// .HasForeignKey(ew => ew.EmployeeId)
// .OnDelete(DeleteBehavior.Restrict); ;
});
}
//}
}
}
PSManagement.Infrastructure.Persistence/Migrations/20240816080412_UpdateTrackDomain.Designer.cs
0 → 100644
View file @
b4370697
This diff is collapsed.
Click to expand it.
PSManagement.Infrastructure.Persistence/Migrations/20240816080412_UpdateTrackDomain.cs
0 → 100644
View file @
b4370697
using
System
;
using
Microsoft.EntityFrameworkCore.Migrations
;
namespace
PSManagement.Infrastructure.Persistence.Migrations
{
public
partial
class
UpdateTrackDomain
:
Migration
{
protected
override
void
Up
(
MigrationBuilder
migrationBuilder
)
{
migrationBuilder
.
DropColumn
(
name
:
"WorkingHours"
,
table
:
"EmployeeTrack"
);
migrationBuilder
.
RenameColumn
(
name
:
"TrackNote"
,
table
:
"Tracks"
,
newName
:
"StatusDescription"
);
migrationBuilder
.
AlterColumn
<
DateTime
>(
name
:
"TrackDate"
,
table
:
"Tracks"
,
type
:
"datetime2"
,
nullable
:
true
,
oldClrType
:
typeof
(
DateTime
),
oldType
:
"datetime2"
);
migrationBuilder
.
AlterColumn
<
bool
>(
name
:
"IsCompleted"
,
table
:
"Tracks"
,
type
:
"bit"
,
nullable
:
true
,
defaultValue
:
false
,
oldClrType
:
typeof
(
bool
),
oldType
:
"bit"
);
migrationBuilder
.
AddColumn
<
string
>(
name
:
"Notes"
,
table
:
"Tracks"
,
type
:
"nvarchar(max)"
,
nullable
:
true
);
migrationBuilder
.
AddColumn
<
string
>(
name
:
"ExecutionState"
,
table
:
"StepTracks"
,
type
:
"nvarchar(max)"
,
nullable
:
true
);
migrationBuilder
.
AddColumn
<
DateTime
>(
name
:
"AssignedWorkEnd"
,
table
:
"EmployeeTrack"
,
type
:
"datetime2"
,
nullable
:
true
);
migrationBuilder
.
AddColumn
<
int
>(
name
:
"AssignedWorkingHours"
,
table
:
"EmployeeTrack"
,
type
:
"int"
,
nullable
:
true
);
migrationBuilder
.
AddColumn
<
int
>(
name
:
"ContributingRatio"
,
table
:
"EmployeeTrack"
,
type
:
"int"
,
nullable
:
true
);
migrationBuilder
.
AddColumn
<
string
>(
name
:
"Notes"
,
table
:
"EmployeeTrack"
,
type
:
"nvarchar(max)"
,
nullable
:
true
);
migrationBuilder
.
AddColumn
<
int
>(
name
:
"WorkedHours"
,
table
:
"EmployeeTrack"
,
type
:
"int"
,
nullable
:
true
);
}
protected
override
void
Down
(
MigrationBuilder
migrationBuilder
)
{
migrationBuilder
.
DropColumn
(
name
:
"Notes"
,
table
:
"Tracks"
);
migrationBuilder
.
DropColumn
(
name
:
"ExecutionState"
,
table
:
"StepTracks"
);
migrationBuilder
.
DropColumn
(
name
:
"AssignedWorkEnd"
,
table
:
"EmployeeTrack"
);
migrationBuilder
.
DropColumn
(
name
:
"AssignedWorkingHours"
,
table
:
"EmployeeTrack"
);
migrationBuilder
.
DropColumn
(
name
:
"ContributingRatio"
,
table
:
"EmployeeTrack"
);
migrationBuilder
.
DropColumn
(
name
:
"Notes"
,
table
:
"EmployeeTrack"
);
migrationBuilder
.
DropColumn
(
name
:
"WorkedHours"
,
table
:
"EmployeeTrack"
);
migrationBuilder
.
RenameColumn
(
name
:
"StatusDescription"
,
table
:
"Tracks"
,
newName
:
"TrackNote"
);
migrationBuilder
.
AlterColumn
<
DateTime
>(
name
:
"TrackDate"
,
table
:
"Tracks"
,
type
:
"datetime2"
,
nullable
:
false
,
defaultValue
:
new
DateTime
(
1
,
1
,
1
,
0
,
0
,
0
,
0
,
DateTimeKind
.
Unspecified
),
oldClrType
:
typeof
(
DateTime
),
oldType
:
"datetime2"
,
oldNullable
:
true
);
migrationBuilder
.
AlterColumn
<
bool
>(
name
:
"IsCompleted"
,
table
:
"Tracks"
,
type
:
"bit"
,
nullable
:
false
,
defaultValue
:
false
,
oldClrType
:
typeof
(
bool
),
oldType
:
"bit"
,
oldNullable
:
true
,
oldDefaultValue
:
false
);
migrationBuilder
.
AddColumn
<
int
>(
name
:
"WorkingHours"
,
table
:
"EmployeeTrack"
,
type
:
"int"
,
nullable
:
false
,
defaultValue
:
0
);
}
}
}
PSManagement.Infrastructure.Persistence/Migrations/AppDbContextModelSnapshot.cs
View file @
b4370697
...
...
@@ -435,21 +435,15 @@ namespace PSManagement.Infrastructure.Persistence.Migrations
.
HasColumnType
(
"int"
)
.
HasAnnotation
(
"SqlServer:ValueGenerationStrategy"
,
SqlServerValueGenerationStrategy
.
IdentityColumn
);
b
.
Property
<
string
>(
"AssignedWork"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
int
>(
"EmloyeeId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
string
>(
"
PerformedWork
"
)
b
.
Property
<
string
>(
"
Notes
"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
int
>(
"TrackId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
>(
"WorkingHours"
)
.
HasColumnType
(
"int"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"EmloyeeId"
);
...
...
@@ -469,6 +463,9 @@ namespace PSManagement.Infrastructure.Persistence.Migrations
b
.
Property
<
int
>(
"ExecutionRatio"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
string
>(
"ExecutionState"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
int
>(
"StepId"
)
.
HasColumnType
(
"int"
);
...
...
@@ -491,18 +488,12 @@ namespace PSManagement.Infrastructure.Persistence.Migrations
.
HasColumnType
(
"int"
)
.
HasAnnotation
(
"SqlServer:ValueGenerationStrategy"
,
SqlServerValueGenerationStrategy
.
IdentityColumn
);
b
.
Property
<
bool
>(
"IsCompleted
"
)
.
HasColumnType
(
"
bit
"
);
b
.
Property
<
string
>(
"Notes
"
)
.
HasColumnType
(
"
nvarchar(max)
"
);
b
.
Property
<
int
>(
"ProjectId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
DateTime
>(
"TrackDate"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
string
>(
"TrackNote"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"ProjectId"
);
...
...
@@ -1019,8 +1010,66 @@ namespace PSManagement.Infrastructure.Persistence.Migrations
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
b
.
OwnsOne
(
"PSManagement.Domain.Tracking.ValueObjects.EmployeeWork"
,
"EmployeeWork"
,
b1
=>
{
b1
.
Property
<
int
>(
"EmployeeTrackId"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
)
.
HasAnnotation
(
"SqlServer:ValueGenerationStrategy"
,
SqlServerValueGenerationStrategy
.
IdentityColumn
);
b1
.
Property
<
int
>(
"AssignedWorkingHours"
)
.
HasColumnType
(
"int"
)
.
HasColumnName
(
"AssignedWorkingHours"
);
b1
.
Property
<
int
>(
"ContributingRatio"
)
.
HasColumnType
(
"int"
)
.
HasColumnName
(
"ContributingRatio"
);
b1
.
Property
<
int
>(
"WorkedHours"
)
.
HasColumnType
(
"int"
)
.
HasColumnName
(
"WorkedHours"
);
b1
.
HasKey
(
"EmployeeTrackId"
);
b1
.
ToTable
(
"EmployeeTrack"
);
b1
.
WithOwner
()
.
HasForeignKey
(
"EmployeeTrackId"
);
});
b
.
OwnsOne
(
"PSManagement.Domain.Tracking.ValueObjects.EmployeeWorkInfo"
,
"EmployeeWorkInfo"
,
b1
=>
{
b1
.
Property
<
int
>(
"EmployeeTrackId"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
)
.
HasAnnotation
(
"SqlServer:ValueGenerationStrategy"
,
SqlServerValueGenerationStrategy
.
IdentityColumn
);
b1
.
Property
<
string
>(
"AssignedWork"
)
.
HasColumnType
(
"nvarchar(max)"
)
.
HasColumnName
(
"AssignedWork"
);
b1
.
Property
<
DateTime
>(
"AssignedWorkEnd"
)
.
HasColumnType
(
"datetime2"
)
.
HasColumnName
(
"AssignedWorkEnd"
);
b1
.
Property
<
string
>(
"PerformedWork"
)
.
HasColumnType
(
"nvarchar(max)"
)
.
HasColumnName
(
"PerformedWork"
);
b1
.
HasKey
(
"EmployeeTrackId"
);
b1
.
ToTable
(
"EmployeeTrack"
);
b1
.
WithOwner
()
.
HasForeignKey
(
"EmployeeTrackId"
);
});
b
.
Navigation
(
"Employee"
);
b
.
Navigation
(
"EmployeeWork"
);
b
.
Navigation
(
"EmployeeWorkInfo"
);
b
.
Navigation
(
"Track"
);
});
...
...
@@ -1051,7 +1100,38 @@ namespace PSManagement.Infrastructure.Persistence.Migrations
.
OnDelete
(
DeleteBehavior
.
Restrict
)
.
IsRequired
();
b
.
OwnsOne
(
"PSManagement.Domain.Tracking.ValueObjects.TrackInfo"
,
"TrackInfo"
,
b1
=>
{
b1
.
Property
<
int
>(
"TrackId"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
)
.
HasAnnotation
(
"SqlServer:ValueGenerationStrategy"
,
SqlServerValueGenerationStrategy
.
IdentityColumn
);
b1
.
Property
<
bool
>(
"IsCompleted"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"bit"
)
.
HasDefaultValue
(
false
)
.
HasColumnName
(
"IsCompleted"
);
b1
.
Property
<
string
>(
"StatusDescription"
)
.
HasColumnType
(
"nvarchar(max)"
)
.
HasColumnName
(
"StatusDescription"
);
b1
.
Property
<
DateTime
>(
"TrackDate"
)
.
HasColumnType
(
"datetime2"
)
.
HasColumnName
(
"TrackDate"
);
b1
.
HasKey
(
"TrackId"
);
b1
.
ToTable
(
"Tracks"
);
b1
.
WithOwner
()
.
HasForeignKey
(
"TrackId"
);
});
b
.
Navigation
(
"Project"
);
b
.
Navigation
(
"TrackInfo"
);
});
modelBuilder
.
Entity
(
"PermissionRole"
,
b
=>
...
...
PSManagement.Infrastructure.Persistence/Repositories/EmployeeRepository/EmployeesRespository.cs
View file @
b4370697
using
PSManagement.Domain.Employees.Entities
;
using
PSManagement.Domain.Employees.Repositories
;
using
PSManagement.Domain.FinincialSpending.Repositories
;
using
PSManagement.Infrastructure.Persistence.Repositories.Base
;
namespace
PSManagement.Infrastructure.Persistence.Repositories.EmployeeRepository
...
...
@@ -10,4 +11,5 @@ namespace PSManagement.Infrastructure.Persistence.Repositories.EmployeeRepositor
{
}
}
}
PSManagement.Infrastructure.Persistence/Repositories/TrackRepository/TracksRepository.cs
0 → 100644
View file @
b4370697
using
PSManagement.Domain.Steps.Repositories
;
using
PSManagement.Domain.Tracking
;
using
PSManagement.Infrastructure.Persistence.Repositories.Base
;
namespace
PSManagement.Infrastructure.Persistence.Repositories.TrackRepository
{
public
class
TracksRepository
:
BaseRepository
<
Track
>,
ITracksRepository
{
public
TracksRepository
(
AppDbContext
context
)
:
base
(
context
)
{
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment