private bool TryGetConditions(int pageIndex, int pageSize, out Hashtable conditions) { var errors = new List <string>(); Int32 pageStart = pageSize * (pageIndex - 1) + 1; Int32 pageEnd = pageSize * pageIndex; EndDate = EndDate.AddDays(1).AddSeconds(-1); conditions = new Hashtable() { { "StartDate", StartDate }, { "EndDate", EndDate }, { "PageStart", pageStart }, { "PageEnd", pageEnd }, }; if (!string.IsNullOrWhiteSpace(DeviceCode)) { if (DeviceCode.ToInt32() == ConvertorExtension.ConvertionFailureValue) { errors.Add("设备编号的输入值必须是数字"); } if (ApplicationManager.GetInstance().AuthorizationDevices.All(x => x.Code != DeviceCode)) { errors.Add("输入的设备编号不存在系统中"); } conditions.Add("DeviceCode", DeviceCode); } if (!string.IsNullOrWhiteSpace(UserCode)) { if (UserCode.ToInt32() == ConvertorExtension.ConvertionFailureValue) { errors.Add("人员工号的输入值必须是数字"); } conditions.Add("DeviceUserId", UserCode); } if (!string.IsNullOrWhiteSpace(OperatorId)) { if (OperatorId.ToInt32() == ConvertorExtension.ConvertionFailureValue) { errors.Add("操作人员工号的输入值必须是数字"); } conditions.Add("OperatorId", OperatorId); } if (errors.Any()) { var message = string.Join("\n", errors); DispatcherHelper.CheckBeginInvokeOnUI(() => { Messenger.Default.Send(new NotificationMessage(message), Tokens.DeviceOperationLogPage_ShowNotification); }); return(false); } return(true); }
private void QueryDeviceUser() { if (SelectedDevice == null) { SendMessage("选择设备不能为空。"); return; } if (!string.IsNullOrWhiteSpace(UserCode) && UserCode.ToInt32() == ConvertorExtension.ConvertionFailureValue) { SendMessage("输入的人员工号值无效。"); return; } DispatcherHelper.CheckBeginInvokeOnUI(async() => { string message = ""; DSProxy.DeviceUserDto[] deviceUsers = null; var controller = await DialogCoordinator.Instance.ShowProgressAsync(this, "查询设备人员", "查询设备人员中,请稍等"); controller.SetIndeterminate(); await Task.Run(() => { try { DSProxy.ResultTypes resultTypes; string[] messages; deviceUsers = new DSProxy.DeviceServiceClient().QueryDeviceUsers(SelectedDevice, UserCode, out resultTypes, out messages); message = MessageHandler.GenerateDeviceMessage(resultTypes, messages, "", "查询设备人员失败!"); } catch (Exception ex) { Log.Error(ex); message = "查询设备人员失败!"; } }); await controller.CloseAsync(); if (!string.IsNullOrWhiteSpace(message)) { Messenger.Default.Send(new NotificationMessage(message), Tokens.SyncUserView_ShowNotification); } else { DeviceUserDtos = new ObservableCollection <SelectableItem>(); if (deviceUsers != null && deviceUsers.Any()) { deviceUsers.OrderBy(x => x.UserCode).ForEach(x => { var item = new ComboBoxItem() { ID = x.UserCode, DisplayName = x.UserName }; var conditions = new Hashtable() { { "UserCode", x.UserCode } }; var userInfo = _userRepo.QueryUsersForSummaryData(conditions).FirstOrDefault(); if (userInfo != null) { item.Description = userInfo.UserID.ToString(); } DeviceUserDtos.Add(item); }); } } }); }