/// <summary> /// 读取系统属性结果 /// </summary> /// <param name="result"></param> private void readSystemPropResult(object[] result) { string content = (string)result[0]; List <KeyValuePair <string, string> > list = SystemProperty.Parser(content); this.listViewProperties.BeginUpdate(); this.listViewProperties.Items.Clear(); this.keyList.Clear(); // 是否需要过滤 bool needFilter = this.checkBoxFilter.Checked && !string.IsNullOrEmpty(this.textBoxFilter.Text); foreach (KeyValuePair <string, string> line in list) { string key = line.Key; string value = line.Value; this.keyList.Add(key); // 需要过滤,并且包含这个关键词 if (!needFilter || key.Contains(this.textBoxFilter.Text)) { ListViewItem item = new ListViewItem(key); value = Encoding.UTF8.GetString(Encoding.Default.GetBytes(value)); item.SubItems.Add(value); this.listViewProperties.Items.Add(item); } } this.listViewProperties.EndUpdate(); // 更新自动完成列表 this.textBoxFilter.Invoke(updateSource); }
private SystemValue GetSystemValueProperty(SystemProperty property) { switch (property) { case SystemProperty.PortfolioDate: return(new PortfolioDateValue()); } throw new InvalidOperationException(); }
public void SubscribeToSystemValue(SystemProperty property) { _context.Post(state => { _systemValueSubscriptions.Add(property, GetSystemValueProperty(property)); var da = new DataAvailableEventArgs(); da.SystemValues.Add(property, _systemValueSubscriptions[property].GetValue()); DataAvailable?.Invoke(this, da); }, null); }
public void MouseSelect() { Debug.Log("点击---" + transform.GetSiblingIndex()); float h = SystemProperty.GetRelativeKeyboardHeight(canvas, true); text.text = h.ToString(); Vector3 upPos = originPos; upPos.y += h; rt.anchoredPosition3D = upPos; }
/// <summary> /// Initializes a new instance of the ObjectClass class. /// </summary> /// <param name="obj">Шаблон, для которого создается атрибут.</param> /// <param name="fieldName">аименование атрибута.</param> /// <param name="fieldType">Тип атрибута.</param> /// <param name="sys">Представление атрибута.</param> internal Field(ObjectClass obj, string fieldName, FieldType fieldType, SystemProperty sys) { this.objectClass = obj; this.order = -1; this.system = sys; this.name = fieldName; this.comment = string.Empty; this.defaultValue = new DefaultValue(fieldType); this.ChangeFieldType(fieldType); this.expression = string.Empty; this.category = this.IsPageField ? fieldName : Strings.Common; }
private void CheckBatteryStatus() { while (true) { Thread.Sleep(Int32.Parse(Mobile.Properties.Resources.BatterySaveDelay)); SystemProperty batteryInfo = SystemProperty.PowerBatteryStrength; BatteryLevel level = (BatteryLevel)SystemState.GetValue(batteryInfo); if (BatteryLevelNotification != null) { BatteryLevelNotification(this, new BatteryEventArgs(level, workflowManager.ToXml())); } } }
public object this[SystemProperty prop] { get { if (prop != SystemProperty.Custom) { return(this[this.GetField(prop)]); } return(null); } set { if (prop != SystemProperty.Custom) { this[this.GetField(prop)] = value; } else { throw new FieldNotFoundException(Strings.FieldNotDefined); } } }
/// <summary> /// Вспомогательный метод заполнения кортежей OpenPositionValues, ClosePositionValues и OtherPositionValues данными /// </summary> /// <param name="positions"></param> /// <param name="currentProp"></param> /// <param name="isDanger">Дополнительный параметр, указывает 'опасено' ли это поле для редактирования</param> /// <param name="valueList">Список свойст из таблици представления 'SafePositionEdit'. В этом методе в 'valueList' добавляется всегда /// однин элемент (новая строка в таблице представления 'SafePositionEdit'). Но при этом считается статистика</param> private static void FillProrertyList(IEnumerable <PositionItem> positions, PropertyInfo currentProp, bool isDanger, List <SystemProperty> valueList) { var positionItems = positions as PositionItem[] ?? positions.ToArray(); //Содержит человеко-понятное имя свойства из атрибута var propTitle = currentProp.Name; try { var attrDisplName = currentProp.CustomAttributes.SingleOrDefault(x => x.AttributeType == typeof(DisplayNameAttribute)); if (attrDisplName != null) { propTitle = (string)attrDisplName.ConstructorArguments[0].Value; } } catch (Exception ex) { Logger.Error(string.Format("FillProrertyList() - {0} {1}", Resource.TextUnableReadAttributeDisplayName, propTitle), ex); } if (positionItems.Count() == 1) { var propObj = currentProp.GetValue(positionItems.Single()); var propObjStr = propObj == null ? string.Empty : Converter.GetStringFromObject(propObj); var newRow = new SystemProperty { #region PropertyType = currentProp.PropertyType, SystemName = currentProp.Name, PropertyTypeName = Utils.GetTypeDescription(currentProp.PropertyType).Item1, PropertyTypeComment = Utils.GetTypeDescription(currentProp.PropertyType).Item2, Title = propTitle, IsDanger = isDanger, Value = propObjStr, Comment = Resource.TextSameInAllSelectedItems, Tag = propObjStr #endregion }; newRow.SetDescription(); valueList.Add(newRow); return; } //============= В случае, если для редактирования было выбрано больше двух строк ============== //сюда будем складывать статистику var differentValues = new List <string>(); // примеры значений текущего свойства const string strNull = "null"; const string strEmpty = " - "; // собираем статистику по текущему свойству foreach (var item in positionItems) { var propObj = currentProp.GetValue(item); var currentValues = propObj == null ? strNull : string.IsNullOrEmpty(propObj.ToString()) ? strEmpty : Converter.GetStringFromObject(propObj); if (differentValues.Contains(currentValues)) { continue; } differentValues.Add(currentValues); } var newMultiRow = new SystemProperty { #region PropertyType = currentProp.PropertyType, SystemName = currentProp.Name, PropertyTypeName = Utils.GetTypeDescription(currentProp.PropertyType).Item1, PropertyTypeComment = Utils.GetTypeDescription(currentProp.PropertyType).Item2, Title = propTitle, IsDanger = isDanger, Value = string.Format("{0}", string.Join(", ", differentValues)), Comment = (differentValues.Count < 2) ? Resource.TextSameInAllSelectedItems : string.Format("{0} {1}", Resource.TextNumberDistinctValues, +differentValues.Count), Tag = (differentValues.Count == 1) ? differentValues[0].Replace(strNull, string.Empty).Replace(strEmpty, string.Empty) : string.Empty #endregion }; newMultiRow.SetDescription(); valueList.Add(newMultiRow); }
public SystemPropertyExcelObservable(SystemProperty systemProperty, DataServiceClient rtdClient) { SystemProperty = systemProperty; _rtdClient = rtdClient; }
public void UnsubscribeToSystemValue(SystemProperty property) { _context.Post(state => { _systemValueSubscriptions.Remove(property); }, null); }
public Field this[SystemProperty sys] { get { return(this.fields.FirstOrDefault(f => f.SystemProperty == sys)); } }
public ActionResult SafePositionEdit(FormCollection formCollection) { var openPositionChangedPropertyList = new List <SystemProperty>(); var closePositionChangedPropertyList = new List <SystemProperty>(); var strOpenId = String.Empty; // содержит, перечисленные через запятую, уникальные идентификаторы открытых позиций, которые нужно обновить var strCloseId = String.Empty; // -- закрытых позиций, которые нужно обновить //Список ошибок валидации. Формат: Поле - коментарий к ошибке var validationErrorList = new List <Tuple <string, string> >(); // Мапим коллекцию 'FormCollection' в списоки из элементов 'SystemProperty' // Элемент item имеет тут знаения типа "Open_Side", "Open_StopLoss" и т.п. foreach (var item in formCollection) { if (String.IsNullOrEmpty(formCollection[item.ToString()])) { continue; //Если строка оставлена пользователем пустой, тогда НЕ вносим это поле в список на редактирование } string type; string systemName; #region парсим тип свойства и его системное имя try { type = ((string)item).Split('_')[0]; systemName = ((string)item).Split('_')[1]; } catch (Exception ex) { Logger.Error(String.Format("SafePositionEdit() - не {0}", item), ex); continue; } #endregion var prop = new SystemProperty { SystemName = systemName, Value = formCollection[item.ToString()] }; if (!prop.Validation()) { validationErrorList.Add(new Tuple <string, string>(systemName, Resource.ErrorMessageInvalid)); continue; } // Поскольку в следующем switch нет случаев 'OpenDanger_', 'CloseDanger_' и 'OtherDanger_' то в выборку на // редактирование попадут только "безопасные" поля сделок #region в зависимости от состояния сделки (открыта / закрыта), запихиваем её свойство в соответствующий список из 'SystemProperty' switch (type) { case "Open": openPositionChangedPropertyList.Add(prop); break; case "Close": closePositionChangedPropertyList.Add(prop); break; case "ItemsId": if (systemName == "Open") { strOpenId = formCollection[item.ToString()]; } if (systemName == "Close") { strCloseId = formCollection[item.ToString()]; } break; } #endregion } var mess = string.Empty; mess += positionRepository.UpdateSavePositionItem(strOpenId, openPositionChangedPropertyList, PositionState.Opened) ? string.Format("{0}: {1}", Resource.MessageMarketOrderUpdate, strOpenId) : string.Format("{0}: {1} - {2}.", Resource.ErrorMessage, Resource.ErrorMessageUnableMarketOrderUpdate, strOpenId); mess += " "; mess += positionRepository.UpdateSavePositionItem(strCloseId, closePositionChangedPropertyList, PositionState.Closed) ? string.Format("{0}: {1}", Resource.MessageMarketOrderUpdate, strCloseId) : string.Format("{0}: {1} - {2}.", Resource.ErrorMessage, Resource.ErrorMessageUnableMarketOrderUpdate, strCloseId); #region Если были найдены ошибки валидации возвращаем на ту же самую страницу редактирования, но уже со списком ошибок if (validationErrorList.Count > 0) { var idArray = String.Empty; if (!String.IsNullOrEmpty(strOpenId)) { idArray += strOpenId; } if (!String.IsNullOrEmpty(strCloseId)) { idArray += "," + strCloseId; } var positions = positionRepository.GetPositionsById(idArray.ToIntArrayUniform()); var model = new PositionsEditModel(positions) { validationErrorList = validationErrorList }; return(View("SafePositionEdit", model)); } #endregion return(RedirectToAction("PositionList", new { message = mess, accountId = -1 })); }
public SystemValueReceivedEventArgs(SystemProperty property, object value) { Property = property; Value = value; }
public bool updateSystemProperty(SystemProperty systemProperty) { return(client.isStatusCodeOK(client.put("system/properties/" + systemProperty.key, systemProperty, new Dictionary <string, string>()))); }
public bool createSystemProperty(SystemProperty systemProperty) { return(client.isStatusCodeOK(client.post("system/properties", systemProperty, new Dictionary <string, string>()))); }
/// <summary> /// Метод возвращает атрибут используемый в объекте по его представлению. Возвращается первый из найденных. /// </summary> /// <param name="prop">Представление атрибута.</param> /// <returns>Атрибут используемый в объекте по его представлению. Возвращается первый из найденных.</returns> private Field GetField(SystemProperty prop) { return(this.data.Keys.FirstOrDefault(f => f.SystemProperty == prop)); }
public void SendSystemValue(SystemProperty property, object value) { OnSystemValueReceived?.Invoke(this, new SystemValueReceivedEventArgs(property, value)); }