示例#1
0
        public static Project From(EntityId id, ProjectName name, ProjectCode code, DateAndTime startDate, Money budget, EntityId clientId, Email owner, ProjectStatus status, ServiceOrderNumber orderNumber, Version version)
        {
            var project   = new Project(id, name, code, startDate, budget, clientId, owner, status, orderNumber, version);
            var validator = new ProjectValidator();

            project.SetValidationResult(validator.Validate(project));
            return(project);
        }
示例#2
0
        public static ProjectCode From(string code)
        {
            var projectCode = new ProjectCode(code);
            var validator   = new ProjectCodeValidator();

            projectCode.SetValidationResult(validator.Validate(projectCode));

            return(projectCode);
        }
示例#3
0
 private Project(EntityId id, ProjectName name, ProjectCode code, DateAndTime startDate
                 , Money budget, EntityId clientId, Email owner, ProjectStatus status
                 , ServiceOrderNumber orderNumber, Version currentVersion)
 {
     Id          = id;
     Name        = name;
     Code        = code;
     StartDate   = startDate;
     ClientId    = clientId;
     Budget      = budget;
     Status      = status;
     OrderNumber = orderNumber;
     Owner       = owner;
     Version     = currentVersion;
 }
示例#4
0
 public static Project NewRequest(EntityId id, ProjectName name, ProjectCode code, DateAndTime startDate, Money budget, EntityId clientId)
 {
     return(From(id, name, code, startDate, budget, clientId, Email.Empty(), ProjectStatus.Default(), ServiceOrderNumber.Empty(), Version.New()));
 }
示例#5
0
 public static Project Empty()
 {
     return(From(EntityId.Empty(), ProjectName.Empty(), ProjectCode.Empty(), DateAndTime.Empty(), Money.Zero(),
                 EntityId.Empty(), Email.Empty(), ProjectStatus.Default(), ServiceOrderNumber.Empty(),
                 Version.Empty()));
 }