private object GetBoolValue(PriceFields priceField) { string fieldValue = GetFieldValue(priceField); if (fieldValue == "1") { return(true); } return(false); }
protected bool GetBoolValue(PriceFields priceField, string mask) { bool value = false; var trueValues = new[] { "истина", "true" }; var falseValues = new[] { "ложь", "false" }; string[] selectedValues = null; try { foreach (string boolValue in trueValues) { if (boolValue.Equals(mask, StringComparison.OrdinalIgnoreCase)) { selectedValues = trueValues; } } foreach (string boolValue in falseValues) { if (boolValue.Equals(mask, StringComparison.OrdinalIgnoreCase)) { selectedValues = falseValues; } } string fieldValue = GetFieldValue(priceField); //Если в столбце значение пусто, то возвращаем значение по умолчанию if (String.IsNullOrEmpty(fieldValue)) { return(value); } if (selectedValues != null) { Regex reRussian = new Regex(selectedValues[0], RegexOptions.IgnoreCase); Match mRussian = reRussian.Match(fieldValue); Regex reEnglish = new Regex(selectedValues[1], RegexOptions.IgnoreCase); Match mEnglish = reEnglish.Match(fieldValue); value = (mRussian.Success || mEnglish.Success); } else { Regex re = new Regex(mask); Match m = re.Match(fieldValue); value = (m.Success); } } catch { } return(value); }
public decimal GetDecimalValue(PriceFields field) { var value = GetFieldValueObject(field); if (value is DBNull) { return(0); } if (Cost.IsZeroOrLess((decimal)value)) { return(0); } return((decimal)value); }
/// <summary> /// Получить значение поля как объект /// </summary> public virtual object GetFieldValueObject(PriceFields PF) { switch ((int)PF) { case (int)PriceFields.OptimizationSkip: return(GetBoolValue(PF)); case (int)PriceFields.Await: return(GetBoolValue(PF, awaitPos)); case (int)PriceFields.Junk: return(GetBoolValue(PF, junkPos)); case (int)PriceFields.VitallyImportant: return(GetBoolValue(PF, vitallyImportantMask)); case (int)PriceFields.RequestRatio: return(ProcessInt(GetFieldRawValue(PF))); case (int)PriceFields.Code: case (int)PriceFields.CodeCr: case (int)PriceFields.Doc: case (int)PriceFields.FirmCr: case (int)PriceFields.Name1: case (int)PriceFields.Name2: case (int)PriceFields.Name3: case (int)PriceFields.Note: case (int)PriceFields.Unit: case (int)PriceFields.Volume: case (int)PriceFields.OriginalName: return(GetFieldValue(PF)); case (int)PriceFields.ProducerCost: case (int)PriceFields.MinBoundCost: case (int)PriceFields.RegistryCost: case (int)PriceFields.MaxBoundCost: case (int)PriceFields.OrderCost: return(ProcessCost(GetFieldRawValue(PF))); case (int)PriceFields.Quantity: case (int)PriceFields.MinOrderCount: return(ProcessInt(GetFieldRawValue(PF))); case (int)PriceFields.Period: return(ProcessPeriod(GetFieldRawValue(PF))); default: return(DBNull.Value); } }
/// <summary> /// Получить сырое значение текущего поля /// </summary> /// <param name="field"></param> /// <returns></returns> public virtual string GetFieldRawValue(PriceFields field) { try { //Если имя столбца для поля не определено, то возвращаем null if (String.IsNullOrEmpty(GetFieldName(field))) { return(null); } var value = _priceData.Rows[_index][GetFieldName(field)].ToString(); value = CleanupCharsThatNotFitIn1251(value); return(value); } catch { return(null); } }
public string GetFieldValue(PriceFields PF) { if (null == m) { return(String.Empty); } try { switch ((int)PF) { case (int)PriceFields.Code: return(m.Groups[reGroupName[(int)NameGroup.Code]].Value); case (int)PriceFields.Doc: return(m.Groups[reGroupName[(int)NameGroup.Doc]].Value); case (int)PriceFields.FirmCr: return(m.Groups[reGroupName[(int)NameGroup.FirmCr]].Value); case (int)PriceFields.Name1: case (int)PriceFields.Name2: case (int)PriceFields.Name3: return(m.Groups[reGroupName[(int)NameGroup.Name]].Value); case (int)PriceFields.Note: return(m.Groups[reGroupName[(int)NameGroup.Note]].Value); case (int)PriceFields.Period: return(m.Groups[reGroupName[(int)NameGroup.Period]].Value); case (int)PriceFields.Unit: return(m.Groups[reGroupName[(int)NameGroup.Unit]].Value); default: return(String.Empty); } } catch { return(String.Empty); } }
public static string GetDescription(PriceFields value) { object[] descriptions = value.GetType().GetField(value.ToString()).GetCustomAttributes(false); return(((System.ComponentModel.DescriptionAttribute)descriptions[0]).Description); }
/// <summary> /// Получить значение поля в обработанном виде /// </summary> public virtual string GetFieldValue(PriceFields field) { string res = null; //Сначала пытаемся вытянуть данные из toughMask if (null != toughMask) { res = toughMask.GetFieldValue(field); if (null != res) { //Удаляем опасные слова только из наименований if ((PriceFields.Name1 == field) || (PriceFields.Name2 == field) || (PriceFields.Name2 == field) || (PriceFields.OriginalName == field)) { res = RemoveForbWords(res); } if ((PriceFields.Note != field) && (PriceFields.Doc != field)) { res = UnSpace(res); } } } //Если у нас это не получилось, что пытаемся вытянуть данные из самого поля if ((null == res) || ("" == res.Trim())) { res = GetFieldRawValue(field); if (null != res) { if ((PriceFields.Name1 == field) || (PriceFields.Name2 == field) || (PriceFields.Name2 == field)) { res = RemoveForbWords(res); } res = UnSpace(res); } } if ((PriceFields.Name1 == field) || (PriceFields.Name2 == field) || (PriceFields.Name2 == field) || (PriceFields.OriginalName == field) || (PriceFields.FirmCr == field)) { if (null != res && res.Length > 255) { res = res.Remove(255, res.Length - 255); res = res.Trim(); } } if (PriceFields.Name1 == field || PriceFields.OriginalName == field) { if (_priceData.Columns.IndexOf(GetFieldName(PriceFields.Name2)) > -1) { res = UnSpace(String.Format("{0} {1}", res, RemoveForbWords(GetFieldRawValue(PriceFields.Name2)))); } if (_priceData.Columns.IndexOf(GetFieldName(PriceFields.Name3)) > -1) { res = UnSpace(String.Format("{0} {1}", res, RemoveForbWords(GetFieldRawValue(PriceFields.Name3)))); } if (null != res && res.Length > 255) { res = res.Remove(255, res.Length - 255); res = res.Trim(); } return(res); } return(res); }
private uint GetUintOrDefault(PriceFields field) { var value = ProcessInt(GetFieldRawValue(field)); return(value is DBNull ? 0 : (uint)((int)value)); }
/// <summary> /// Установить название поля, которое будет считано из набора данных /// </summary> public void SetFieldName(PriceFields PF, string Value) { fieldNames[(int)PF] = Value; }
protected static string GetDescription(PriceFields value) { var descriptions = value.GetType().GetField(value.ToString()).GetCustomAttributes(false); return(((DescriptionAttribute)descriptions[0]).Description); }
public string GetFieldName(PriceFields PF) { return(fieldNames[(int)PF]); }