/// <summary> /// Create a new List with new instances of Projects. /// </summary> /// <param name="context"></param> /// <param name="startId"></param> /// <param name="count"></param> /// <param name="agency"></param> /// <param name="workflowStatus"></param> /// <param name="risk"></param> /// <returns></returns> public static List <Entity.Project> CreateProjects(this PimsContext context, int startId, int count, Entity.Agency agency = null, Entity.WorkflowProjectStatus workflowStatus = null, Entity.ProjectRisk risk = null) { agency ??= context.Agencies.FirstOrDefault(a => a.Id == 1) ?? EntityHelper.CreateAgency(startId); risk ??= context.ProjectRisks.FirstOrDefault() ?? EntityHelper.CreateProjectRisk(1, "risk", "risk", 1); workflowStatus ??= context.WorkflowProjectStatus.FirstOrDefault(ws => ws.WorkflowId == 1 && ws.StatusId == 1); if (workflowStatus == null) { var status = workflowStatus?.Status ?? EntityHelper.CreateProjectStatus("Draft", "DR"); var workflow = workflowStatus?.Workflow ?? EntityHelper.CreateWorkflow(startId, "Submit", "SUBMIT-DISPOSAL", new[] { status }); workflowStatus ??= workflow.Status.First(); } var projects = new List <Entity.Project>(count); for (var i = startId; i < (startId + count); i++) { projects.Add(context.CreateProject(i, agency, workflowStatus, risk)); } return(projects); }
/// <summary> /// Create a new instance of a Project. /// </summary> /// <param name="context"></param> /// <param name="id"></param> /// <param name="agency"></param> /// <returns></returns> public static Entity.Project CreateProject(this PimsContext context, int id, int agencyId) { var agency = context.Agencies.Find(agencyId) ?? EntityHelper.CreateAgency(agencyId); return(context.CreateProject(id, agency)); }