コード例 #1
0
        public ActionResult AddMailboxPermission(FormCollection _POST)
        {
            try
            {
                CustomMailboxPermission addMailboxPermission = new CustomMailboxPermission()
                {
                    Organization      = _POST["organization"],
                    UserPrincipalName = _POST["userprincipalname"],
                    FullAccess        = _POST["fullaccess"] == "on" ? true : false,
                    SendAs            = _POST["sendas"] == "on" ? true : false
                };

                model.MailboxPermission = addMailboxPermission;

                CommonCAS.Log(string.Format("has run Mail/AddMailboxPermission() on user {0}", addMailboxPermission.UserPrincipalName));

                // execute powershell script and dispose powershell object
                using (MyPowerShell ps = new MyPowerShell())
                {
                    ps.AddMailboxPermission(addMailboxPermission);
                    var result = ps.Invoke();
                }

                CommonCAS.Stats("Mail/AddMailboxPermission");

                if (model.MailboxPermission.FullAccess)
                {
                    model.OKMessage.Add(string.Format("Successfully created FullAccess group for {0}.", model.MailboxPermission.UserPrincipalName));
                }

                if (model.MailboxPermission.SendAs)
                {
                    model.OKMessage.Add(string.Format("Successfully created SendAs group for {0}.", model.MailboxPermission.UserPrincipalName));
                }

                return(View("AddMailboxPermission", model));
            }
            catch (Exception exc)
            {
                CommonCAS.Log("Exception: " + exc.Message);
                model.ActionFailed = true;
                model.Message      = exc.Message;
                return(View(model));
            }
        }