public void LoadAcItem(AcItem a) { txtBonus.Text = a.Bonus; txtPenalty.Text = a.ArmorCheckPenalty; txtSpellFailure.Text = a.SpellFailure; txtWeight.Text = a.Weight; txtName.Text = a.Name; txtNotes.Text = a.Properties; txtType.Text = a.Type; }
public AcItem GetAcItem() { AcItem a = new AcItem() { Bonus = GetStringOrNull(txtBonus.Text), ArmorCheckPenalty = GetStringOrNull(txtPenalty.Text), SpellFailure = GetStringOrNull(txtSpellFailure.Text), Name = GetStringOrNull(txtName.Text), Properties = GetStringOrNull(txtNotes.Text), Weight = GetStringOrNull(txtWeight.Text), Type = GetStringOrNull(txtType.Text) }; return(a); }
/// <summary>Зарегистрировать для права <paramref name="accessType"/> и указанного SID-а /// разрешение <paramref name="permission"/>.</summary> /// <param name="sid">SID, для которого регистрируется право</param> /// <param name="accessType">Право (тип доступа)</param> /// <param name="permission">Значение.</param> /// <remarks>Если соответствующее право уже зарегистрированно, оно будет перезаписано. /// <para>Если значение <paramref name="permission"/> равно <see cref="Permission.Unspecified"/>, то регистрация /// удаляется.</para> /// </remarks> public void SetPermission(int sid, string accessType, Permission permission) { // get configured sids ArrayList list = rights[accessType] as ArrayList; if (list == null) list = new ArrayList(); AcItem n = new AcItem(sid, permission); // // change occurrence of sid in list if exists int index = list.BinarySearch(n, new SidComparer()); if (index >= 0) { if (permission == Permission.Unspecified) list.RemoveAt(index); else { list[index] = n; list.Sort(); } } else { list.Add(n); list.Sort(); } // save to Acl for this access type rights[accessType] = list; }
/// <summary>Получить спискок SID-ов, для которых зарегистрированы хоть какие-то права.</summary> /// <returns>Список SID-ов.</returns> public int[] GetConfiguredSids() { ArrayList temp = new ArrayList(); foreach (ArrayList a in rights.Values) temp.AddRange(a); temp.Sort(); ArrayList res = new ArrayList(); AcItem prev = new AcItem(-1, Permission.Unspecified); // create stub permission foreach(AcItem item in temp) { if (prev.Sid != item.Sid) res.Add(item.Sid); prev = item; } return (int[])res.ToArray(typeof(int)); }