/// <summary>
        /// Загрузка данных на основе DataRow
        /// </summary>
        /// <param name="row">Строка таблицы данных</param>
        /// <param name="fieldProvider">Провайдер для получения перечня полей</param>
        /// <param name="originInfo">Информация о списке</param>
        /// <param name="spSite">Сайт, на котором находятся данные</param>
        public virtual void LoadDataFromDataRow(DataRow row, BaseFieldsProvider fieldProvider, OriginInfo originInfo, SPSite spSite)
        {
            IsNew = false;
            this._OriginInfo = originInfo;

            if ((fieldProvider != null) && (fieldProvider.FieldExists(Constants.FieldNamesBaseTypes.Id)))
                _id = int.Parse((string)row[Constants.FieldNamesBaseTypes.Id]);

            if ((fieldProvider != null) && (fieldProvider.FieldExists(Constants.FieldNamesBaseTypes.Title)))
                Title = (string)row[Constants.FieldNamesBaseTypes.Title];
            ItemIcon = UrlHelper.GetFileIconUrl(null);
        }
 /// <summary>
 /// Виртуальный метод для выполнения загрузки других полей в наследниках
 /// </summary>
 /// <param name="spItem">Элемент списка</param>
 /// <param name="columnProvider">Провайдкр для получения перечня полей</param>
 protected virtual void LoadDataFromSPListItem(SPListItem spItem, BaseFieldsProvider columnProvider)
 {
 }
 /// <summary>
 /// Создание нового элемента на основе DataRow 
 /// </summary>
 /// <param name="row">Строка таблицы данных</param>
 /// <param name="fieldProvider">Провайдер для получения перечня полей</param>
 /// <param name="originInfo">Информация о списке</param>
 /// <param name="spSite">Сайт, на котором находятся данные</param>
 public ItemRecord(DataRow row, BaseFieldsProvider fieldProvider, OriginInfo originInfo, SPSite spSite)
 {
     LoadDataFromDataRow(row, fieldProvider, originInfo, spSite);
     IsNew = false;
 }
 /// <summary>
 /// Загрузка данных полей из SPListItem и информации о списке
 /// </summary>
 /// <param name="spItem">Элемент списка</param>
 /// <param name="locationInfo">Информация о списке</param>
 /// <param name="fieldProvider">Провайдер для получения перечня полей</param>
 public void LoadData(SPListItem spItem, OriginInfo locationInfo, BaseFieldsProvider columnProvider)
 {
     this._OriginInfo = locationInfo;
     IsNew = false;
     if (spItem == null)
     {
         //LogServiceNS.LoggingManager.GetLogWriter().WriteError("Trying to convert empty sharepoint item to type:" + this.GetType());
         UlsLogging.LogInformation("Trying to convert empty sharepoint item to type:" + this.GetType());
         throw new NullReferenceException("spItem");
     }
     InitBaseFields(spItem);
     if (columnProvider == null)
     {
         LoadDataFromSPListItem(spItem);
     }
     else
     {
         LoadDataFromSPListItem(spItem, columnProvider);
     }
 }