Commit 0c387bd4 authored by hasan khaddour's avatar hasan khaddour

Update Domains

parent 4ac73670
using PSManagement.Domain.Customers.DomainEvents;
using PSManagement.Domain.Customers.Entities;
using PSManagement.Domain.Customers.ValueObjects;
using PSManagement.Domain.Projects.Aggregate;
using PSManagement.Domain.Projects.Entities;
using PSManagement.SharedKernel.Aggregate;
using System;
using System.Collections.Generic;
......
using PSManagement.Domain.Identity.Entities;
using PSManagement.Domain.Projects.Aggregate;
using PSManagement.Domain.Projects.Entities;
using PSManagement.Domain.Tracking;
using PSManagement.Domain.Tracking.Entities;
......@@ -19,6 +18,8 @@ namespace PSManagement.Domain.Employees.Entities
public int UserId { get; set; }
public User User { get; set; }
public PersonalInfo PersonalInfo { get; set; }
public WorkInfo WorkInfo { get; set; }
public ICollection<Project> Projects { get; set; }
public ICollection<EmployeeTrack> EmployeeTracks { get; set; }
......@@ -36,5 +37,8 @@ namespace PSManagement.Domain.Employees.Entities
HIASTId = hiastId;
}
}
public record WorkInfo (
String WorkType ,
String WorkJob
);
}
using PSManagement.SharedKernel.Entities;
using PSManagement.SharedKernel.ValueObjects;
using System;
namespace PSManagement.Domain.Projects.Entities
{
public class FinincialSpending: BaseEntity
{
public String CostType { get; set; }
public String Description { get; set; }
public Money LocalPurchase { get; set; }
public Money ExternalPurchase { get; set; }
}
}
namespace PSManagement.Domain.FinincialSpending.Repositories
{
public interface IFinicialSpendingRepository
{
}
}
using System;
using PSManagement.SharedKernel.Entities;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
namespace PSManagement.Domain.Identity.Entities
{
public class Role {
[Key]
public int Id { get; set; }
public class Role :BaseEntity {
public String Name { get; set; }
public ICollection<Permission> Permissions { get; set; }
public ICollection<User> Users { get; set; }
......
......@@ -7,6 +7,8 @@
<ItemGroup>
<Folder Include="Identity\ValueObjects\" />
<Folder Include="Projects\DomainErrors\" />
<Folder Include="Reports\Entities\" />
<Folder Include="Reports\Repositories\" />
</ItemGroup>
<ItemGroup>
......
using PSManagement.Domain.Employees.Entities;
using PSManagement.Domain.Projects.Aggregate;
using PSManagement.SharedKernel.Entities;
using System;
......
using PSManagement.Domain.Customers.Aggregate;
using PSManagement.Domain.Employees.Entities;
using PSManagement.Domain.Projects.Entities;
using PSManagement.Domain.Projects.ValueObjects;
using PSManagement.Domain.ProjectsStatus.Entites;
using PSManagement.Domain.ProjectTypes.Entities;
using PSManagement.Domain.Steps.Entities;
using PSManagement.Domain.Tracking;
using PSManagement.SharedKernel.Aggregate;
using PSManagement.SharedKernel.ValueObjects;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PSManagement.Domain.Projects.Aggregate
namespace PSManagement.Domain.Projects.Entities
{
public class Project : IAggregateRoot
{
// information about the project itself
public ProposalInfo ProposalInfo { get; set; }
public ProjectInfo ProjectInfo { get; set; }
//public ProjectType ProjectType { get; set; }
public ProjectStatus ProjectStatus { get; set; }
public Aggreement ProjectAggreement { get; set; }
......@@ -27,31 +26,47 @@ namespace PSManagement.Domain.Projects.Aggregate
public Employee TeamLeader { get; set; }
public int ProjectManagerId { get; set; }
public Employee ProjectManager { get; set; }
public int ExecuterId { get; set; }
public Department Executer { get; set; }
// the proposer of the project
public int ProposerId { get; private set; }
public Customer Proposer { get; set; }
//
public ICollection<Step> Steps { get; set; }
public ICollection<Employee> Participants { get; set; }
public ICollection<Employee> Participants { get; set; }
public ICollection<Attachment> Attachments { get; set; }
// finincial plan
public FinincialFund FinincialFund { get; set; }
public ICollection<FinincialSpending> FinincialSpending { get; set; }
public ICollection<EmployeeParticipate> EmployeeParticipates { get; set; }
public ICollection<Track> Tracks { get; set; }
public Project(
ProposalInfo proposalInfo,
ProjectInfo projectInfo,
Aggreement projectAggreement,
int proposerId,
int teamLeaderId,
int projectManagerId,
int executerId)
{
ProposalInfo = proposalInfo;
ProjectInfo = projectInfo;
ProjectAggreement = projectAggreement;
TeamLeaderId = teamLeaderId;
ProjectManagerId = projectManagerId;
ExecuterId = executerId;
ProposerId = proposerId;
}
public Project()
{
}
}
public record FinincialFund (
string FinicialStatus,
string Source
);
}
using PSManagement.Domain.Employees.Entities;
using PSManagement.Domain.Projects.Aggregate;
using PSManagement.Domain.Tracking;
using PSManagement.Domain.Tracking.Entities;
using PSManagement.SharedKernel.Aggregate;
......@@ -10,7 +9,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PSManagement.Domain.Steps.Entities
namespace PSManagement.Domain.Projects.Entities
{
public class Step : BaseEntity
{
......
using PSManagement.Domain.Steps.Entities;
using PSManagement.Domain.Projects.Entities;
using PSManagement.SharedKernel.Repositories;
using System;
using System.Collections.Generic;
......@@ -6,7 +6,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PSManagement.Domain.Steps.Repositories
namespace PSManagement.Domain.Projects.Repositories
{
public interface IStepsRepository : IRepository<Step>
{
......
using System;
namespace PSManagement.Domain.Projects.Aggregate
namespace PSManagement.Domain.Projects.ValueObjects
{
public record Aggreement (
int AggreementNumber ,
DateTime AggreementDate
public record Aggreement(
int AggreementNumber,
DateTime AggreementDate
);
}
namespace PSManagement.Domain.Projects.ValueObjects
{
public record FinincialFund(
string FinicialStatus,
string Source
);
}
using System;
namespace PSManagement.Domain.Projects.Aggregate
namespace PSManagement.Domain.Projects.ValueObjects
{
public record ProjectInfo(
String Name ,
String Code ,
String Description
string Name,
string Code,
string Description
);
}
using PSManagement.Domain.Customers.Aggregate;
using System;
namespace PSManagement.Domain.Projects.Aggregate
namespace PSManagement.Domain.Projects.ValueObjects
{
public record ProposalInfo (
int ProposingBookNumber ,
public record ProposalInfo(
int ProposingBookNumber,
DateTime ProposingBookDate
);
......
using PSManagement.SharedKernel.Entities;
namespace PSManagement.Domain.Projects.Entities
namespace PSManagement.Domain.ProjectsStatus.Entites
{
public class ProjectStatus : BaseEntity
{
......
using PSManagement.Domain.Projects.Entities;
using PSManagement.Domain.ProjectsStatus.Entites;
using PSManagement.SharedKernel.Repositories;
namespace PSManagement.Domain.Projects.Repositories
namespace PSManagement.Domain.ProjectsStatus.Repositories
{
public interface IProjectStatusRepository : IRepository<ProjectStatus>
{
}
}
using PSManagement.Domain.Projects.Aggregate;
using PSManagement.Domain.Projects.Entities;
using PSManagement.SharedKernel.Aggregate;
using PSManagement.SharedKernel.Entities;
using System;
......
using PSManagement.SharedKernel.Entities;
using PSManagement.SharedKernel.ValueObjects;
using System;
namespace PSManagement.Domain.Steps.Entities
{
public class Item : BaseEntity
{
public string ItemName { get; set; }
public string ItemDescription { get; set; }
public Money Price { get; set; }
public Item()
{
}
}
}
using PSManagement.Domain.Steps.Entities;
using PSManagement.Domain.Projects.Entities;
using PSManagement.SharedKernel.Entities;
using System.Collections.Generic;
......
using PSManagement.Domain.Employees.Entities;
using PSManagement.Domain.Projects.Aggregate;
using PSManagement.Domain.Steps.Entities;
using PSManagement.Domain.Projects.Entities;
using PSManagement.Domain.Tracking.Entities;
using PSManagement.SharedKernel.Aggregate;
using PSManagement.SharedKernel.Entities;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment