Esempio n. 1
0
        void Bind()
        {
            this.Text = "New " + _objectClass;
            var requiredProps = _serverDTO.Connection.SchemaManager.GetRequiredAttributesWithContentRules(_objectClass);

            _properties = new KeyValueBag();
            foreach (var prop in requiredProps)
            {
                var val  = MiscUtilsService.GetInstanceFromType(prop.Type);
                var item = new VMDirBagItem {
                    Value = val, Description = prop.Description, IsRequired = true, IsReadOnly = prop.ReadOnly
                };
                _properties.Add(prop.Name, item);
            }
            var oc = _properties["objectClass"];

            oc.IsReadOnly = true;
            oc.Value      = _objectClass;

            VMDirBagItem itemCN = null;

            if (!_properties.TryGetValue("cn", out itemCN))
            {
                _properties.Add("cn", new VMDirBagItem {
                    Value = "", Description = "", IsRequired = true
                });
            }

            props.SelectedObject = _properties;
        }
Esempio n. 2
0
        private void Bind()
        {
            var requiredProps = _serverDTO.Connection.SchemaManager.GetRequiredAttributesWithContentRules(_objectClass);

            _properties = new Dictionary <string, VMDirBagItem> ();
            foreach (var prop in requiredProps)
            {
                var item = new VMDirBagItem {
                    Value       = prop.Name.Equals("objectClass") ? (Utilities.StringToLdapValue(_objectClass)) : null,
                    Description = prop.Description,
                    IsRequired  = true,
                    IsReadOnly  = prop.ReadOnly
                };
                _properties.Add(prop.Name, item);
            }

            VMDirBagItem itemCN = null;

            if (!_properties.TryGetValue("cn", out itemCN))
            {
                _properties.Add("cn", new VMDirBagItem {
                    Value = null, Description = "", IsRequired = true
                });
            }
        }
 public override void SetObjectValue(NSTableView tableView, NSObject editedVal, NSTableColumn col, nint row)
 {
     try {
         if (Entries != null && !string.IsNullOrEmpty(editedVal.ToString()))
         {
             if (col.Identifier == "Value")
             {
                 string currKey = this.Entries.Keys.ElementAt((int)row);
                 if (currKey != "objectClass")
                 {
                     VMDirBagItem currVal = this.Entries [currKey];
                     this.Entries [currKey] = new VMDirBagItem {
                         Description = currVal.Description,
                         IsReadOnly  = currVal.IsReadOnly,
                         IsRequired  = currVal.IsRequired,
                         Value       = Utilities.StringToLdapValue((NSString)editedVal)
                     };
                     this.PendingMod.Add(currKey, (NSString)Utilities.LdapValueToString(this.Entries [currKey].Value));
                 }
             }
         }
     } catch (Exception e) {
         System.Diagnostics.Debug.WriteLine("Error in List Operation " + e.Message);
     }
 }
Esempio n. 4
0
        public void FillProperties()
        {
            try {
                Utilities.GetItemProperties(Name, ServerDTO, _properties);
                if (_properties.Count > 0)
                {
                    VMDirBagItem value = new VMDirBagItem();
                    if (_properties.ContainsKey("objectClass"))
                    {
                        _properties.TryGetValue("objectClass", out value);
                    }
                    if (value != null)
                    {
                        LdapValue[] valArray = value.Value as LdapValue[];
                        foreach (var ob in valArray)
                        {
                            switch (ob.StringValue)
                            {
                            case "user":
                                NodeType = DirectoryNodeType.User;
                                break;

                            case "group":
                                NodeType = DirectoryNodeType.Groups;
                                break;

                            default:
                                NodeType = DirectoryNodeType.GenericObject;
                                break;
                            }
                        }
                    }
                }
            } catch (Exception ex) {
                UIErrorHelper.ShowAlert("", ex.Message);
            }
        }