public BaseEntry(XmlElement node) : base(node)
        {
            foreach (XmlElement propertyNode in node.ChildNodes)
            {
                switch (propertyNode.Name)
                {
                case "id":
                    this._Id = propertyNode.InnerText;
                    continue;

                case "name":
                    this._Name = propertyNode.InnerText;
                    continue;

                case "description":
                    this._Description = propertyNode.InnerText;
                    continue;

                case "partnerId":
                    this._PartnerId = ParseInt(propertyNode.InnerText);
                    continue;

                case "userId":
                    this._UserId = propertyNode.InnerText;
                    continue;

                case "creatorId":
                    this._CreatorId = propertyNode.InnerText;
                    continue;

                case "tags":
                    this._Tags = propertyNode.InnerText;
                    continue;

                case "adminTags":
                    this._AdminTags = propertyNode.InnerText;
                    continue;

                case "categories":
                    this._Categories = propertyNode.InnerText;
                    continue;

                case "categoriesIds":
                    this._CategoriesIds = propertyNode.InnerText;
                    continue;

                case "status":
                    this._Status = (EntryStatus)StringEnum.Parse(typeof(EntryStatus), propertyNode.InnerText);
                    continue;

                case "moderationStatus":
                    this._ModerationStatus = (EntryModerationStatus)ParseEnum(typeof(EntryModerationStatus), propertyNode.InnerText);
                    continue;

                case "moderationCount":
                    this._ModerationCount = ParseInt(propertyNode.InnerText);
                    continue;

                case "type":
                    this._Type = (EntryType)StringEnum.Parse(typeof(EntryType), propertyNode.InnerText);
                    continue;

                case "createdAt":
                    this._CreatedAt = ParseInt(propertyNode.InnerText);
                    continue;

                case "updatedAt":
                    this._UpdatedAt = ParseInt(propertyNode.InnerText);
                    continue;

                case "rank":
                    this._Rank = ParseFloat(propertyNode.InnerText);
                    continue;

                case "totalRank":
                    this._TotalRank = ParseInt(propertyNode.InnerText);
                    continue;

                case "votes":
                    this._Votes = ParseInt(propertyNode.InnerText);
                    continue;

                case "groupId":
                    this._GroupId = ParseInt(propertyNode.InnerText);
                    continue;

                case "partnerData":
                    this._PartnerData = propertyNode.InnerText;
                    continue;

                case "downloadUrl":
                    this._DownloadUrl = propertyNode.InnerText;
                    continue;

                case "searchText":
                    this._SearchText = propertyNode.InnerText;
                    continue;

                case "licenseType":
                    this._LicenseType = (LicenseType)ParseEnum(typeof(LicenseType), propertyNode.InnerText);
                    continue;

                case "version":
                    this._Version = ParseInt(propertyNode.InnerText);
                    continue;

                case "thumbnailUrl":
                    this._ThumbnailUrl = propertyNode.InnerText;
                    continue;

                case "accessControlId":
                    this._AccessControlId = ParseInt(propertyNode.InnerText);
                    continue;

                case "startDate":
                    this._StartDate = ParseInt(propertyNode.InnerText);
                    continue;

                case "endDate":
                    this._EndDate = ParseInt(propertyNode.InnerText);
                    continue;

                case "referenceId":
                    this._ReferenceId = propertyNode.InnerText;
                    continue;

                case "replacingEntryId":
                    this._ReplacingEntryId = propertyNode.InnerText;
                    continue;

                case "replacedEntryId":
                    this._ReplacedEntryId = propertyNode.InnerText;
                    continue;

                case "replacementStatus":
                    this._ReplacementStatus = (EntryReplacementStatus)StringEnum.Parse(typeof(EntryReplacementStatus), propertyNode.InnerText);
                    continue;

                case "partnerSortValue":
                    this._PartnerSortValue = ParseInt(propertyNode.InnerText);
                    continue;

                case "conversionProfileId":
                    this._ConversionProfileId = ParseInt(propertyNode.InnerText);
                    continue;

                case "redirectEntryId":
                    this._RedirectEntryId = propertyNode.InnerText;
                    continue;

                case "rootEntryId":
                    this._RootEntryId = propertyNode.InnerText;
                    continue;

                case "parentEntryId":
                    this._ParentEntryId = propertyNode.InnerText;
                    continue;

                case "operationAttributes":
                    this._OperationAttributes = new List <OperationAttributes>();
                    foreach (XmlElement arrayNode in propertyNode.ChildNodes)
                    {
                        this._OperationAttributes.Add(ObjectFactory.Create <OperationAttributes>(arrayNode));
                    }
                    continue;

                case "entitledUsersEdit":
                    this._EntitledUsersEdit = propertyNode.InnerText;
                    continue;

                case "entitledUsersPublish":
                    this._EntitledUsersPublish = propertyNode.InnerText;
                    continue;

                case "entitledUsersView":
                    this._EntitledUsersView = propertyNode.InnerText;
                    continue;

                case "capabilities":
                    this._Capabilities = propertyNode.InnerText;
                    continue;

                case "templateEntryId":
                    this._TemplateEntryId = propertyNode.InnerText;
                    continue;

                case "displayInSearch":
                    this._DisplayInSearch = (EntryDisplayInSearchType)ParseEnum(typeof(EntryDisplayInSearchType), propertyNode.InnerText);
                    continue;
                }
            }
        }
 public BaseEntry(JToken node) : base(node)
 {
     if (node["id"] != null)
     {
         this._Id = node["id"].Value <string>();
     }
     if (node["name"] != null)
     {
         this._Name = node["name"].Value <string>();
     }
     if (node["description"] != null)
     {
         this._Description = node["description"].Value <string>();
     }
     if (node["partnerId"] != null)
     {
         this._PartnerId = ParseInt(node["partnerId"].Value <string>());
     }
     if (node["userId"] != null)
     {
         this._UserId = node["userId"].Value <string>();
     }
     if (node["creatorId"] != null)
     {
         this._CreatorId = node["creatorId"].Value <string>();
     }
     if (node["tags"] != null)
     {
         this._Tags = node["tags"].Value <string>();
     }
     if (node["adminTags"] != null)
     {
         this._AdminTags = node["adminTags"].Value <string>();
     }
     if (node["categories"] != null)
     {
         this._Categories = node["categories"].Value <string>();
     }
     if (node["categoriesIds"] != null)
     {
         this._CategoriesIds = node["categoriesIds"].Value <string>();
     }
     if (node["status"] != null)
     {
         this._Status = (EntryStatus)StringEnum.Parse(typeof(EntryStatus), node["status"].Value <string>());
     }
     if (node["moderationStatus"] != null)
     {
         this._ModerationStatus = (EntryModerationStatus)ParseEnum(typeof(EntryModerationStatus), node["moderationStatus"].Value <string>());
     }
     if (node["moderationCount"] != null)
     {
         this._ModerationCount = ParseInt(node["moderationCount"].Value <string>());
     }
     if (node["type"] != null)
     {
         this._Type = (EntryType)StringEnum.Parse(typeof(EntryType), node["type"].Value <string>());
     }
     if (node["createdAt"] != null)
     {
         this._CreatedAt = ParseInt(node["createdAt"].Value <string>());
     }
     if (node["updatedAt"] != null)
     {
         this._UpdatedAt = ParseInt(node["updatedAt"].Value <string>());
     }
     if (node["rank"] != null)
     {
         this._Rank = ParseFloat(node["rank"].Value <string>());
     }
     if (node["totalRank"] != null)
     {
         this._TotalRank = ParseInt(node["totalRank"].Value <string>());
     }
     if (node["votes"] != null)
     {
         this._Votes = ParseInt(node["votes"].Value <string>());
     }
     if (node["groupId"] != null)
     {
         this._GroupId = ParseInt(node["groupId"].Value <string>());
     }
     if (node["partnerData"] != null)
     {
         this._PartnerData = node["partnerData"].Value <string>();
     }
     if (node["downloadUrl"] != null)
     {
         this._DownloadUrl = node["downloadUrl"].Value <string>();
     }
     if (node["searchText"] != null)
     {
         this._SearchText = node["searchText"].Value <string>();
     }
     if (node["licenseType"] != null)
     {
         this._LicenseType = (LicenseType)ParseEnum(typeof(LicenseType), node["licenseType"].Value <string>());
     }
     if (node["version"] != null)
     {
         this._Version = ParseInt(node["version"].Value <string>());
     }
     if (node["thumbnailUrl"] != null)
     {
         this._ThumbnailUrl = node["thumbnailUrl"].Value <string>();
     }
     if (node["accessControlId"] != null)
     {
         this._AccessControlId = ParseInt(node["accessControlId"].Value <string>());
     }
     if (node["startDate"] != null)
     {
         this._StartDate = ParseInt(node["startDate"].Value <string>());
     }
     if (node["endDate"] != null)
     {
         this._EndDate = ParseInt(node["endDate"].Value <string>());
     }
     if (node["referenceId"] != null)
     {
         this._ReferenceId = node["referenceId"].Value <string>();
     }
     if (node["replacingEntryId"] != null)
     {
         this._ReplacingEntryId = node["replacingEntryId"].Value <string>();
     }
     if (node["replacedEntryId"] != null)
     {
         this._ReplacedEntryId = node["replacedEntryId"].Value <string>();
     }
     if (node["replacementStatus"] != null)
     {
         this._ReplacementStatus = (EntryReplacementStatus)StringEnum.Parse(typeof(EntryReplacementStatus), node["replacementStatus"].Value <string>());
     }
     if (node["partnerSortValue"] != null)
     {
         this._PartnerSortValue = ParseInt(node["partnerSortValue"].Value <string>());
     }
     if (node["conversionProfileId"] != null)
     {
         this._ConversionProfileId = ParseInt(node["conversionProfileId"].Value <string>());
     }
     if (node["redirectEntryId"] != null)
     {
         this._RedirectEntryId = node["redirectEntryId"].Value <string>();
     }
     if (node["rootEntryId"] != null)
     {
         this._RootEntryId = node["rootEntryId"].Value <string>();
     }
     if (node["parentEntryId"] != null)
     {
         this._ParentEntryId = node["parentEntryId"].Value <string>();
     }
     if (node["operationAttributes"] != null)
     {
         this._OperationAttributes = new List <OperationAttributes>();
         foreach (var arrayNode in node["operationAttributes"].Children())
         {
             this._OperationAttributes.Add(ObjectFactory.Create <OperationAttributes>(arrayNode));
         }
     }
     if (node["entitledUsersEdit"] != null)
     {
         this._EntitledUsersEdit = node["entitledUsersEdit"].Value <string>();
     }
     if (node["entitledUsersPublish"] != null)
     {
         this._EntitledUsersPublish = node["entitledUsersPublish"].Value <string>();
     }
     if (node["entitledUsersView"] != null)
     {
         this._EntitledUsersView = node["entitledUsersView"].Value <string>();
     }
     if (node["capabilities"] != null)
     {
         this._Capabilities = node["capabilities"].Value <string>();
     }
     if (node["templateEntryId"] != null)
     {
         this._TemplateEntryId = node["templateEntryId"].Value <string>();
     }
     if (node["displayInSearch"] != null)
     {
         this._DisplayInSearch = (EntryDisplayInSearchType)ParseEnum(typeof(EntryDisplayInSearchType), node["displayInSearch"].Value <string>());
     }
 }