public Device CreateDevice()
        {
            Device device = new Device();
            // Tạo tên cho device
            string name = $"Device_{random.Next(1000, 10000).ToString()}_{DateTime.Now.ToString("yyyyMMdd-HHmmss")}";

            device.Name = name;
            // Thêm thông tin host
            device.HostId = DeviceVariablesService.MyHost.Id;
            // Tạo Ld mới
            LdPlayerService.Create(device.Name);
            Thread.Sleep(TimeSpan.FromSeconds(DeviceVariablesService.TimeCreateDevice));
            // Config device
            LdPlayerService.PropertySetting(device.Name, DeviceVariablesService.ConfigDevice);
            Thread.Sleep(TimeSpan.FromSeconds(DeviceVariablesService.TimeCreateDevice));
            // Rundevice
            LdPlayerService.Run(device.Name);
            Thread.Sleep(TimeSpan.FromSeconds(DeviceVariablesService.TimeRunDevice));
            // Đọc ip tất cả device
            List <String> deviceIps = KAutoHelper.ADBHelper.GetDevices();

            foreach (var dvIp in deviceIps)
            {
                int index = DeviceVariablesService.DeviceIpsRunning.FindIndex(drning => drning == dvIp);
                if (index == -1)
                {
                    device.DeviceIp = dvIp;
                }
            }
            // Thêm thông tin deviceIp đang chạy
            DeviceVariablesService.DeviceIpsRunning.Add(device.DeviceIp);
            // Cài phần mềm
            for (int i = 0; i < 5; i++)
            {
                string apkBrowser = $"{DeviceVariablesService.ApkPath}{DeviceVariablesService.ApkBrowserName}{i + 1}.apk";
                LdPlayerService.InstallApp(device.Name, apkBrowser);

                Thread.Sleep(TimeSpan.FromSeconds(DeviceVariablesService.TimeInstallApp));
                // Thêm thông tin Browser đã cài vào Device
                Browser br = new Browser($"{DeviceVariablesService.BrowserName}{i + 1}", apkBrowser);
                device.Browsers.Add(br);
            }
            string apkFbName = $@"{DeviceVariablesService.ApkPath}{DeviceVariablesService.ApkFacebookName}";

            LdPlayerService.InstallApp(device.Name, apkFbName);
            Thread.Sleep(TimeSpan.FromSeconds(DeviceVariablesService.TimeInstallApp));

            // Lấy ra device mới chạy
            device.Status = true;
            // Lưu thông tin device vào Db
            device = devicesRepo.Add(device);
            return(device);
        }
Exemplo n.º 2
0
        public Utility.OpResult SaveOrUpdate(Devices model)
        {
            IQueryable <Devices> isExist = null;

            if (model.Id == 0)
            {
                isExist = DevicesRepository.GetQuery(o => o.CategoryId == model.CategoryId && o.Title == model.Title && o.Brand == model.Brand && o.Spec == model.Spec);
            }
            else
            {
                isExist = DevicesRepository.GetQuery(o => o.CategoryId == model.CategoryId && o.Title == model.Title && o.Brand == model.Brand && o.Spec == model.Spec && o.Id != model.Id);
            }

            if (isExist.Any())
            {
                return(OpResult.Fail("该条设备记录已经存在"));
            }
            if (model.Id == 0)
            {
                DevicesRepository.Add(model);
            }
            else
            {
                var source = DevicesRepository.Get(model.Id);
                model.ToCopyProperty(source, new List <string>()
                {
                    "DeviceId", "Status", "CreateUID"
                });
            }

            if (DevicesRepository.SaveChanges())
            {
                LogEngine.WriteUpdate(model.Id + "," + model.Title, LogModule.设备管理);
            }
            return(OpResult.Success());
        }