/// <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); }