//private WorkTeamMember FindWorkTeamMember(Assignee assignee) //{ // assignee.id; //} private void RemoveStories(AgileSprint agileSprint) { List <AgileStory> storiesToRemove = _dataContext.AgileStory.Where(x => x.AgileSprintId == agileSprint.AgileSprintId).ToList(); foreach (var story in storiesToRemove) { //TODO: add this back after foreign keys are readded. //agileSprint.AgileStory.Remove(story); _dataContext.AgileStory.Remove(story); } }
private Exception ProcessFile(string file) { Exception ex = null; try { string content = System.IO.File.ReadAllText(file); VSTSComms.Ouput.OutPutObject jsonContent = JsonConvert.DeserializeObject <VSTSComms.Ouput.OutPutObject>(content); WorkTeam workTeam = _dataContext.WorkTeam.Where(x => x.WorkTeamId == jsonContent.TeamID).FirstOrDefault(); AgileSystem agileSystem = _dataContext.AgileSystem.Where(x => x.WorkTeamId == jsonContent.TeamID).FirstOrDefault(); if (agileSystem == null) { agileSystem = new AgileSystem() { AgileSystemId = Guid.NewGuid().ToString(), AgileSystemType = jsonContent.SystemType, AgileSystemName = workTeam.WorkTeamName, WorkTeamId = workTeam.WorkTeamId }; _dataContext.AgileSystem.Add(agileSystem); } AddAnyMissingUsers(agileSystem, jsonContent); //WorkTeam workTeam = _dataContext.WorkTeam.Where(x => x.TeamId == jsonContent.TeamID).FirstOrDefault(); foreach (var sprint in jsonContent.Sprints) { //TODO: fix issue here with finding previous sprint. It's not deleting it. //find sprint //AgileSprint agileSprint = FindSprint(workTeam.TeamId, sprint.ID); AgileSprint agileSprint = FindSprint(agileSystem.AgileSystemId, sprint.ID); if (agileSprint != null) { RemoveStories(agileSprint); } if (agileSprint == null) { agileSprint = new AgileSprint(); _dataContext.AgileSprint.Add(agileSprint); agileSprint.AgileSprintId = Guid.NewGuid().ToString(); } //set properties agileSprint.AgileSprintName = sprint.ID; agileSprint.AgileSystemId = agileSystem.AgileSystemId; agileSprint.SprintDescription = sprint.Name; agileSprint.EndDate = Convert.ToDateTime(sprint.EndDate); agileSprint.StartDate = Convert.ToDateTime(sprint.StartDate); foreach (var story in sprint.Stories) { AgileStory agileStory = new AgileStory() { AgileStoryId = Guid.NewGuid().ToString() }; _dataContext.AgileStory.Add(agileStory); agileStory.AgileStoryName = story.ID; agileStory.AgileSprintId = agileSprint.AgileSprintId; agileStory.StoryDescription = story.ID; agileStory.StoryType = story.Type; agileStory.StoryStatus = story.State; agileStory.StoryPoints = Convert.ToString(story.Points); foreach (var assignee in story.Assignees) { if (assignee.ID != null) { AgileStoryAgileSystemUser agileStoryAgileSystemUser = new AgileStoryAgileSystemUser(); _dataContext.AgileStoryAgileSystemUser.Add(agileStoryAgileSystemUser); agileStoryAgileSystemUser.AgileStoryAgileSystemUserId = Guid.NewGuid().ToString(); agileStoryAgileSystemUser.AgileStoryId = agileStory.AgileStoryId; //TODO get team member AgileSystemUser systemUser = FindAgileSystemUser(assignee, agileSystem.AgileSystemId); agileStoryAgileSystemUser.AgileSystemUserId = systemUser.AgileSystemUserId; agileStoryAgileSystemUser.AgileSystemUserStoryPoints = assignee.Points.ToString(); } } } } } catch (Exception ex1) { ex = ex1; } return(ex); }
private AgileSprint FindSprint(string agileSystemID, string sprintID) { AgileSprint agileSprint = _dataContext.AgileSprint.Where(x => x.AgileSprintName == sprintID && x.AgileSystemId == agileSystemID).FirstOrDefault(); return(agileSprint); }