Ejemplo n.º 1
0
        void FetchValuesFromView()
        {
            // Using a dictionary here, because I don't have a 'hash set' available.
            var usedLinkValues = new com.magicsoftware.util.MgHashSet <FieldValue>();

            displayValues  = new List <string>();
            linkValues     = new List <string>();
            nullValueFlags = new List <bool>();
            linkType       = StorageAttribute.NONE;

            DbPos pos = new DbPos(true);

            view.OpenCursor(false, pos, BoudariesFlags.Range);
            while (view.CursorFetch().Success)
            {
                linkType = (StorageAttribute)valueField.Attr;
                FieldValue linkValue = view.GetFieldValue(valueField);

                // According to Online and RC-non-offline behavior, null link values should not
                // be added to the data control. The server does not send them at all.
                if (!linkValue.IsNull && !usedLinkValues.Contains(linkValue))
                {
                    nullValueFlags.Add(false);
                    linkValues.Add(linkValue.Value.ToString());
                    displayValues.Add(ConvertToDisplayValue(view.GetFieldValue(displayField)));
                    usedLinkValues.Add(linkValue.Clone());
                }
            }
            view.CloseCursor();
        }
Ejemplo n.º 2
0
 public void CloneWithId()
 {
     FieldValue fieldValue = new FieldValue("Field", "Value", 100);
     FieldValue clone = fieldValue.Clone();
     Assert.That(clone, Is.Not.Null);
     Assert.That(clone.Name, Is.EqualTo(fieldValue.Name));
     Assert.That(clone.Value, Is.EqualTo(fieldValue.Value));
     Assert.That(clone.Id, Is.EqualTo(fieldValue.Id));
 }