public Project CreateProject(string projectName, string userName) { //Todo: Lock für Writer; wäre schlecht wenn das 2 Clients/Threads gleichzeitig machen. if (!IsValidName(projectName)) { throw new InvalidOperationException("Project name is invalid");//Todo: Etwas heftig hier eine Exception zu werfen. Das muss anders gehen... } var newProjectDetails = new ProjectDetail() { CreatedBy = userName, CreationDate = DateTime.Now, Name = projectName, }; var project = new Project(IdGenerator.GetNextId(), newProjectDetails); _projects.Add(project); _sourceCache.AddOrUpdate(project); return(project); }
public Project(int id, ProjectDetail projectDetail) { ProjectDetail = projectDetail; Id = id; }