示例#1
0
        /// <summary>
        /// Create repository object
        /// </summary>
        /// <param name="key">Unique string key</param>
        /// <param name="data">Serialized data</param>
        /// <returns>Repository object</returns>
        public ReposObject Create(string key, string data)
        {
            var ro = new ReposObject()
            {
                ReposID = 0,
                Key     = key != null ? key : "",
                Data    = data != null ? data : ""
            };

            using (var db = new DaContext(_options))
            {
                db.Repository.Add(ro);
                db.SaveChanges();
            }

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

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

            return(ro.ReposID);
        }