/// <summary> /// Initializes a new instance of an object. /// </summary> /// <param name="presentationId">Presentation Id.</param> /// <param name="format">Export format.</param> public ExportKey(int presentationId, Models.ImageExportFormat format) { PresentationId = presentationId; CorrelationId = Guid.NewGuid().ToString(); Created = DateTime.UtcNow; Format = format; }
/// <summary> /// Tries to parse the given key. /// </summary> /// <param name="input">Input string.</param> /// <param name="result">Result.</param> /// <returns>Value indicating whether key was parsed.</returns> public static bool TryParse(string input, out ExportKey result) { bool ret = false; long created = 0; int presentationId = -1; string[] components = null; Guid correlationId = Guid.Empty; Models.ImageExportFormat format = Models.ImageExportFormat.JPG; result = null; if (string.IsNullOrWhiteSpace(input) || string.Compare(input, "null", true) == 0) { ret = true; result = new ExportKey(-1, Models.ImageExportFormat.JPG) { CorrelationId = string.Empty, Created = DateTime.MinValue }; } else { components = input.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); if (components != null && components.Length > 3) { if (long.TryParse(components[0], out created) && int.TryParse(components[1], out presentationId) && Guid.TryParse(components[2], out correlationId) && Enum.TryParse <Models.ImageExportFormat>(components[3], out format)) { ret = true; result = new ExportKey(presentationId, format) { CorrelationId = correlationId.ToString(), Created = new DateTime(created, DateTimeKind.Utc) }; } } } return(ret); }