public bool TryCreateTemplate(string name) { if (!TryCreateHostGroup("Metrics.NET")) { return(false); } using (var context = _contextCreator()) { try { var service = new ZabbixApi.Services.TemplateService(context); var template = service.GetByPropety("name", name); if (template == null) { template = new Template(); template.host = name; template.name = name; template.groups = new List <HostGroup> { _HostGroupMetricsCache }; template.hosts = new List <Host> { _HostCache }; template.Id = service.Create(template); } else { if (template.hosts.FirstOrDefault(h => h.Id == _HostCache.Id) == null) { template.hosts.Add(_HostCache); if (service.Update(template) == null) { return(false); } } } if (template.Id != null) { TryCreateApplication(name, template.Id); _TemplateCache = template; return(true); } else { return(false); } } catch (Exception ex) { MetricsErrorHandler.Handle(ex, string.Format("Error on configuring zabbix template, zabbix api {0}", _url)); return(false); } } }
public bool TryCreateTemplate(string name) { if (!TryCreateHostGroup("Metrics.NET")) return false; using (var context = _contextCreator()) { try { var service = new ZabbixApi.Services.TemplateService(context); var template = service.GetByPropety("name", name); if (template == null) { template = new Template(); template.host = name; template.name = name; template.groups = new List<HostGroup> { _HostGroupMetricsCache }; template.hosts = new List<Host> { _HostCache }; template.Id = service.Create(template); } else { if (template.hosts.FirstOrDefault(h => h.Id == _HostCache.Id) == null) { template.hosts.Add(_HostCache); if (service.Update(template) == null) return false; } } if (template.Id != null) { TryCreateApplication(name, template.Id); _TemplateCache = template; return true; } else { return false; } } catch (Exception ex) { MetricsErrorHandler.Handle(ex, string.Format("Error on configuring zabbix template, zabbix api {0}", _url)); return false; } } }