Esempio n. 1
0
        private bool IsEnabled(object thing)
        {
            var payload = new InstrumentationPayload {
                FeatureName = Name,
                Operation   = "enabled?",
            };

            if (thing != null)
            {
                payload.Thing = thing;
            }
            using (Instrumenter.InstrumentFeature(payload))
            {
                var  values   = GateValues;
                var  openGate = Gates.FirstOrDefault(gate => InstrumentGate(gate, "open?", thing, x => x.IsOpen(thing, values[x.Key], Name)));
                bool result;
                if (openGate != null)
                {
                    payload.GateName = openGate.Name;
                    result           = true;
                }
                else
                {
                    result = false;
                }
                payload.Result = result;
                return(result);
            }
        }