Exemplo n.º 1
0
        /// <summary>
        ///     Creates a new SQL Lock.
        /// </summary>
        /// <param name="inst"></param>
        /// <param name="storeItem"></param>
        /// <returns></returns>
        private static Guid CreateSqlLock(ref WebDavSqlStoreItemLockInstance inst, WebDavSqlStoreItem storeItem)
        {
            try
            {
                using (var context = new OnlineFilesEntities())
                {
                    var t = context.Files.FirstOrDefault(d => d.pk_FileId == storeItem.ObjectGuid);


                    ObjectLockInfo info = new ObjectLockInfo
                    {
                        CreateDt             = inst.CreateDate,
                        Depth                = inst.Depth,
                        ExpirationDate       = inst.ExpirationDate,
                        LockScope            = (int)inst.LockScope,
                        LockType             = (int)inst.LockType,
                        ObjectGuid           = (Guid)storeItem.ObjectGuid,
                        OwnerId              = inst.SoOwner.SecurityObjectId,
                        Path                 = storeItem.Href.ToString(),
                        RequestedLockTimeout = inst.RequestedLockTimeout,
                        isFolder             = storeItem.IsCollection
                    };

                    context.ObjectLockInfoes.Add(info);
                    context.SaveChanges();
                    inst.Token = info.Token;
                    return(info.Token);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message + ex.StackTrace);
                throw;
            }
        }
        /// <summary>
        ///     Creates a new SQL Lock.
        /// </summary>
        /// <param name="inst"></param>
        /// <param name="storeItem"></param>
        /// <returns></returns>
        private static Guid CreateSqlLock(ref WebDavSqlStoreItemLockInstance inst, WebDavSqlStoreItem storeItem)
        {
            try
            {
                using (var context = new OnlineFilesEntities())
                {
                    var t = context.Files.FirstOrDefault(d => d.pk_FileId == storeItem.ObjectGuid);


                    ObjectLockInfo info = new ObjectLockInfo
                    {
                        CreateDt = inst.CreateDate,
                        Depth = inst.Depth,
                        ExpirationDate = inst.ExpirationDate,
                        LockScope = (int) inst.LockScope,
                        LockType = (int) inst.LockType,
                        ObjectGuid = (Guid) storeItem.ObjectGuid,
                        OwnerId = inst.SoOwner.SecurityObjectId,
                        Path = storeItem.Href.ToString(),
                        RequestedLockTimeout = inst.RequestedLockTimeout,
                        isFolder = storeItem.IsCollection
                    };

                    context.ObjectLockInfoes.Add(info);
                    context.SaveChanges();
                    inst.Token = info.Token;
                    return info.Token;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message + ex.StackTrace);
                throw;
            }
        }