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);
                }
            }
        }
Example #2
0
 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;
 }
Example #3
0
 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));
            }
        }
Example #5
0
        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);
        }
Example #6
0
        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;
        }