public GXSearchResponse Post(GXSearchRequest request)
 {
     lock (Db)
     {
         List<object> target = new List<object>();
         IAuthSession s = this.GetSession(false);
         if ((request.Target & ActionTargets.Device) != 0)
         {
             List<GXAmiDevice> list = GXDeviceService.GetDevices(s, Db, 0, 0, 0, 0, false, request.Texts, request.Operator, request.Type);
             foreach (GXAmiDevice it in list)
             {
                 GXDeviceService.UpdateContent(Db, it, DeviceContentType.Main);
             }
             target.AddRange(list.ToArray());
         }
         if ((request.Target & ActionTargets.DataCollector) != 0)
         {
             List<GXAmiDataCollector> list = GXDataCollectorService.GetDataCollectorsByUser(s, Db, 0, 0, false, request.Texts, request.Operator, request.Type);
             target.AddRange(list.ToArray());
         }                
         if ((request.Target & ActionTargets.User) != 0)
         {
             List<GXAmiUser> list = GXUserService.GetUsers(s, Db, 0, 0, false, true, request.Texts, request.Operator, request.Type);
             target.AddRange(list.ToArray());
         }
         if ((request.Target & ActionTargets.UserGroup) != 0)
         {
             List<GXAmiUserGroup> list = GXUserGroupService.GetUserGroups(Db, 0, request.Texts, request.Operator, request.Type);
             target.AddRange(list.ToArray());
         }
         GXSearchResponse res = new GXSearchResponse(target.ToArray());
         return res;
     }
 }
 public GXSearchResponse Post(GXSearchRequest request)
 {
     lock (Db)
     {
         List <object> target = new List <object>();
         IAuthSession  s      = this.GetSession(false);
         if ((request.Target & ActionTargets.Device) != 0)
         {
             List <GXAmiDevice> list = GXDeviceService.GetDevices(s, Db, 0, 0, 0, 0, false, request.Texts, request.Operator, request.Type);
             foreach (GXAmiDevice it in list)
             {
                 GXDeviceService.UpdateContent(Db, it, DeviceContentType.Main);
             }
             target.AddRange(list.ToArray());
         }
         if ((request.Target & ActionTargets.DataCollector) != 0)
         {
             List <GXAmiDataCollector> list = GXDataCollectorService.GetDataCollectorsByUser(s, Db, 0, 0, false, request.Texts, request.Operator, request.Type);
             target.AddRange(list.ToArray());
         }
         if ((request.Target & ActionTargets.User) != 0)
         {
             List <GXAmiUser> list = GXUserService.GetUsers(s, Db, 0, 0, false, true, request.Texts, request.Operator, request.Type);
             target.AddRange(list.ToArray());
         }
         if ((request.Target & ActionTargets.UserGroup) != 0)
         {
             List <GXAmiUserGroup> list = GXUserGroupService.GetUserGroups(Db, 0, request.Texts, request.Operator, request.Type);
             target.AddRange(list.ToArray());
         }
         GXSearchResponse res = new GXSearchResponse(target.ToArray());
         return(res);
     }
 }