public void SaveSettings(UserSettings settings) { settings["MailboxPasswordPolicy"] = mailboxPasswordPolicy.Value; settings["OrgIdPolicy"] = orgIdPolicy.Value; settings["OrgPolicy"] = orgPolicy.Value; if (Utils.ParseBool(orgPolicy.Value, false)) { List <AdditionalGroup> newAdditionalGroups = orgPolicy.GetGridViewGroups(); foreach (AdditionalGroup oldGroup in additionalGroups) { AdditionalGroup upGroup = newAdditionalGroups.Where(x => x.GroupId == oldGroup.GroupId).FirstOrDefault(); if (upGroup != null && upGroup.GroupName != oldGroup.GroupName) { ES.Services.Organizations.UpdateAdditionalGroup(oldGroup.GroupId, upGroup.GroupName); newAdditionalGroups.Remove(upGroup); } else { ES.Services.Organizations.DeleteAdditionalGroup(oldGroup.GroupId); } } foreach (AdditionalGroup newGroup in newAdditionalGroups) { ES.Services.Organizations.AddAdditionalGroup(settings.UserId, newGroup.GroupName); } } }
public Groups(AdditionalGroup _group) { GroupId = _group.AdditionalGroupId; StartTime = _group.StartTime; EndTime = _group.EndTime; //Debug.Log(_group.ID + " " + SettingsSchedule.Instance.Groups.Find(x => x.ScheduleGroupId == _group.ID)); IsAdditionalGroup = true; }
public Group(AdditionalGroup addGroup) { ScheduleGroupId = addGroup.AdditionalGroupId; Name = addGroup.Name; StartTime = addGroup.StartTime; EndTime = addGroup.EndTime; ActionLink = addGroup.ActionLink; Status = addGroup.Status; }
private NtToken GetLogonToken(TokenAccessRights desired_access, string user, string domain, SecureString password, SecurityLogonType logon_type) { IEnumerable <UserGroup> groups = null; if (AdditionalGroup != null && AdditionalGroup.Length > 0) { groups = AdditionalGroup.Select(s => new UserGroup(s, GetAttributes(s))); } using (NtToken token = Win32Security.LsaLogonUser(user, domain, password, logon_type, LogonProvider, groups)) { if (desired_access == TokenAccessRights.MaximumAllowed) { return(token.Duplicate()); } return(token.Duplicate(desired_access)); } }
public List <AdditionalGroup> GetGridViewGroups() { List <AdditionalGroup> additionalGroups = new List <AdditionalGroup>(); for (int i = 0; i < gvAdditionalGroups.Rows.Count; i++) { GridViewRow row = gvAdditionalGroups.Rows[i]; ImageButton cmdEdit = (ImageButton)row.FindControl("cmdEdit"); if (cmdEdit == null) { continue; } AdditionalGroup group = new AdditionalGroup(); group.GroupId = (int)gvAdditionalGroups.DataKeys[i][0]; group.GroupName = ((Literal)row.FindControl("litDisplayAdditionalGroup")).Text; additionalGroups.Add(group); } return(additionalGroups); }
protected void btnAddAdditionalGroup_Click(object sender, EventArgs e) { if (!Page.IsValid) { return; } List <AdditionalGroup> additionalGroups = GetGridViewGroups(); AdditionalGroup additionalGroup = new AdditionalGroup(); additionalGroup.GroupId = additionalGroups.Count != 0 ? additionalGroups.Select(x => x.GroupId).Max() + 1 : 1; additionalGroup.GroupName = txtAdditionalGroup.Text; additionalGroups.Add(additionalGroup); BindAdditionalGroups(additionalGroups.ToArray()); txtAdditionalGroup.Text = string.Empty; }