public void RenewDomain(DomainNameSvc domainSvc, ContractAccount accountInfo, string[] nameServers) { int customerId = GetCustomerAccountId(accountInfo[ContractAccount.EMAIL]); // setup service url OrderBoxDomainsLib.APIKit.Properties.Url = ServiceUrl; // init domain order api OrderBoxDomainsLib.DomOrder domOrder = new OrderBoxDomainsLib.DomOrder(); // Get all domain name registration details Hashtable domainDetails = domOrder.getDetailsByDomain(Username, Password, RESELLER_ROLE, SERVICE_LANGUAGE, ParentId, domainSvc.Fqdn, new ArrayList { "All" }); // fill parameters hashtable Hashtable domainHash = new Hashtable { { domainSvc.Fqdn, new Hashtable { { ENTITY_ID, domainDetails[ENTITY_ID] }, { NO_OF_YEARS, domainSvc.PeriodLength.ToString() }, { EXPIRY_DATE, domainDetails[ENDTIME] } } } }; // Send renewal request to the registrar Hashtable orderResult = domOrder.renewDomain(Username, Password, RESELLER_ROLE, SERVICE_LANGUAGE, ParentId, domainHash, NO_INVOICE); // switch to the nested data bunch of the result received orderResult = (Hashtable)orderResult[domainSvc.Fqdn]; // check returned status switch ((String)orderResult[STATUS]) { case "error": // error throw new Exception(Convert.ToString(orderResult[ERROR])); case "Failed": // error throw new Exception(Convert.ToString(orderResult[ACTION_STATUS_DESC])); case "Success": // success case "InvoicePaid": // success // we are success so copy order number domainSvc[EAQID] = Convert.ToString(orderResult[EAQID]); domainSvc[ENTITY_ID] = Convert.ToString(orderResult[ENTITY_ID]); break; } }
public DomainStatus CheckDomain(string domain) { // check domain not empty if (String.IsNullOrEmpty(domain)) { throw new ArgumentNullException("domain"); } // format values string[] domains = GetDomainNames(domain); string[] tlds = GetTopLevelDomains(domain); // setup service url OrderBoxDomainsLib.APIKit.Properties.Url = ServiceUrl; // init domain order api OrderBoxDomainsLib.DomOrder domOrder = new OrderBoxDomainsLib.DomOrder(); // check domain availability Hashtable directiResult = domOrder.checkAvailabilityMultiple( Username, Password, RESELLER_ROLE, SERVICE_LANGUAGE, ParentId, domains, tlds, false ); // get result by domain Hashtable bunch = (Hashtable)directiResult[domain]; // check result status if (String.Compare((String)bunch[STATUS], "available", true) == 0) { return(DomainStatus.NotFound); } // return result return(DomainStatus.Registered); }
public void RegisterDomain(DomainNameSvc domainSvc, ContractAccount accountInfo, string[] nameServers) { int customerId = 0; // 1. check customer exists if (CheckSubAccountExists(accountInfo[ContractAccount.EMAIL])) { customerId = GetCustomerAccountId(accountInfo[ContractAccount.EMAIL]); } else { customerId = CreateCustomerAccount(accountInfo); } // obtain default contact id int contactId = GetDefaultContactId(customerId); // check for demo mode if so then set demo-nameservers. if (!LiveMode) { nameServers = new string[] { "ns1.onlyfordemo.net", "ns2.onlyfordemo.net" } } ; // fill parameters hashtable Hashtable domainHash = new Hashtable(); // copy domain name domainHash[domainSvc.Fqdn] = domainSvc.PeriodLength.ToString(); // setup service url OrderBoxDomainsLib.APIKit.Properties.Url = ServiceUrl; // init domain order api OrderBoxDomainsLib.DomOrder domOrder = new OrderBoxDomainsLib.DomOrder(); // int validateAttempts = 0; VALIDATE_REGISTRATION: // validate params Hashtable valResult = domOrder.validateDomainRegistrationParams(Username, Password, RESELLER_ROLE, SERVICE_LANGUAGE, ParentId, domainHash, new ArrayList(nameServers), contactId, contactId, contactId, contactId, customerId, NO_INVOICE); // get domain name hashtable valResult = (Hashtable)valResult[domainSvc.Fqdn]; // check validation status if ((String)valResult[STATUS] == "error") { // try to update extended contact fields and re-validate params if (validateAttempts == 0 && domainSvc.Fqdn.EndsWith(".us")) { validateAttempts++; // OrderBoxDomainsLib.DomContactExt contactExt = new DomContactExt(); // fill extension hash Hashtable exthash = new Hashtable(); Hashtable domus = new Hashtable(); domus["nexusCategory"] = domainSvc["NexusCategory"]; domus["applicationPurpose"] = domainSvc["ApplicationPurpose"]; exthash["domus"] = domus; // set default contact extensions bool succeed = contactExt.setContactDetails(Username, Password, RESELLER_ROLE, SERVICE_LANGUAGE, ParentId, contactId, exthash, "domus"); // check result if (succeed) { goto VALIDATE_REGISTRATION; } } // throw new Exception((String)valResult[ERROR]); } // register domain Hashtable orderResult = domOrder.addWithoutValidation(Username, Password, RESELLER_ROLE, SERVICE_LANGUAGE, ParentId, domainHash, new ArrayList(nameServers), contactId, contactId, contactId, contactId, customerId, NO_INVOICE); // switch to the nested data bunch orderResult = (Hashtable)orderResult[domainSvc.Fqdn]; // check returned status switch ((String)orderResult[STATUS]) { case "error": // error throw new Exception(Convert.ToString(orderResult[ERROR])); case "Failed": // error throw new Exception(Convert.ToString(orderResult[ACTION_STATUS_DESC])); case "Success": // success case "InvoicePaid": // success // we are success so copy order number domainSvc[EAQID] = Convert.ToString(orderResult[EAQID]); domainSvc[ENTITY_ID] = Convert.ToString(orderResult[ENTITY_ID]); break; } }
public void RenewDomain(DomainNameSvc domainSvc, ContractAccount accountInfo, string[] nameServers) { int customerId = GetCustomerAccountId(accountInfo[ContractAccount.EMAIL]); // setup service url OrderBoxDomainsLib.APIKit.Properties.Url = ServiceUrl; // init domain order api OrderBoxDomainsLib.DomOrder domOrder = new OrderBoxDomainsLib.DomOrder(); // Get all domain name registration details Hashtable domainDetails = domOrder.getDetailsByDomain(Username, Password, RESELLER_ROLE, SERVICE_LANGUAGE, ParentId, domainSvc.Fqdn, new ArrayList { "All" }); // fill parameters hashtable Hashtable domainHash = new Hashtable { { domainSvc.Fqdn, new Hashtable { {ENTITY_ID, domainDetails[ENTITY_ID]}, {NO_OF_YEARS, domainSvc.PeriodLength.ToString()}, {EXPIRY_DATE, domainDetails[ENDTIME]} } } }; // Send renewal request to the registrar Hashtable orderResult = domOrder.renewDomain(Username, Password, RESELLER_ROLE, SERVICE_LANGUAGE, ParentId, domainHash, NO_INVOICE); // switch to the nested data bunch of the result received orderResult = (Hashtable)orderResult[domainSvc.Fqdn]; // check returned status switch ((String)orderResult[STATUS]) { case "error": // error throw new Exception(Convert.ToString(orderResult[ERROR])); case "Failed": // error throw new Exception(Convert.ToString(orderResult[ACTION_STATUS_DESC])); case "Success": // success case "InvoicePaid": // success // we are success so copy order number domainSvc[EAQID] = Convert.ToString(orderResult[EAQID]); domainSvc[ENTITY_ID] = Convert.ToString(orderResult[ENTITY_ID]); break; } }
public void RegisterDomain(DomainNameSvc domainSvc, ContractAccount accountInfo, string[] nameServers) { int customerId = 0; // 1. check customer exists if (CheckSubAccountExists(accountInfo[ContractAccount.EMAIL])) customerId = GetCustomerAccountId(accountInfo[ContractAccount.EMAIL]); else customerId = CreateCustomerAccount(accountInfo); // obtain default contact id int contactId = GetDefaultContactId(customerId); // check for demo mode if so then set demo-nameservers. if (!LiveMode) nameServers = new string[] { "ns1.onlyfordemo.net", "ns2.onlyfordemo.net" }; // fill parameters hashtable Hashtable domainHash = new Hashtable(); // copy domain name domainHash[domainSvc.Fqdn] = domainSvc.PeriodLength.ToString(); // setup service url OrderBoxDomainsLib.APIKit.Properties.Url = ServiceUrl; // init domain order api OrderBoxDomainsLib.DomOrder domOrder = new OrderBoxDomainsLib.DomOrder(); // int validateAttempts = 0; VALIDATE_REGISTRATION: // validate params Hashtable valResult = domOrder.validateDomainRegistrationParams(Username, Password, RESELLER_ROLE, SERVICE_LANGUAGE, ParentId, domainHash, new ArrayList(nameServers), contactId, contactId, contactId, contactId, customerId, NO_INVOICE); // get domain name hashtable valResult = (Hashtable)valResult[domainSvc.Fqdn]; // check validation status if ((String)valResult[STATUS] == "error") { // try to update extended contact fields and re-validate params if (validateAttempts == 0 && domainSvc.Fqdn.EndsWith(".us")) { validateAttempts++; // OrderBoxDomainsLib.DomContactExt contactExt = new DomContactExt(); // fill extension hash Hashtable exthash = new Hashtable(); Hashtable domus = new Hashtable(); domus["nexusCategory"] = domainSvc["NexusCategory"]; domus["applicationPurpose"] = domainSvc["ApplicationPurpose"]; exthash["domus"] = domus; // set default contact extensions bool succeed = contactExt.setContactDetails(Username, Password, RESELLER_ROLE, SERVICE_LANGUAGE, ParentId, contactId, exthash, "domus"); // check result if (succeed) goto VALIDATE_REGISTRATION; } // throw new Exception((String)valResult[ERROR]); } // register domain Hashtable orderResult = domOrder.addWithoutValidation(Username, Password, RESELLER_ROLE, SERVICE_LANGUAGE, ParentId, domainHash, new ArrayList(nameServers), contactId, contactId, contactId, contactId, customerId, NO_INVOICE); // switch to the nested data bunch orderResult = (Hashtable)orderResult[domainSvc.Fqdn]; // check returned status switch ((String)orderResult[STATUS]) { case "error": // error throw new Exception(Convert.ToString(orderResult[ERROR])); case "Failed": // error throw new Exception(Convert.ToString(orderResult[ACTION_STATUS_DESC])); case "Success": // success case "InvoicePaid": // success // we are success so copy order number domainSvc[EAQID] = Convert.ToString(orderResult[EAQID]); domainSvc[ENTITY_ID] = Convert.ToString(orderResult[ENTITY_ID]); break; } }
public DomainStatus CheckDomain(string domain) { // check domain not empty if (String.IsNullOrEmpty(domain)) throw new ArgumentNullException("domain"); // format values string[] domains = GetDomainNames(domain); string[] tlds = GetTopLevelDomains(domain); // setup service url OrderBoxDomainsLib.APIKit.Properties.Url = ServiceUrl; // init domain order api OrderBoxDomainsLib.DomOrder domOrder = new OrderBoxDomainsLib.DomOrder(); // check domain availability Hashtable directiResult = domOrder.checkAvailabilityMultiple( Username, Password, RESELLER_ROLE, SERVICE_LANGUAGE, ParentId, domains, tlds, false ); // get result by domain Hashtable bunch = (Hashtable)directiResult[domain]; // check result status if (String.Compare((String)bunch[STATUS], "available", true) == 0) return DomainStatus.NotFound; // return result return DomainStatus.Registered; }