コード例 #1
0
        /// <summary>
        /// ユーザー追加
        /// </summary>
        public void AddUser()
        {
            var url      = this.textBoxUrl.Text;
            var username = this.textBoxUser.Text;
            var password = this.textBoxPassword.Text;

            var gm = new GroupManager(url, username, password, false);

            gm.ThrowSharePointException += (_sender, _e) => {
                throw new ApplicationException(_e.ErrorMessage);
            };

            var tbl = this.gridCsv.ToDataTable();
            var gls = tbl.Select(r => new {
                グループ名   = r["グループ名"].ToString(),
                表示名     = r["表示名"].ToString(),
                ログイン名   = r["ログイン名"].ToString(),
                メールアドレス = r["メールアドレス"].ToString(),
            }).GroupBy(r => new {
                r.グループ名,
            }).ToList();

            var sb = new StringBuilder();

            gls.ForEach(gg => {
                var groupName = gg.Key.グループ名;
                sb.AppendLine($"グループ名 : {groupName}");

                gg.ToList().ForEach(u1 => {
                    var title     = u1.表示名;
                    var loginName = u1.ログイン名;
                    var mail      = u1.メールアドレス;
                    sb.Append($"  ユーザー名:{title}({mail})");

                    try {
                        gm.AddUser(groupName, title, loginName, mail);
                        sb.AppendLine($"を追加しました。");
                    } catch (Exception ex) {
                        sb.AppendLine($"の登録に失敗しました。: {ex.Message}");
                    }
                });
            });

            this.ShowMessageBox(sb.ToString());
        }