using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using WebsitePanel.EnterpriseServer; using WebsitePanel.Portal.UserControls.ScheduleTaskView; namespace WebsitePanel.Portal.ScheduleTaskControls { public partial class DomainLookupView : EmptyView { private static readonly string DnsServersParameter = "DNS_SERVERS"; private static readonly string MailToParameter = "MAIL_TO"; private static readonly string ServerNameParameter = "SERVER_NAME"; protected void Page_Load(object sender, EventArgs e) { } /// /// Sets scheduler task parameters on view. /// /// Parameters list to be set on view. public override void SetParameters(ScheduleTaskParameterInfo[] parameters) { base.SetParameters(parameters); this.SetParameter(this.txtDnsServers, DnsServersParameter); this.SetParameter(this.txtMailTo, MailToParameter); this.SetParameter(this.ddlServers, ServerNameParameter); var servers = ES.Services.Servers.GetAllServers(); var osGroup = ES.Services.Servers.GetResourceGroups().First(x => x.GroupName == ResourceGroups.Os); var osProviders = ES.Services.Servers.GetProvidersByGroupId(osGroup.GroupId); var osServers = new List(); foreach (var server in servers) { var services = ES.Services.Servers.GetServicesByServerId(server.ServerId); if (services.Any(x => osProviders.Any(p=>p.ProviderId == x.ProviderId))) { osServers.Add(server); } } ddlServers.DataSource = osServers.Select(x => new { Id = x.ServerName, Name = x.ServerName }); ddlServers.DataTextField = "Name"; ddlServers.DataValueField = "Id"; ddlServers.DataBind(); ScheduleTaskParameterInfo parameter = this.FindParameterById(ServerNameParameter); ddlServers.SelectedValue = parameter.ParameterValue; } /// /// Gets scheduler task parameters from view. /// /// Parameters list filled from view. public override ScheduleTaskParameterInfo[] GetParameters() { ScheduleTaskParameterInfo dnsServers = this.GetParameter(this.txtDnsServers, DnsServersParameter); ScheduleTaskParameterInfo mailTo = this.GetParameter(this.txtMailTo, MailToParameter); ScheduleTaskParameterInfo serverName = this.GetParameter(this.ddlServers, ServerNameParameter); return new ScheduleTaskParameterInfo[3] { dnsServers, mailTo, serverName }; } } }