private void BindItem() { try { if (!IsPostBack) { // load item if required if (PanelRequest.ItemID > 0) { // existing item try { item = ES.Services.MailServers.GetMailList(PanelRequest.ItemID); } catch (Exception ex) { ShowErrorMessage("MAIL_GET_LIST", ex); return; } if (item != null) { // save package info ViewState["PackageId"] = item.PackageId; emailAddress.PackageId = item.PackageId; } else { RedirectToBrowsePage(); } } else { // new item ViewState["PackageId"] = PanelSecurity.PackageId; emailAddress.PackageId = PanelSecurity.PackageId; } } // load provider control LoadProviderControl((int)ViewState["PackageId"], "Mail", providerControl, "EditList.ascx"); if (!IsPostBack) { // bind item to controls if (item != null) { // bind item to controls emailAddress.Email = item.Name; emailAddress.EditMode = true; // other controls IMailEditListControl ctrl = (IMailEditListControl)providerControl.Controls[0]; ctrl.BindItem(item); } } } catch { ShowWarningMessage("INIT_SERVICE_ITEM_FORM"); DisableFormControls(this, btnCancel); return; } }
private void SaveItem() { if (!Page.IsValid) { return; } //MailList tempitem = ES.Services.MailServers.GetMailList(PanelRequest.ItemID); // get form data MailList item = new MailList(); item.Id = PanelRequest.ItemID; item.PackageId = PanelSecurity.PackageId; if (listName != null) { item.Name = listName; } else { item.Name = emailAddress.Email; } //checking if list name is different from existing e-mail accounts MailAccount[] accounts = ES.Services.MailServers.GetMailAccounts(PanelSecurity.PackageId, true); foreach (MailAccount account in accounts) { if (item.Name == account.Name) { ShowWarningMessage("MAIL_LIST_NAME"); return; } } //checking if list name is different from existing e-mail groups MailGroup[] mailgroups = ES.Services.MailServers.GetMailGroups(PanelSecurity.PackageId, true); foreach (MailGroup group in mailgroups) { if (item.Name == group.Name) { ShowWarningMessage("MAIL_LIST_NAME"); return; } } //checking if list name is different from existing forwardings MailAlias[] forwardings = ES.Services.MailServers.GetMailForwardings(PanelSecurity.PackageId, true); foreach (MailAlias forwarding in forwardings) { if (item.Name == forwarding.Name) { ShowWarningMessage("MAIL_LIST_NAME"); return; } } // get other props IMailEditListControl ctrl = (IMailEditListControl)providerControl.Controls[0]; ctrl.SaveItem(item); if (PanelRequest.ItemID == 0) { // new item try { int result = ES.Services.MailServers.AddMailList(item); if (result < 0) { ShowResultMessage(result); return; } } catch (Exception ex) { ShowErrorMessage("MAIL_ADD_LIST", ex); return; } } else { // existing item try { int result = ES.Services.MailServers.UpdateMailList(item); if (result < 0) { ShowResultMessage(result); return; } } catch (Exception ex) { ShowErrorMessage("MAIL_UPDATE_LIST", ex); return; } } // return RedirectSpaceHomePage(); }