public void UpdateModifiedByModifiedDate(ModificationInfo entity) { var userId = _currentUserService.GetCurrentUserId(); entity.ModifiedBy = userId; entity.ModificationDate = DateTime.Now; }
private static void CopyNuterraFiles(ModificationInfo info, string localNuterra) { string moddedNuterra = Path.Combine(info.TerraTechRoot, "Nuterra_Data"); CopyDirectory(localNuterra, moddedNuterra, "Assets", "*"); CopyDirectory(localNuterra, moddedNuterra, "Mods", "*.dll"); }
public Boolean RemoveUpdatingModificationInfo(ModificationInfo mInfo) { lock (_lockobject) { return(_modifications.Remove(mInfo)); } }
private void CreateAt(Transform parent, ModificationInfo info) { var item = Instantiate(uIModificationItemPrefab, parent); item.Controller = this; item.SetDescription(info); item.ToggleObject.group = toggleGroupObject; }
public ProfileGameGameModeFile(IFile file) : base(file) { var data = this.ReadAllLines(); var name = data[0].Split('|')[1]; ModificationInfo = new ModificationInfo() { Name = name }; }
public void AddUpdatingModificationInfo(ModificationInfo mInfo) { lock (_lockobject) { if (!_modifications.Contains(mInfo)) { _modifications.Add(mInfo); } } }
public void SetDescription(ModificationInfo info) { ModificationDescription description = info.Description; IDLabel.text = description.ID; NameLabel.text = description.Name; AuthorLabel.text = description.Author; VersionLabel.text = description.Version; MessageLabel.text = description.Message; }
public static dynamic GetTSObject(ModificationInfo dynStruct) { var tsType = TSActivator.CreateInstance("Tekla.Structures.Model.History.ModificationInfo"); tsType.Modified = dynStruct.Modified; tsType.Deleted = dynStruct.Deleted; tsType.ModifiedWithInfo = dynStruct.ModifiedWithInfo; return(tsType); }
public static ModificationInfo FromTSObject(dynamic tsStruct) { var dynStruct = new ModificationInfo(); dynStruct.Modified = tsStruct.Modified; dynStruct.Deleted = tsStruct.Deleted; dynStruct.ModifiedWithInfo = tsStruct.ModifiedWithInfo; return(dynStruct); }
/// <summary> /// Create service model from api model /// </summary> public HistoricValueModel ToServiceModel() { return(new HistoricValueModel { Value = Value, StatusCode = StatusCode, SourceTimestamp = SourceTimestamp, SourcePicoseconds = SourcePicoseconds, ServerTimestamp = ServerTimestamp, ServerPicoseconds = ServerPicoseconds, ModificationInfo = ModificationInfo?.ToServiceModel() }); }
internal void OnSelected(UIModificationItem uiItem) { if (uiItem == null) { throw new ArgumentNullException(nameof(uiItem)); } SelectTarget = uiItem; ModificationInfo info = uiItem.ModificationInfo; uIModificationInfo.SetDescription(info); }
public static StartPollOption ToStartPollOption(this ModificationInfo mod) { return(new StartPollOption { Description = mod.Description, Id = mod.Id, Logo = mod.Logo, MaxLength = mod.MaxLength, MinLength = mod.MinLength, Tooltip = mod.Tooltip }); }
public ModificationInfo CreateFeatureModificationInfo(String currentUserName, ModifyState state, long fid, string featureClassName, string featureClassCaption) { var modifyInfo = new ModificationInfo { FID = fid, FeatureClass = featureClassName, FeatureClassCaption = featureClassCaption, ModifyTime = DateTime.Now, UserName = currentUserName, State = state }; return(modifyInfo); }
/// <summary> /// Creates a modification info record. /// </summary> private ModificationInfo GetModificationInfo(SystemContext context, HistoryUpdateType updateType) { var info = new ModificationInfo { UpdateType = updateType, ModificationTime = DateTime.UtcNow }; if (context.OperationContext?.UserIdentity != null) { info.UserName = context.OperationContext.UserIdentity.DisplayName; } return(info); }
private void InstallerWorkerMethod() { try { Console.WriteLine(); string localNuterra = Path.Combine(Directory.GetCurrentDirectory(), "Nuterra_Data"); var info = new ModificationInfo(); info.TerraTechRoot = Path.GetDirectoryName(installSettings.TerraTechRoot); info.NuterraData = localNuterra; info.InitDefaults(); Console.WriteLine("Modding Assembly-CSharp.dll"); InstallProgram.PerformInstall(info); Console.WriteLine(); if (!ArePathsEqual(Directory.GetCurrentDirectory(), info.TerraTechRoot)) { CopyNuterraFiles(info, localNuterra); } else { Console.WriteLine("You are running the installer from the terratech root directory, copying files is skipped"); } Console.WriteLine(); Console.WriteLine("Install succesfull"); Console.WriteLine("Enjoy Nuterra :3"); } catch (Exception ex) { Console.WriteLine(); Console.WriteLine(ex.StackTrace); Console.WriteLine(); Console.WriteLine(ex.Message); Console.WriteLine("Install failed"); } finally { _installerThread = null; Invoke(new Action(() => { UpdateFromInstallSettings(logEvents: false); })); } }
/// <summary> /// 设置模组读取顺序(仅Unity线程调用); /// </summary> public static void SetLoadOrder(IEnumerable <string> modificationIDs) { if (modificationIDs == null) { throw new ArgumentNullException(nameof(modificationIDs)); } activatedModificationInfos.Clear(); foreach (var id in modificationIDs.Distinct()) { int index = modificationInfos.FindIndex(info => info.Description.ID == id); if (index >= 0) { ModificationInfo info = ModificationInfos[index]; activatedModificationInfos.Add(info); } } }
/// <summary> /// Adds a value to the grid. /// </summary> private void AddValue(DataValue value, ModificationInfo modificationInfo) { DataRow row = m_dataset.Tables[0].NewRow(); row[0] = m_nextId++; row[1] = value.SourceTimestamp.ToLocalTime().ToString("HH:mm:ss.fff"); row[2] = value.ServerTimestamp.ToLocalTime().ToString("HH:mm:ss.fff"); row[3] = value.WrappedValue; row[4] = new StatusCode(value.StatusCode.Code); row[5] = value.StatusCode.AggregateBits.ToString(); if (modificationInfo != null) { row[6] = modificationInfo.UpdateType; row[7] = modificationInfo.ModificationTime.ToLocalTime().ToString("HH:mm:ss"); row[8] = modificationInfo.UserName; } m_dataset.Tables[0].Rows.Add(row); }
/// <summary> /// Adds a value to the grid. /// </summary> private void AddValue(DataValue value, ModificationInfo modificationInfo) { DataRow row = m_dataset.Tables[0].NewRow(); row[0] = m_nextId++; row[1] = value.SourceTimestamp.ToLocalTime().ToString("HH:mm:ss.fff"); row[2] = value.WrappedValue; row[3] = new StatusCode(value.StatusCode.Code); if (value.WrappedValue.TypeInfo != null) { row[4] = value.WrappedValue.TypeInfo.BuiltInType.ToString(); } else { row[4] = String.Empty; } m_dataset.Tables[0].Rows.Add(row); }
public ModificationInfoTable(ModificationInfo modificationInfo) { ModificationInfo = modificationInfo; }
/// <summary> /// Loads the history data from a stream. /// </summary> private DataSet LoadData(ISystemContext context, DateTime baseline, StreamReader reader) { var dataset = CreateDataSet(); var messageContext = new ServiceMessageContext(); if (context != null) { messageContext.NamespaceUris = context.NamespaceUris; messageContext.ServerUris = context.ServerUris; messageContext.Factory = context.EncodeableFactory; } else { messageContext.NamespaceUris = ServiceMessageContext.GlobalContext.NamespaceUris; messageContext.ServerUris = ServiceMessageContext.GlobalContext.ServerUris; messageContext.Factory = ServiceMessageContext.GlobalContext.Factory; } var sourceTimeOffset = 0; var serverTimeOffset = 0; StatusCode status = StatusCodes.Good; var recordType = 0; var modificationTimeOffet = 0; var modificationUser = string.Empty; var valueType = BuiltInType.String; var value = Variant.Null; var annotationTimeOffet = 0; var annotationUser = string.Empty; var annotationMessage = string.Empty; var lineCount = 0; while (!reader.EndOfStream) { var line = reader.ReadLine(); // check for end or error. if (line == null) { break; } // ignore blank lines. line = line.Trim(); lineCount++; if (string.IsNullOrEmpty(line)) { continue; } // ignore commented out lines. if (line.StartsWith("//", StringComparison.CurrentCulture)) { continue; } // get source time. if (!ExtractField(lineCount, ref line, out sourceTimeOffset)) { continue; } // get server time. if (!ExtractField(lineCount, ref line, out serverTimeOffset)) { continue; } // get status code. if (!ExtractField(lineCount, ref line, out status)) { continue; } // get modification type. if (!ExtractField(lineCount, ref line, out recordType)) { continue; } // get modification time. if (!ExtractField(lineCount, ref line, out modificationTimeOffet)) { continue; } // get modification user. if (!ExtractField(lineCount, ref line, out modificationUser)) { continue; } if (recordType >= 0) { // get value type. if (!ExtractField(lineCount, ref line, out valueType)) { continue; } // get value. if (!ExtractField(lineCount, ref line, messageContext, valueType, out value)) { continue; } } else { // get annotation time. if (!ExtractField(lineCount, ref line, out annotationTimeOffet)) { continue; } // get annotation user. if (!ExtractField(lineCount, ref line, out annotationUser)) { continue; } // get annotation message. if (!ExtractField(lineCount, ref line, out annotationMessage)) { continue; } } // add values to data table. var dataValue = new DataValue { WrappedValue = value, SourceTimestamp = baseline.AddMilliseconds(sourceTimeOffset), ServerTimestamp = baseline.AddMilliseconds(serverTimeOffset), StatusCode = status }; DataRow row = null; if (recordType == 0) { row = dataset.Tables[0].NewRow(); row[0] = dataValue.SourceTimestamp; row[1] = dataValue.ServerTimestamp; row[2] = dataValue; row[3] = valueType; row[4] = (value.TypeInfo != null) ? value.TypeInfo.ValueRank : ValueRanks.Any; dataset.Tables[0].Rows.Add(row); } else if (recordType > 0) { row = dataset.Tables[1].NewRow(); row[0] = dataValue.SourceTimestamp; row[1] = dataValue.ServerTimestamp; row[2] = dataValue; row[3] = valueType; row[4] = (value.TypeInfo != null) ? value.TypeInfo.ValueRank : ValueRanks.Any; row[5] = recordType; var info = new ModificationInfo { UpdateType = (HistoryUpdateType)recordType, ModificationTime = baseline.AddMilliseconds(modificationTimeOffet), UserName = modificationUser }; row[6] = info; dataset.Tables[1].Rows.Add(row); } else if (recordType < 0) { row = dataset.Tables[2].NewRow(); var annotation = new Annotation { AnnotationTime = baseline.AddMilliseconds(annotationTimeOffet), UserName = annotationUser, Message = annotationMessage }; dataValue.WrappedValue = new ExtensionObject(annotation); row[0] = dataValue.SourceTimestamp; row[1] = dataValue.ServerTimestamp; row[2] = dataValue; row[3] = valueType; row[4] = (value.TypeInfo != null) ? value.TypeInfo.ValueRank : ValueRanks.Any; row[5] = annotation; dataset.Tables[2].Rows.Add(row); } dataset.AcceptChanges(); } return(dataset); }
/// <summary> /// 创建一个条目到激活列表; /// </summary> public void CreateAsActive(ModificationInfo info) { CreateAt(activeModificationContent, info); }
public ModificationFile(IFile file) : base(file) { ModificationInfo = ModificationInfo.Deserialize(this.ReadAllText()); }
/// <summary> /// 创建一个条目到失效列表; /// </summary> /// <param name="info"></param> public void CreateAsIdle(ModificationInfo info) { CreateAt(idleModificationContent, info); }
internal static ModificationInfoEntity MapFrom(ModificationInfo source) => new ModificationInfoEntity() { At = source.At };
/// <summary> /// Loads the history data from a stream. /// </summary> private DataSet LoadData(ISystemContext context, DateTime baseline, StreamReader reader) { DataSet dataset = CreateDataSet(); ServiceMessageContext messageContext = new ServiceMessageContext(); if (context != null) { messageContext.NamespaceUris = context.NamespaceUris; messageContext.ServerUris = context.ServerUris; messageContext.Factory = context.EncodeableFactory; } else { messageContext.NamespaceUris = ServiceMessageContext.GlobalContext.NamespaceUris; messageContext.ServerUris = ServiceMessageContext.GlobalContext.ServerUris; messageContext.Factory = ServiceMessageContext.GlobalContext.Factory; } int sourceTimeOffset = 0; int serverTimeOffset = 0; StatusCode status = StatusCodes.Good; int recordType = 0; int modificationTimeOffet = 0; string modificationUser = String.Empty; BuiltInType valueType = BuiltInType.String; Variant value = Variant.Null; int annotationTimeOffet = 0; string annotationUser = String.Empty; string annotationMessage = String.Empty; int lineCount = 0; while (!reader.EndOfStream) { string line = reader.ReadLine(); // check for end or error. if (line == null) { break; } // ignore blank lines. line = line.Trim(); lineCount++; if (String.IsNullOrEmpty(line)) { continue; } // ignore commented out lines. if (line.StartsWith("//")) { continue; } // get source time. if (!ExtractField(lineCount, ref line, out sourceTimeOffset)) { continue; } // get server time. if (!ExtractField(lineCount, ref line, out serverTimeOffset)) { continue; } // get status code. if (!ExtractField(lineCount, ref line, out status)) { continue; } // get modification type. if (!ExtractField(lineCount, ref line, out recordType)) { continue; } // get modification time. if (!ExtractField(lineCount, ref line, out modificationTimeOffet)) { continue; } // get modification user. if (!ExtractField(lineCount, ref line, out modificationUser)) { continue; } if (recordType >= 0) { // get value type. if (!ExtractField(lineCount, ref line, out valueType)) { continue; } // get value. if (!ExtractField(lineCount, ref line, messageContext, valueType, out value)) { continue; } } else { // get annotation time. if (!ExtractField(lineCount, ref line, out annotationTimeOffet)) { continue; } // get annotation user. if (!ExtractField(lineCount, ref line, out annotationUser)) { continue; } // get annotation message. if (!ExtractField(lineCount, ref line, out annotationMessage)) { continue; } } // add values to data table. DataValue dataValue = new DataValue(); dataValue.WrappedValue = value; dataValue.SourceTimestamp = baseline.AddMilliseconds(sourceTimeOffset); dataValue.ServerTimestamp = baseline.AddMilliseconds(serverTimeOffset); dataValue.StatusCode = status; DataRow row = null; if (recordType == 0) { row = dataset.Tables[0].NewRow(); row[0] = dataValue.SourceTimestamp; row[1] = dataValue.ServerTimestamp; row[2] = dataValue; row[3] = valueType; row[4] = (value.TypeInfo != null) ? value.TypeInfo.ValueRank : ValueRanks.Any; dataset.Tables[0].Rows.Add(row); } else if (recordType > 0) { row = dataset.Tables[1].NewRow(); row[0] = dataValue.SourceTimestamp; row[1] = dataValue.ServerTimestamp; row[2] = dataValue; row[3] = valueType; row[4] = (value.TypeInfo != null) ? value.TypeInfo.ValueRank : ValueRanks.Any; row[5] = recordType; ModificationInfo info = new ModificationInfo(); info.UpdateType = (HistoryUpdateType)recordType; info.ModificationTime = baseline.AddMilliseconds(modificationTimeOffet); info.UserName = modificationUser; row[6] = info; dataset.Tables[1].Rows.Add(row); } else if (recordType < 0) { row = dataset.Tables[2].NewRow(); Annotation annotation = new Annotation(); annotation.AnnotationTime = baseline.AddMilliseconds(annotationTimeOffet); annotation.UserName = annotationUser; annotation.Message = annotationMessage; dataValue.WrappedValue = new ExtensionObject(annotation); row[0] = dataValue.SourceTimestamp; row[1] = dataValue.ServerTimestamp; row[2] = dataValue; row[3] = valueType; row[4] = (value.TypeInfo != null) ? value.TypeInfo.ValueRank : ValueRanks.Any; row[5] = annotation; dataset.Tables[2].Rows.Add(row); } dataset.AcceptChanges(); } return dataset; }
/// <summary> /// Adds a value to the grid. /// </summary> private void AddValue(DataValue value, ModificationInfo modificationInfo) { DataRow row = m_dataset.Tables[0].NewRow(); m_nextId += 10000; row[0] = m_nextId; UpdateRow(row, value, modificationInfo); m_dataset.Tables[0].Rows.Add(row); }
public void SetDescription(ModificationInfo modificationInfo) { ModificationInfo = modificationInfo; modificationNameTextObject.text = modificationInfo.Description.Name; }
/// <summary> /// Updates a value in the grid. /// </summary> private void UpdateRow(DataRow row, DataValue value, ModificationInfo modificationInfo) { row[1] = value.SourceTimestamp.ToLocalTime().ToString("HH:mm:ss.fff"); row[2] = value.ServerTimestamp.ToLocalTime().ToString("HH:mm:ss.fff"); row[3] = value.WrappedValue; row[4] = new StatusCode(value.StatusCode.Code); row[5] = value.StatusCode.AggregateBits.ToString(); if (modificationInfo != null) { row[6] = modificationInfo.UpdateType; row[7] = modificationInfo.ModificationTime.ToLocalTime().ToString("HH:mm:ss"); row[8] = modificationInfo.UserName; } row[9] = value; }
/// <summary> /// Reads the raw modified data for an item. /// </summary> private StatusCode ReadModified(HdaHistoryReadRawModifiedRequest request) { string methodName = "IOPCHDA_SyncRead.ReadModified"; OPCHDA_TIME htStartTime = ConvertTime(request.StartTime); OPCHDA_TIME htEndTime = ConvertTime(request.EndTime); int maxReturnValues = request.MaxReturnValues; if (m_maxReturnValues > 0 && maxReturnValues > m_maxReturnValues) { maxReturnValues = m_maxReturnValues; } IntPtr ppItemValues; IntPtr ppErrors; try { IOPCHDA_SyncRead server = BeginComCall<IOPCHDA_SyncRead>(methodName, true); server.ReadModified( ref htStartTime, ref htEndTime, maxReturnValues, 1, new int[] { request.ServerHandle }, out ppItemValues, out ppErrors); } catch (Exception e) { if (ComUtils.IsUnknownError(e, ResultIds.E_NOTIMPL)) { ComCallError(methodName, e); } return StatusCodes.BadNoData; } finally { EndComCall(methodName); } // check for error. int[] errors = ComUtils.GetInt32s(ref ppErrors, 1, true); if (errors[0] < 0) { return StatusCodes.BadNodeIdUnknown; } // check if operation halted. request.Completed = errors[0] != ResultIds.S_MOREDATA; // unmarshal the results. OPCHDA_MODIFIEDITEM result = (OPCHDA_MODIFIEDITEM)Marshal.PtrToStructure(ppItemValues, typeof(OPCHDA_MODIFIEDITEM)); if (result.dwCount > 0) { object[] values = ComUtils.GetVARIANTs(ref result.pvDataValues, result.dwCount, true); int[] qualities = ComUtils.GetInt32s(ref result.pdwQualities, result.dwCount, true); DateTime[] timestamps = ComUtils.GetDateTimes(ref result.pftTimeStamps, result.dwCount, true); DateTime[] modificationTimes = ComUtils.GetDateTimes(ref result.pftModificationTime, result.dwCount, true); string[] userNames = ComUtils.GetUnicodeStrings(ref result.szUser, result.dwCount, true); int[] editTypes = ComUtils.GetInt32s(ref result.pEditType, result.dwCount, true); request.Results = new DataValueCollection(result.dwCount); request.ModificationInfos = new ModificationInfoCollection(result.dwCount); for (int ii = 0; ii < result.dwCount; ii++) { DataValue value = new DataValue(); value.Value = ComUtils.ProcessComValue(values[ii]); value.StatusCode = ComUtils.GetHdaQualityCode(Utils.ToUInt32(qualities[ii])); value.SourceTimestamp = timestamps[ii]; request.Results.Add(value); ModificationInfo modification = new ModificationInfo(); modification.ModificationTime = modificationTimes[ii]; modification.UpdateType = (HistoryUpdateType)editTypes[ii]; modification.UserName = userNames[ii]; request.ModificationInfos.Add(modification); } if (!request.Completed) { request.StartTime = request.Results[request.Results.Count-1].SourceTimestamp; } } Marshal.FreeCoTaskMem(ppItemValues); if (result.dwCount == 0) { return StatusCodes.GoodNoData; } if (maxReturnValues > 0 && !request.Completed) { return StatusCodes.GoodMoreData; } return StatusCodes.Good; }
/// <summary> /// Creates a modification info record. /// </summary> private ModificationInfo GetModificationInfo(SystemContext context, HistoryUpdateType updateType) { ModificationInfo info = new ModificationInfo(); info.UpdateType = updateType; info.ModificationTime = DateTime.UtcNow; if (context.OperationContext != null && context.OperationContext.UserIdentity != null) { info.UserName = context.OperationContext.UserIdentity.DisplayName; } return info; }
public bool AddFeatureModifyLog(ModificationInfo modifyInfo) { _repositoryModificationInfo.Add(modifyInfo); Console.WriteLine("{0}, {1}, {2}, {3}", modifyInfo.UserName, modifyInfo.State, modifyInfo.FeatureClass, modifyInfo.FID); return(_repositoryModificationInfo.SaveChanges() > 0); }
internal static ModificationInfoResponse MapFrom(ModificationInfo source) => new ModificationInfoResponse() { At = source.At };