public void SetValue(Qualifier.Unique qualifier, string value)
 {
     if (AllValues.ContainsKey(qualifier))
         AllValues[qualifier] = new QualifiedValue(qualifier, new Value(ContentType.Text, value));
     else
         AllValues.Add(qualifier, new QualifiedValue(qualifier, new Value(ContentType.Text, value)));
 }
 public FlattenedQualifiedValue(QualifiedValue value)
 {
     Part = value.Qualifier.Part.ToString();
     Locale = value.Qualifier.Locale.ToString();
     Key = value.Qualifier.Key;
     Value = value.Value.DecodedContent;
 }
 public SynchronizationData(string leftName, string rightName, QualifiedValue[] leftValuesNotRight, QualifiedValue[] rightValuesNotLeft, DoubleQualifiedValue[] valueDifferences)
 {
     LeftName = leftName;
     RightName = rightName;
     LeftValuesNotRight = leftValuesNotRight;
     RightValuesNotLeft = rightValuesNotLeft;
     ValueDifferences = valueDifferences;
 }
예제 #4
0
 public bool Equals(QualifiedValue other)
 {
     if (ReferenceEquals(null, other))
     {
         return(false);
     }
     if (ReferenceEquals(this, other))
     {
         return(true);
     }
     return(Equals(other.Qualifier, Qualifier) && Equals(other.Value, Value));
 }
예제 #5
0
        public JsonResult Create(String part, String locale, String key, String content)
        {
            var localization = Session.Get<ProviderPair>(ManualProviderPairName);
            if (localization == null)
                throw new Exception("Localization not loaded!");

            var qualifier = new Qualifier.Unique(Part.Parse(part), new Locale(locale), key);
            var value = content;
            var qualifiedValue = new QualifiedValue(qualifier, value);
            localization.ValueManager.UpdateCreateValue(qualifiedValue);

            return Json(new {ok = true});
        }
 public QualifiedValue GetQualifiedValue(Qualifier.Unique qualifier, String defaultValue = null)
 {
     try
     {
         return new QualifiedValue(qualifier, Values[qualifier]);
     }
     catch
     {
         var qualifiedValue = new QualifiedValue(qualifier, defaultValue);
         Values[qualifier] = qualifiedValue.Value;
         return qualifiedValue;
     }
 }
        public QualifiedValue GetQualifiedValue(Qualifier.Unique qualifier, string defaultValue = null)
        {
            var testQualifier = qualifier;
            while (testQualifier.Part.Parent != null)
            {
                testQualifier = new Qualifier.Unique(testQualifier.Part.Parent, testQualifier.Locale, testQualifier.Key);
                QualifiedValue value;
                if (AllValues.TryGetValue(testQualifier, out value))
                    return value;
            }

            var qualifiedValue = new QualifiedValue(qualifier, defaultValue);
            AllValues.Add(qualifier, qualifiedValue);
            return qualifiedValue;
        }
 private static KeyValuePair<Qualifier.Unique, QualifiedValue> CreateValuePair(Part part, string key, string value)
 {
     var qualifier = new Qualifier.Unique(part, Locale, key);
     var qualifiedValue = new QualifiedValue(qualifier, new Value(ContentType.Text, value));
     return new KeyValuePair<Qualifier.Unique, QualifiedValue>(qualifier, qualifiedValue);
 }
 public void UpdateCreateValue(QualifiedValue value)
 {
     SetValue(value.Qualifier, value.Value.Content);
 }
 private static String JsonQv(QualifiedValue qv, IEnumerable<KeyValuePair<string, string>> replacements)
 {
     return String.Format("'{2}':{{part:'{0}', locale:'{1}', key: '{2}', value: '{3}', origvalue: '{4}', replacements: [{5}] }}",
         qv.Qualifier.Part.ToString().Replace("'", @"\'").Replace(@"\", @"\\"),
         qv.Qualifier.Locale.ToString().Replace("'", @"\'").Replace(@"\", @"\\"),
         qv.Qualifier.Key.Replace("'", @"\'").Replace(@"\", @"\\"),
         qv.Value.DecodedContent.Replace("'", @"\'").Replace(@"\", @"\\"),
         qv.Value.Content.Replace("'", @"\'").Replace(@"\", @"\\"),
         JsonRepl(replacements)
     );
 }
 public DoubleQualifiedValue(QualifiedValue left, QualifiedValue right)
 {
     Left = left;
     Right = right;
 }
        public void UpdateCreateValue(QualifiedValue value)
        {
            var part = _partTable.GetPart(value.Qualifier.Part.ToString());
            var locale = _localeTable.GetLocale(value.Qualifier.Locale.Name);

            if(part == null || locale == null)
            {
                using(var connection = Connect())
                {
                    if (part == null)
                        part = _partTable.Insert(value.Qualifier.Part, connection);
                    if (locale == null)
                        locale = _localeTable.Insert(value.Qualifier.Locale.Name, connection);
                }
            }

            var dbval = new ValueTable.DBValue(part.Id, locale.Id, value.Qualifier.Key, value.Value);

            using(var connection = Connect())
                _valueTable.UpdateCreate(dbval, connection);
        }
        private void Delete(bool execute, ProviderPair targetPair, Dictionary<Qualifier.Unique, LocalizationAudit> sourceAudits, Dictionary<Qualifier.Unique, LocalizationAudit> targetAudits, QualifiedValue targetQualifiedValue, SynchronizationResult result)
        {
            if (execute)
            {
                if (sourceAudits.ContainsKey(targetQualifiedValue.Qualifier))
                    targetAudits[targetQualifiedValue.Qualifier] = sourceAudits[targetQualifiedValue.Qualifier];

                targetPair.ValueManager.DeleteValue(targetQualifiedValue.Qualifier);
            }
            result.Removed.Add(new Removal(targetPair.Name, targetQualifiedValue.Qualifier.ToString(), targetQualifiedValue.Value));
        }
예제 #14
0
 public void UpdateCreateValue(QualifiedValue value)
 {
     var group = GetOrCreateGroupNode(value.Qualifier.Part);
     group.SetOrCreateValue(value.Qualifier, value.Value);
     Save();
 }
예제 #15
0
 public bool Equals(QualifiedValue other)
 {
     if (ReferenceEquals(null, other)) return false;
     if (ReferenceEquals(this, other)) return true;
     return Equals(other.Qualifier, Qualifier) && Equals(other.Value, Value);
 }
        private void UpdateCreate(bool execute, ProviderPair targetPair, Dictionary<Qualifier.Unique, LocalizationAudit> sourceAudits, Dictionary<Qualifier.Unique, LocalizationAudit> targetAudits, QualifiedValue sourceQualifiedValue, String targetOldValue, SynchronizationResult result)
        {
            if (execute)
            {
                if (sourceAudits.ContainsKey(sourceQualifiedValue.Qualifier))
                    targetAudits[sourceQualifiedValue.Qualifier] = sourceAudits[sourceQualifiedValue.Qualifier];

                targetPair.ValueManager.UpdateCreateValue(new QualifiedValue(sourceQualifiedValue.Qualifier, sourceQualifiedValue.Value));
            }
            result.Updated.Add(new Update(targetPair.Name, sourceQualifiedValue.Qualifier.ToString(), targetOldValue, sourceQualifiedValue.Value));
        }
 public void UpdateCreateValue(QualifiedValue value)
 {
     Reload(_connector.UpdateCreateValue(value));
 }
        public QualifiedValue GetQualifiedValue(Qualifier.Unique qualifier, String defaultValue = null)
        {
            var part = _partTable.GetPart(qualifier.Part.ToString());
            var locale = _localeTable.GetLocale(qualifier.Locale.Name);

            if (part == null || locale == null)
            {
                using (var connection = Connect())
                {
                    if (part == null)
                        part = _partTable.Insert(qualifier.Part, connection);
                    if (locale == null)
                        locale = _localeTable.Insert(qualifier.Locale.Name, connection);
                }
            }

            var qualifiedValue = _valueTable.GetQualifiedValue(part, locale, qualifier.Key);
            if (qualifiedValue == null && defaultValue != null)
                using (var connection = Connect())
                    qualifiedValue = new QualifiedValue(
                        qualifier,
                        _valueTable.Insert(new ValueTable.DBValue(part.Id, locale.Id, qualifier.Key, defaultValue), connection).Content
                    );

            if (qualifiedValue == null && _insertDummyValues)
                using (var connection = Connect())
                    qualifiedValue = new QualifiedValue(
                        qualifier,
                        _valueTable.Insert(new ValueTable.DBValue(part.Id, locale.Id, qualifier.Key, "[-" + qualifier.Key + "-]"), connection).Content
                    );

            return qualifiedValue;
        }