コード例 #1
0
        /// <summary>
        /// Сохранить в репозитории xml-сериализуемый объект
        /// </summary>
        /// <typeparam name="T">Тип сериализуемого объекта</typeparam>
        /// <param name="obj">Сериализуемый объект</param>
        /// <param name="key">Ключ. Если с таким ключом объект уже существует, он будет перезаписан новым объектом. Идентификатор записи при этом не измеится.</param>
        /// <returns>Идентификатор записи (позволяет однозначно идентифицировать запись)</returns>
        public int PutXmlObject <T>(T obj, string key = "") where T : IXmlSerializable, new()
        {
            ReposObject ro   = _reposDA.Select(0, key);
            string      data = obj.Serialize().ToString();

            if (ro == null)
            {
                ro = _reposDA.Create(key, data);
            }
            else
            {
                ro.Data = data;
                _reposDA.Update(ro);
            }

            return(ro.ReposID);
        }