public override RecordLockedData CreateLockInfo(RecordLockedData lockedData) { RecordLockedData result = null; if (lockedData != null) { result = (RecordLockedData)lockedData.Clone(); if (result.ID == Guid.Empty) { result.ID = CombineGuid.NewComboGuid(); } if (result.LockTime == DateTime.MinValue) { result.LockTime = DateTime.UtcNow; } DbCommand dbCmd = this.InsertCommand; Utils.PrepareParameter(dbCmd); this.Adapter.SetParametersValue(dbCmd.Parameters, result, false); Utils.ResetParameter(dbCmd); this.Database.ExecuteNonQuery(dbCmd); } return(result); }
private RecordLockedData CreateLockData(OpenFileItemData itemParam, ref LogicFileInfoData logicFileInfo, Guid userID, DbTransaction trans) { RecordLockedData result = null; FileAccess access = itemParam.FileAccess; FileMode mode = itemParam.FileMode; long fileLength = -1; if (mode == FileMode.Truncate) { access |= FileAccess.Write; fileLength = 0; } bool canWrite = (access & FileAccess.Write) != 0; if (canWrite) { if (logicFileInfo == null) { logicFileInfo = CreateNewFile(itemParam, userID, trans); } else { logicFileInfo = UpdateFile(itemParam, logicFileInfo, fileLength, userID, trans); } if (logicFileInfo != null) { result = Lock(logicFileInfo.ID, userID); } } return(result); }
public static RecordLockedData Lock(RecordLockedData lockedInfo) { if (lockedInfo != null) { RecordLockedData result = ServiceProxy.Lock(lockedInfo); return(result); } return(null); }
protected RecordLockedData GetLockedInfoData(RecordLockedFetchParameter fetchParam) { RecordLockedData result = null; RecordLockedDataCollection datas = this.GetLockedInfo(fetchParam); if (datas != null && datas.Count > 0) { result = datas[0]; } return(result); }
private RecordLockedData Lock(Guid fileID, Guid userID) { RecordLockedData result = null; RecordLockedData data = new RecordLockedData(); data.ID = CombineGuid.NewComboGuid(); data.FormID = LogicFileFormID; data.FormUniqueID = fileID; data.LockUserID = userID; RecordLockedManager.ServiceProxy.SetDataProvider(RecordLockedDataProvider); result = RecordLockedManager.Lock(data); return(result); }
protected RecordLockedFetchParameter CreateFetchParameter(RecordLockedData lockedData) { RecordLockedFetchParameter fetchParam = new RecordLockedFetchParameter(); if (lockedData.ID != Guid.Empty) { fetchParam.LockID = lockedData.ID; } else if (lockedData.FormID != Guid.Empty && lockedData.FormUniqueID != Guid.Empty) { fetchParam.FormID = lockedData.FormID; fetchParam.FormUniqueID = lockedData.FormUniqueID; } return(fetchParam); }
protected virtual void PrepareLockData(RecordLockedData lockedData) { if (lockedData.ID == Guid.Empty) { lockedData.ID = CombineGuid.NewComboGuid(); } if (lockedData.LockTime == DateTime.MinValue) { lockedData.LockTime = DateTime.UtcNow; } if (lockedData.ExpireTime < lockedData.LockTime) { lockedData.ExpireTime = lockedData.LockTime.Add(DefaultExpireTimeSpan); } }
public virtual RecordLockedData Lock(RecordLockedData lockedData) { RecordLockedData result = null; RecordLockedFetchParameter fetchParam = CreateFetchParameter(lockedData); RecordLockedData data = this.GetLockedInfoData(fetchParam); if (data != null) { //if (lockedData.FormID != Guid.Empty // && lockedData.FormUniqueID != Guid.Empty // && data.FormID != Guid.Empty // && data.FormUniqueID != Guid.Empty // && data.FormID != lockedData.FormID // && data.FormUniqueID != lockedData.FormUniqueID) //{ // __Error.RecordHasLocked(data.FormID, data.FormUniqueID); //} if (lockedData.FormID != Guid.Empty && lockedData.FormUniqueID != Guid.Empty && data.FormID != Guid.Empty && data.FormUniqueID != Guid.Empty ) { if ((data.FormID != lockedData.FormID || data.FormUniqueID != lockedData.FormUniqueID) && data.ExpireTime > DateTime.UtcNow ) { __Error.RecordHasLocked(data.FormID, data.FormUniqueID); } else if (data.FormID == lockedData.FormID && data.FormUniqueID == lockedData.FormUniqueID && data.ID != lockedData.ID && data.ExpireTime > DateTime.UtcNow) { __Error.RecordHasLocked(data.FormID, data.FormUniqueID); } } } else { data = (RecordLockedData)lockedData.Clone(); } this.PrepareLockData(data); result = this.DataProvider.CreateLockInfo(data); return(result); }
public abstract RecordLockedData CreateLockInfo(RecordLockedData lockedData);