コード例 #1
0
        public ActionResult RemoveDomain(FormCollection _POST)
        {
            try
            {
                CustomDomain RemoveDomain = new CustomDomain()
                {
                    Organization  = _POST["organization"],
                    Domain        = _POST["domainname"],
                    RemoveasEmail = _POST["removeasemail"] == "on" ? true : false
                };

                model.Domain = RemoveDomain;

                CommonCAS.Log(string.Format("has run Organization/RemoveDomain() for organization {0} to Remove domain {1}", RemoveDomain.Organization, RemoveDomain.Domain));

                // execute powershell script and dispose powershell object
                using (MyPowerShell ps = new MyPowerShell())
                {
                    ps.RemoveDomain(RemoveDomain.Organization, RemoveDomain.Domain, RemoveDomain.RemoveasEmail);
                    var result = ps.Invoke();

                    if (result.Count() == 0)
                    {
                        model.OKMessage.Add(string.Format("'{0}' Removed for organization '{1}'.", model.Domain.Domain, model.Domain.Organization));
                    }
                    else
                    {
                        model.OKMessage.Add(string.Format("Domain {0} has been removed with following info:", RemoveDomain.Domain));

                        foreach (PSObject message in result)
                        {
                            model.OKMessage.Add(message.ToString());
                            CommonCAS.Log(string.Format("Domain {0} info: {1}", RemoveDomain.Domain, message.ToString()));
                        }
                    }
                }

                CommonCAS.Stats("Organization/RemoveDomain");

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