private void Import(Tasks _newTask, Bugnet.DatabaseContentDataSet.BugTimeEntryRow _te, Bugnet.DatabaseContentDataSet.BugCommentDataTable _comments, Entities _entt) { int _bugId = 0; try { _bugId = _te.BugTimeEntryId; Resources _author = GetOrAdd <Resources>(_entt.Resources, m_ResourcesDictionaryBugNet, _te.CreatedUserId); Workload _new = new Workload() { Hours = Convert.ToDouble(_te.Duration), ReadOnly = false, Title = _newTask.Title,//_comments[ _te.BugCommentId ].Comment, WeekNumber = WeekNumber(_te.WorkDate), Workload2ProjectTitle = _newTask.Task2ProjectTitle, Workload2ResourcesTitle = _author, Workload2StageTitle = _newTask.Task2ProjectTitle == null ? null : _newTask.Task2ProjectTitle.Project2StageTitle, Workload2TaskTitle = _newTask, WorkloadDate = _te.WorkDate, Year = _te.WorkDate.Year }; _entt.Workload.InsertOnSubmit(_new); _entt.SubmitChanges(); } catch (Exception _ex) { Console.WriteLine(String.Format("Error importing BugTimeEntryRow of id: {0}, because of {1}", _bugId, _ex.Message)); }; }
private void Import(Bugnet.DatabaseContentDataSet.BugDataTable bugDataTable, Bugnet.DatabaseContentDataSet.BugCommentDataTable comments, Entities entt) { Console.WriteLine("BugNet BugDataTable starting"); int _iteration = 0; int _bugId = 0; foreach (var item in bugDataTable) { try { if (item.LastUpdate < Properties.Settings.Default.WorkloadStartDate) { continue; } _bugId = item.BugID; Tasks _newTask = Create <Tasks>(entt.Task, null, item.Summary.SPValidSubstring(), item.BugID); _newTask.Body = item.Description; _newTask.Task2CategoryTitle = GetOrAdd <Category>(entt.Category, m_CategoryDictionary, item.ComponentID); _newTask.Task2MilestoneDefinedInTitle = GetOrAdd <Milestone>(entt.Milestone, m_MilestoneDictionary, item.VersionID); _newTask.Task2MilestoneResolvedInTitle = GetOrAdd <Milestone>(entt.Milestone, m_MilestoneDictionary, item.FixedInVersionId); _newTask.Task2ProjectTitle = GetOrAdd <Projects>(entt.Projects, m_ProjectsDictionaryBugNet, item.ProjectID); _newTask.BaselineEnd = item.IsDueDateNull() ? item.ReportedDate : item.DueDate; _newTask.BaselineStart = item.ReportedDate; _newTask.TaskStart = item.LastUpdate; _newTask.TaskEnd = item.LastUpdate; _newTask.Adjust(); if (!item.IsAssignedToUserIdNull()) { _newTask.Task2ResourcesTitle = GetOrAdd <Resources>(entt.Resources, m_ResourcesDictionaryBugNet, item.AssignedToUserId); } else { _newTask.Task2ResourcesTitle = null; } _newTask.Task2SPriorityTitle = GetOrAdd <Priority>(entt.Priority, m_PriorityDictionary, item.PriorityID); _newTask.Task2SResolutionTitle = GetOrAdd <Resolution>(entt.Resolution, m_ResolutionDictionary, item.ResolutionID); _newTask.Task2StatusTitle = GetOrAdd <Status>(entt.Status, m_StatusDictionary, item.StatusID); _newTask.Active = _newTask.Task2StatusTitle.Active; if (_newTask.Active.GetValueOrDefault(false)) { _newTask.Task2MilestoneResolvedInTitle.Active = true; } _newTask.Task2TypeTitle = GetOrAdd <TaskType>(entt.Type, m_TaskTypeDictionary, item.TypeID); GetOrAddEstimation(entt.Estimation, _newTask.Task2ResourcesTitle, _newTask.Task2ProjectTitle); foreach (Bugnet.DatabaseContentDataSet.BugCommentRow _comment in item.GetBugCommentRows()) { Import(_newTask, _comment, entt); } foreach (Bugnet.DatabaseContentDataSet.BugTimeEntryRow _te in item.GetBugTimeEntryRows()) { Import(_newTask, _te, comments, entt); } if (_newTask.Task2TypeTitle.Title.ToLower().Contains("new")) { Requirements _newRequirement = Create <Requirements>(entt.Requirements, null, _newTask.Title, -1); _newRequirement.Body = _newTask.Body; _newRequirement.Requirements2MilestoneTitle = _newTask.Task2MilestoneResolvedInTitle; _newRequirement.Requirements2ProjectsTitle = _newTask.Task2ProjectTitle; _newRequirement.RequirementsType = RequirementsType.Functional; entt.SubmitChanges(); _newTask.Task2RequirementsTitle = _newRequirement; } Console.Write("\r"); Console.Write(_iteration++); if (_iteration % 100 == 0) { entt.SubmitChanges(); } } catch (Exception ex) { Console.WriteLine(String.Format("Error importing BugDataTable of BugID: {0}, because of {1}", _bugId, ex.Message)); } } entt.SubmitChanges(); }