using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Perforce.P4 { /// <summary> /// Specifies a fix relationship between one or more jobs and one /// or more changelists. /// </summary> public class Fix { public string JobId { get; set; } public int ChangeId { get; set; } public DateTime Date { get; set; } public string ClientName { get; set; } public string UserName { get; set; } public string Status { get; set; } StringEnum<FixAction> _action; public FixAction Action { get { return _action; } set { _action = value; } } public Fix() { } public Fix( string jobid, int changeid, DateTime date, string clientname, string username, string status, FixAction action ) { JobId = jobid; ChangeId = changeid; Date = date; ClientName = clientname; UserName = username; Status = status; Action = action; } public void ParseFixesCmdTaggedData(TaggedObject obj, string offset, bool dst_mismatch) { if (obj.ContainsKey("Job")) { JobId = obj["Job"]; } if (obj.ContainsKey("Change")) { int c = -1; int.TryParse(obj["Change"], out c); ChangeId = c; } if (obj.ContainsKey("Date")) { DateTime UTC = FormBase.ConvertUnixTime(obj["Date"]); DateTime GMT = new DateTime(UTC.Year, UTC.Month, UTC.Day, UTC.Hour, UTC.Minute, UTC.Second, DateTimeKind.Unspecified); Date = FormBase.ConvertFromUTC(GMT, offset, dst_mismatch); } if (obj.ContainsKey("User")) { UserName = obj["User"]; } if (obj.ContainsKey("Client")) { ClientName = obj["Client"]; } if (obj.ContainsKey("Status")) { Status = obj["Status"]; } if (obj.ContainsKey("Action")) { _action = obj["Action"]; } else { Action = FixAction.Fixed; } } public static Fix FromFixesCmdTaggedOutput(TaggedObject obj, string offset, bool dst_mismatch) { Fix val = new Fix(); val.ParseFixesCmdTaggedData(obj, offset,dst_mismatch); return val; } public static Fix FromFixCmdTaggedOutput(TaggedObject obj) { Fix val = new Fix(); if (obj.ContainsKey("job")) { val.JobId = obj["job"]; } if (obj.ContainsKey("change")) { int v = -1; int.TryParse(obj["change"], out v); val.ChangeId = v; } if (obj.ContainsKey("status")) { val.Status = obj["status"]; } if (obj.ContainsKey("action")) { val._action = obj["action"]; } return val; } } /// <summary> /// The fix action (Fixed or Unfixed). /// </summary> [Flags] public enum FixAction { /// <summary> /// Fixed /// </summary> Fixed = 0x000, /// <summary> /// Fix removed /// </summary> Unfixed = 0x001 } }
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 18970 | rtande |
Merging //guest/perforce_software/p4connect/main/src/... to //rtande/p4connect/main/src/... |
||
//guest/perforce_software/p4connect/main/src/P4Bridge/p4api.net/Fix.cs | |||||
#1 | 16209 | Norman Morse | Move entire source tree into "main" branch so workshop code will act correctly. | ||
//guest/perforce_software/p4connect/src/P4Bridge/p4api.net/Fix.cs | |||||
#2 | 12135 | Norman Morse |
Integrate dev branch changes into main. This code is the basiis of the 2.7 BETA release which provides Unity 5 compatibility |
||
#1 | 10940 | Norman Morse |
Inital Workshop release of P4Connect. Released under BSD-2 license |