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); }
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()); }