Example #1
0
        internal Issue(RedmineServiceContext context, XmlNode node)
            : base(context, node)
        {
            _parent = RedmineUtility.LoadObject(node[ParentProperty.XmlNodeName], context.Issues.Lookup);

            _project  = RedmineUtility.LoadNamedObject(node[ProjectProperty.XmlNodeName], context.Projects.Lookup);
            _tracker  = RedmineUtility.LoadNamedObject(node[TrackerProperty.XmlNodeName], context.Trackers.Lookup);
            _status   = RedmineUtility.LoadNamedObject(node[StatusProperty.XmlNodeName], context.IssueStatuses.Lookup);
            _priority = RedmineUtility.LoadNamedObject(node[PriorityProperty.XmlNodeName], context.IssuePriorities.Lookup);

            _author     = RedmineUtility.LoadNamedObject(node[AuthorProperty.XmlNodeName], context.Users.Lookup);
            _assignedTo = RedmineUtility.LoadNamedObject(node[AssignedToProperty.XmlNodeName], context.Users.Lookup);

            _category     = RedmineUtility.LoadNamedObject(node[CategoryProperty.XmlNodeName], context.IssueCategories.Lookup);
            _fixedVersion = RedmineUtility.LoadNamedObject(node[FixedVersionProperty.XmlNodeName], context.ProjectVersions.Lookup);

            _subject     = RedmineUtility.LoadString(node[SubjectProperty.XmlNodeName]);
            _description = RedmineUtility.LoadString(node[DescriptionProperty.XmlNodeName]);

            _startDate = RedmineUtility.LoadDate(node[StartDateProperty.XmlNodeName]);
            _dueDate   = RedmineUtility.LoadDate(node[DueDateProperty.XmlNodeName]);

            _doneRatio      = RedmineUtility.LoadDouble(node[DoneRatioProperty.XmlNodeName]);
            _estimatedHours = RedmineUtility.LoadDouble(node[EstimatedHoursProperty.XmlNodeName]);

            _customFields = RedmineUtility.LoadCustomFields(node[CustomFieldsProperty.XmlNodeName], context.CustomFields.Lookup);

            _createdOn = RedmineUtility.LoadDateForSure(node[CreatedOnProperty.XmlNodeName]);
            _updatedOn = RedmineUtility.LoadDateForSure(node[UpdatedOnProperty.XmlNodeName]);
        }