Bloom.Book.DataSet.UpdateLanguageString C# (CSharp) Method

UpdateLanguageString() public method

public UpdateLanguageString ( string key, string value, string writingSystemId, bool isCollectionValue ) : void
key string
value string
writingSystemId string
isCollectionValue bool
return void
        public void UpdateLanguageString(string key,  string value, string writingSystemId,bool isCollectionValue)
        {
            NamedMutliLingualValue namedMutliLingualValue;
            MultiTextBase text;
            if(TextVariables.TryGetValue(key,out namedMutliLingualValue))
                text = namedMutliLingualValue.TextAlternatives;
            else
            {
                text = new MultiTextBase();
            }
            text.SetAlternative(DealiasWritingSystemId(writingSystemId), value);
            TextVariables.Remove(key);
            if(text.Count>0)
                TextVariables.Add(key, new NamedMutliLingualValue(text, isCollectionValue));
        }

Usage Example

Example #1
0
        /// <summary>
        ///
        /// </summary>
        /// <remarks>I (jh) found this labelled UpdateSingleTextVariableThrougoutDom but it actually only updated the datadiv, so I changed the name.</remarks>
        /// <param name="key"></param>
        /// <param name="writingSystemId"></param>
        /// <param name="form"></param>
        private void UpdateSingleTextVariableInDataDiv(string key, string writingSystemId, string form)
        {
            XmlNode node =
                _dataDiv.SelectSingleNode(String.Format("div[@data-book='{0}' and @lang='{1}']", key,
                                                        writingSystemId));

            _dataset.UpdateLanguageString(key, form, writingSystemId, false);

            if (null == node)
            {
                if (!string.IsNullOrEmpty(form))
                {
                    Debug.WriteLine("creating in datadiv: {0}[{1}]={2}", key, writingSystemId, form);
                    Debug.WriteLine("nop: " + _dataDiv.OuterXml);
                    AddDataDivBookVariable(key, writingSystemId, form);
                }
            }
            else
            {
                if (string.IsNullOrEmpty(form))                 //a null value removes the entry entirely
                {
                    node.ParentNode.RemoveChild(node);
                }
                else
                {
                    node.InnerXml = form;
                }
                //Debug.WriteLine("updating in datadiv: {0}[{1}]={2}", key, languageForm.WritingSystemId,
                //				languageForm.Form);
                //Debug.WriteLine("now: " + _dataDiv.OuterXml);
            }
        }
All Usage Examples Of Bloom.Book.DataSet::UpdateLanguageString