public IList <DBTagInfo> GetContainTags(DBFileInfo monitoredFile) { IList <DBTagInfo> tagInfos = new List <DBTagInfo>(); if (monitoredFile.IsNull()) { return(tagInfos); } string[] array = monitoredFile.Tag.Split(';'); for (int i = 0; i < array.Length; i++) { int tagId = -1; if (!Int32.TryParse(array[i], out tagId)) { continue; } DBTagInfo tagInfo = TagInfos.FirstOrDefault(tag => tag.ID == tagId); if (tagInfo.IsNull()) { continue; } tagInfos.Add(tagInfo); } return(tagInfos); }
private static void Server() { while (true) { HttpListenerContext context; try { context = httpListener.GetContext(); } catch { break; } var req = context.Request; var res = context.Response; try { if (urlFile.IsMatch(req.RawUrl)) { var result = urlFile.Match(req.RawUrl); var filename = result.Groups["filename"].Value; var format = result.Groups["format"].Value; var fileBytes = File.ReadAllBytes(Environment.CurrentDirectory + @"\library\" + filename + '.' + format); res.OutputStream.Write(fileBytes, 0, fileBytes.Length); res.StatusCode = 200; } else if (urlTagInfos.IsMatch(req.RawUrl)) { var json = JsonConvert.SerializeObject(TagInfos.ToArray()); var jsonBytes = Encoding.UTF8.GetBytes(json); res.OutputStream.Write(jsonBytes, 0, jsonBytes.Length); res.StatusCode = 200; } else if (urlFileInfos.IsMatch(req.RawUrl)) { var json = JsonConvert.SerializeObject(FileInfos.ToArray()); var jsonBytes = Encoding.UTF8.GetBytes(json); res.OutputStream.Write(jsonBytes, 0, jsonBytes.Length); res.StatusCode = 200; } else if (urlFileTagMappers.IsMatch(req.RawUrl)) { var json = JsonConvert.SerializeObject(FileTagMappers.ToArray()); var jsonBytes = Encoding.UTF8.GetBytes(json); res.OutputStream.Write(jsonBytes, 0, jsonBytes.Length); res.StatusCode = 200; } else { res.StatusCode = 404; } } catch { res.StatusCode = 500; } finally { res.Close(); } } }
public TagInfo GetTagInfo(ElfMachine machine) { if (TagInfos.TryGetValue(Tag, out var info)) { return(info); } if (MachineSpecificInfos.TryGetValue(machine, out var machineInfos)) { if (machineInfos.TryGetValue(Tag, out info)) { return(info); } } return(null); }
public async Task Refresh() { if (_gitRepository.TryGetTarget(out var gitRepository) == false) { System.Diagnostics.Debug.Assert(false); return; } TagInfos.Clear(); string cmd = GitCommandCreator.ListTag(); foreach (var tagInfo in TagParser.Parse(await gitRepository.CreateGitRunner().RunAsync(cmd))) { TagInfos.Add(tagInfo); } NotifyPropertyChanged("TagInfos"); }