public void Initialize() { var user1 = new User {ID = 1}; var user2 = new User {ID = 2}; var user3 = new User {ID = 2}; _users = new List<User> {user1, user2, user3}; _users2 = new List<User> {user1}; var dataField1 = new DataField { UserData = new List<UserData>() }; var dataField2 = new DataField { UserData = new List<UserData>() }; var dataField3 = new DataField { UserData = new List<UserData>() }; var task1 = new StudyTask { DataFields = new List<DataField> {dataField1, dataField2}, Users = new List<User>() }; var task2 = new StudyTask { DataFields = new List<DataField> {dataField3}, Users = new List<User>() }; _tasks = new List<StudyTask> {task1, task2}; }
/// <summary> /// Generate review tasks for every item /// </summary> /// <param name="item">item to generate a task for</param> /// <param name="criteria">lsit of criteria for a task to meet</param> /// <returns></returns> public StudyTask GenerateReviewTask(Item item, List<Criteria> criteria) { var task = new StudyTask { Paper = item, TaskType = StudyTask.Type.Review, DataFields = new List<DataField>(), Users = new List<User>() }; foreach (var criterion in criteria) { //Trying to parse data from the bib item var data = new StoredString {Value = item.FindFieldValue(criterion.Name)}; var dataField = new DataField { Description = criterion.Description, FieldType = criterion.DataType, Name = criterion.Name, UserData = new List<UserData> {new UserData {Data = new List<StoredString> {data}}} }; if (criterion.DataType == DataField.DataType.Enumeration || criterion.DataType == DataField.DataType.Flags) { dataField.TypeInfo = new List<StoredString>(); foreach (var s in criterion.TypeInfo) { dataField.TypeInfo.Add(s); } } //Check if the information was found in the bib item, if yes the task is finished. task.IsEditable = data.Value == null; task.DataFields.Add(dataField); } return task; }
/// <summary> /// Generate validation task for every conflicting task /// </summary> /// <param name="conflictingTask">study task in conflict</param> /// <returns></returns> public StudyTask GenerateValidateTasks(StudyTask conflictingTask) { var task = new StudyTask { Paper = conflictingTask.Paper, TaskType = StudyTask.Type.Conflict, DataFields = new List<DataField>(), IsEditable = true, Users = new List<User>() }; foreach (var dataField in conflictingTask.DataFields) { var newDataField = new DataField { Description = dataField.Description, FieldType = dataField.FieldType, Name = dataField.Name, UserData = new List<UserData>(), ConflictingData = new List<UserData>() }; foreach (var userData in dataField.UserData) { newDataField.ConflictingData.Add(userData); } task.DataFields.Add(newDataField); var datacount = dataField.UserData.ToArray(); } return task; }
public void InitializeTests() { var user1 = new User {ID = 1}; var user2 = new User {ID = 2}; var team1 = new Team {Users = new List<User> {user1, user2}}; var dataString1 = new StoredString {Value = "someData"}; var datastring2 = new StoredString {Value = "someOtherData"}; var nullString = new StoredString {Value = null}; var userData1 = new UserData {UserId = 1, Data = new List<StoredString> {dataString1, datastring2}}; var userData2 = new UserData {UserId = 2, Data = new List<StoredString> {nullString, nullString}}; var userData3 = new UserData {UserId = 2, Data = new List<StoredString> {dataString1, datastring2}}; var userData4 = new UserData {UserId = 1, Data = new List<StoredString> {nullString, nullString}}; var dataField = new DataField {UserData = new List<UserData> {userData1, userData3}}; var dataField2 = new DataField {UserData = new List<UserData> {userData2, userData4}}; var task1 = new StudyTask { DataFields = new List<DataField> {dataField}, Users = new List<User> {user1, user2} }; var task2 = new StudyTask { DataFields = new List<DataField> {dataField2}, Users = new List<User> {user1, user2} }; var userstudy1 = new UserStudies {User = user1}; var userstudy2 = new UserStudies {User = user2}; var stage1 = new Stage { Name = "stage1", IsCurrentStage = true, ID = 1, Users = new List<UserStudies> {userstudy1, userstudy2}, Tasks = new List<StudyTask> {task1, task2} }; var stage2 = new Stage { Name = "stage2", IsCurrentStage = false, ID = 2, Users = new List<UserStudies> {userstudy1, userstudy2}, Tasks = new List<StudyTask> {task1, task2} }; _id = 1; _mockStudyRepo = new Mock<IGenericRepository>(); _testStudy = new Study { ID = 1, IsFinished = false, Items = new List<Item>(), Stages = new List<Stage> {stage1, stage2}, Team = team1 }; _studies = new Dictionary<int, Study> {{1, _testStudy}}; _testStudyStorageManager = new StudyStorageManager(_mockStudyRepo.Object); _testController = new StudyOverview(_testStudyStorageManager, _testTaskStorageManager); // Read item _mockStudyRepo.Setup(r => r.Read<Study>(It.IsAny<int>())) .Returns<int>(id => _studies.First(e => e.Key == id).Value); // Read items _mockStudyRepo.Setup(r => r.Read<Study>()).Returns(_studies.Values.AsQueryable()); // Create _mockStudyRepo.Setup(r => r.Create(It.IsAny<Study>())).Callback<Study>(study => { var nextId = _id++; study.ID = nextId; _studies.Add(nextId, study); }); // Update _mockStudyRepo.Setup(r => r.Update(It.IsAny<Study>())).Callback<Study>(study => { if (_studies.ContainsKey(study.ID)) { _studies[study.ID] = study; } }); // Delete _mockStudyRepo.Setup(r => r.Delete(It.IsAny<Study>())) .Callback<Study>(study => { _studies.Remove(study.ID); }); }