private const string EXTAGENCY = "extagency";\r
private const string DURATION = "duration";\r
private const string MODIFIED = "modifiedtimestamp";\r
- private List<String> acceptableExtensions = new List<string>();\r
+ private List<String> acceptableAgencies = new List<string>();\r
private List<NexioSourceItem> cache = new List<NexioSourceItem>();\r
private IMessageBus messageBus;\r
private Control parent;\r
private NexioAPI dataClient;\r
private string filter;\r
+ private Object lockObject = new Object();\r
\r
public DataGridViewColumn[] Columns {\r
get {\r
cache.AddRange(this);\r
filter = value;\r
Clear();\r
- cache.Where(i => i.Name.ToLower().Contains(filter.ToLower())).ToList().ForEach(i => Add(i));\r
+ lock (lockObject)\r
+ cache.Where(i => i.Name.ToLower().Contains(filter.ToLower())).ToList().ForEach(i => Add(i));\r
}\r
}\r
\r
\r
private MediaCubeErrorReporter errorReporter;\r
\r
- public NexioRESTSource(Control parent, IMessageBus messageBus, MediaCubeErrorReporter errorReporter, String fileExtensionFilter) {\r
+ public NexioRESTSource(Control parent, IMessageBus messageBus, MediaCubeErrorReporter errorReporter, String agencyFilter) {\r
this.parent = parent;\r
this.messageBus = messageBus;\r
this.errorReporter = errorReporter;\r
- SetAcceptableExtensions(fileExtensionFilter);\r
+ SetAcceptableAgencies(agencyFilter);\r
}\r
\r
- private void SetAcceptableExtensions(string fileExtensionFilter) {\r
- if (fileExtensionFilter != null)\r
- acceptableExtensions = fileExtensionFilter.Split(',')?.ToList();\r
+ private void SetAcceptableAgencies(string agencyFilter) {\r
+ if (agencyFilter != null)\r
+ acceptableAgencies = agencyFilter.Split(',')?.ToList();\r
}\r
\r
public void Startup(Uri address) {\r
return;\r
JToken d = JToken.Parse(jToken.ToString());\r
string action = resultObject.GetValue(NexioAPI.ACTION).ToString();\r
- switch (action) {\r
- case NexioAPI.LIST:\r
- OnList(d);\r
- break;\r
- case NexioAPI.CREATE:\r
- OnCreated(d);\r
- break;\r
- case NexioAPI.DELETE:\r
- OnDeleted(d);\r
- break;\r
- case NexioAPI.UPDATE:\r
- OnChanged(d);\r
- break;\r
- }\r
+ lock (lockObject)\r
+ switch (action) {\r
+ case NexioAPI.LIST:\r
+ OnList(d);\r
+ break;\r
+ case NexioAPI.CREATE:\r
+ OnCreated(d);\r
+ break;\r
+ case NexioAPI.DELETE:\r
+ OnDeleted(d);\r
+ break;\r
+ case NexioAPI.UPDATE:\r
+ OnChanged(d);\r
+ break;\r
+ }\r
}\r
\r
//private void AddItem(JToken token, Boolean highlight) {\r
if (l == null)\r
return;\r
//l.Children().ToList().Select(t => CreateItem(t, false)).OrderByDescending(i => i.Created).ToList().ForEach(i => parent.SafeCall(() => Add(i)));\r
- l.Children().ToList().Select(t => CreateItem(t, false)).Where(x => x.CanHandle(acceptableExtensions)).OrderByDescending(i => i.Created).ToList().ForEach(i => parent.SafeCall(() => Add(i)));\r
+ l.Children().ToList().Select(t => CreateItem(t, false)).Where(x => x.CanHandle(acceptableAgencies)).OrderByDescending(i => i.Created).ToList().ForEach(i => parent.SafeCall(() => Add(i)));\r
}\r
\r
private void OnChanged(JToken token) {\r
string id = token[ID].ToString();\r
var item = Items.Where(x => x.ID == id).SingleOrDefault();\r
- if (item != null && item.CanHandle(acceptableExtensions)) {\r
+ if (item != null && item.CanHandle(acceptableAgencies)) {\r
SetItem(ref item, token);\r
parent.SafeCall(() => {\r
messageBus.Send(new ModifyFileActionMsg() {\r
\r
private void OnCreated(JToken token) {\r
var item = CreateItem(token, true);\r
- if (item.CanHandle(acceptableExtensions)) {\r
+ if (item.CanHandle(acceptableAgencies)) {\r
parent.SafeCall(() => {\r
Insert(0, item);\r
messageBus.Send(new CreateFileActionMsg() {\r