public string CreateProject(Project newProject, Guid[] team, string milestones, string noAssignTasks, bool notifyManager, bool notifyResponsibles) { if (ProjectSecurity.CanCreateProject()) { if (newProject != null) { Global.EngineFactory.GetProjectEngine().SaveOrUpdate(newProject, notifyManager); Global.EngineFactory.GetProjectEngine().AddToTeam(newProject,Global.EngineFactory.GetParticipantEngine().GetByID(newProject.Responsible), true); //add team foreach (var participant in team.Where(participant => participant != Guid.Empty)) { Global.EngineFactory.GetProjectEngine().AddToTeam(newProject, Global.EngineFactory.GetParticipantEngine().GetByID(participant), true); } // add milestone var listMilestones = MilestoneParser(milestones); foreach (var milestone in listMilestones) { var milestoneTasks = TaskParser(milestone.Description); milestone.Description = string.Empty; milestone.Project = newProject; Global.EngineFactory.GetMilestoneEngine().SaveOrUpdate(milestone, notifyResponsibles); foreach (var task in milestoneTasks) { task.Status = TaskStatus.Open; task.Milestone = milestone.ID; task.Project = newProject; Global.EngineFactory.GetTaskEngine().SaveOrUpdate(task, null, notifyResponsibles); } } //add no assign tasks var listTasks = TaskParser(noAssignTasks); foreach (var task in listTasks) { task.Project = newProject; task.Status = TaskStatus.Open; Global.EngineFactory.GetTaskEngine().SaveOrUpdate(task, null, notifyResponsibles); } return "?prjID=" + newProject.ID; } } return string.Empty; }
Guid[] RemoveSourceCCAppId(Guid[] allIds, ICommand command) { if (command.CommandGeneratedByCostCentreApplicationId == Guid.Empty) return allIds; return allIds .Where(n => n != command.CommandGeneratedByCostCentreApplicationId) .Distinct() .ToArray(); }
public void ValidateOutput(string[] cprNumbers, Guid?[] objectIds) { Assert.IsNotNull(objectIds, "Return value is null"); Assert.AreEqual(cprNumbers.Length, objectIds.Length, "Return value length does not equal input length"); foreach (var uuid in objectIds) { Assert.AreNotEqual(Guid.Empty, uuid, "UUID is empty"); Assert.AreEqual(1, objectIds.Where((id) => id == uuid).Count(), "Repeated UUID : " + uuid.ToString()); } }