Atomia.Web.Plugin.PublicOrder.Helpers.IndexHelper.FirstOptionSelected C# (CSharp) Метод

FirstOptionSelected() публичный статический Метод

Firsts the option selected.
public static FirstOptionSelected ( Controller controller, string &viewDataDomains, List &domainData, string indexFormDomains ) : void
controller Controller The controller.
viewDataDomains string The view data_domains.
domainData List The domain data.
indexFormDomains string The index form_ domains.
Результат void
        public static void FirstOptionSelected(Controller controller, out string[] viewDataDomains, out List<DomainDataFromXml> domainData, string indexFormDomains)
        {
            string[] domainsSubmitted = indexFormDomains.Split(new[] { "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries);

            string domainsArray = string.Empty; // format for StartSearch
            for (int i = 0; i < domainsSubmitted.Length; i++)
            {
                if (i < domainsSubmitted.Length - 1)
                {
                    domainsArray += domainsSubmitted[i].Trim() + ' ';
                }
                else
                {
                    domainsArray += domainsSubmitted[i].Trim();
                }
            }

            List<string> domains = DomainSearch.Helpers.DomainSearchHelper.GetDomainsForCheck(domainsArray, ResellerHelper.GetResellerId());

            DomainDataFromXml[] unavailableDomains, domainDataFromDs;

            var service = GeneralHelper.GetPublicOrderService(controller.HttpContext.ApplicationInstance.Context);
                string countryCode = ResellerHelper.GetResellerCountryCode();
                string currencyCode = ResellerHelper.GetResellerCurrencyCode();
                Guid resellerId = ResellerHelper.GetResellerId();

                unavailableDomains = DomainSearch.Helpers.DomainSearchHelper.MarkDomainsAsUnavailable(
                    GeneralHelper.GetUnavailableDomainsHelper(controller, domains.ToArray()),
                    service,
                    Guid.Empty,
                    resellerId,
                    currencyCode,
                    countryCode);

                bool hideUnavailableDomains = true;
                if (controller.HttpContext.Application.AllKeys.Contains("HideUnavailableDomains"))
                {
                    hideUnavailableDomains = controller.HttpContext.Application["HideUnavailableDomains"].ToString().ToLower() == "true";
                }

                foreach (DomainDataFromXml unavailableDomain in unavailableDomains)
                {
                    // markDomains returns decoded domains
                    string domain = SimpleDnsPlus.IDNLib.Encode(unavailableDomain.ProductName);
                    if (domains.Any(d => d == domain) && hideUnavailableDomains)
                    {
                        domains.Remove(SimpleDnsPlus.IDNLib.Encode(domain));
                    }
                }

                domainDataFromDs = DomainSearch.Helpers.DomainSearchHelper.GetDomainData(
                    domains.ToArray(),
                    service,
                    Guid.Empty,
                    resellerId,
                    currencyCode,
                    countryCode);

            domainData = unavailableDomains.Select(data => new DomainDataFromXml
                {
                    IsDomain = data.IsDomain,
                    ProductDuration = data.ProductDuration,
                    ProductID = data.ProductID,
                    ProductName = data.ProductName,
                    ProductPrice = data.ProductPrice,
                    ProductStatus = data.ProductStatus,
                }).ToList();

            domainData.AddRange(domainDataFromDs.Select(data => new DomainDataFromXml
                {
                    IsDomain = data.IsDomain,
                    NumberOfDomains = data.NumberOfDomains,
                    ProductDuration = data.ProductDuration,
                    ProductID = data.ProductID,
                    ProductName = data.ProductName,
                    ProductPrice = data.ProductPrice,
                    ProductStatus = data.ProductStatus,
                    TransactionId = data.TransactionId
                }));

            viewDataDomains = domains.ToArray();
        }