private void ChangeData() { if (createList.Count > 0) { try { foreach (ASObject account in createList) { ASObject policy = new ASObject(); ASObject ac = new ASObject(); ASObjectUtil.copyTo(account, ac); if (ac.ContainsKey("distribution_policy")) { ac.Remove("distribution_policy"); policy["distribution_policy"] = account.getObject("distribution_policy"); } Remoting.call("MailManager.createMailAccount", new object[] { ac, ASObjectUtil.toJObject(policy).ToString() }); _initImportList.Add(account); } createList.Clear(); } catch (Exception ex) { createList.Clear(); throw ex; } } if (updateList.Count > 0) { try { foreach (ASObject account in updateList) { ASObject policy = new ASObject(); ASObject ac = new ASObject(); ASObjectUtil.copyTo(account, ac); if (ac.ContainsKey("distribution_policy")) { ac.Remove("distribution_policy"); policy["distribution_policy"] = account.getObject("distribution_policy"); } Remoting.call("MailManager.updateMailAccount", new object[] { ac, ASObjectUtil.toJObject(policy).ToString() }); } updateList.Clear(); } catch (Exception ex) { updateList.Clear(); throw ex; } } if (removeList.Count > 0) { try { foreach (ASObject account in removeList) { Remoting.call("MailManager.removeMailAccount", new object[] { account.getLong("id") }); } removeList.Clear(); } catch (Exception ex) { removeList.Clear(); throw ex; } } Remoting.call("MailManager.reloadMailAccount", new object[] { }, this); }