/// <summary>
        /// Update new data collector state.
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public GXDataCollectorStateUpdateResponse Put(GXDataCollectorStateUpdateRequest request)
        {
            List <GXEventsItem> events = new List <GXEventsItem>();

            lock (Db)
            {
                foreach (var it in request.States)
                {
#if !SS4
                    GXAmiDataCollector dc = Db.GetById <GXAmiDataCollector>(it.Key);
#else
                    GXAmiDataCollector dc = Db.SingleById <GXAmiDataCollector>(it.Key);
#endif
                    dc.State = it.Value;
                    Db.UpdateOnly(dc, p => p.State, p => p.Id == it.Key);
                    events.Add(new GXEventsItem(ActionTargets.DataCollector, Actions.State, dc));
                }
            }
            AppHost host = this.ResolveService <AppHost>();
            host.SetEvents(Db, this.Request, 0, events);
            return(new GXDataCollectorStateUpdateResponse());
        }
        /// <summary>
        /// Update new data collector state.
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public GXDataCollectorStateUpdateResponse Put(GXDataCollectorStateUpdateRequest request)
        {
            List<GXEventsItem> events = new List<GXEventsItem>();
            lock (Db)
            {                
                foreach (var it in request.States)
                {
#if !SS4
                    GXAmiDataCollector dc = Db.GetById<GXAmiDataCollector>(it.Key);
#else
                    GXAmiDataCollector dc = Db.SingleById<GXAmiDataCollector>(it.Key);                    
#endif                                                
                    dc.State = it.Value;
                    Db.UpdateOnly(dc, p => p.State, p => p.Id == it.Key);
                    events.Add(new GXEventsItem(ActionTargets.DataCollector, Actions.State, dc));
                }
            }
            AppHost host = this.ResolveService<AppHost>();
            host.SetEvents(Db, this.Request, 0, events);
            return new GXDataCollectorStateUpdateResponse();
        }