TSVCEO.CloudPrint.Proxy.CloudPrintProxy.RegisterCloudPrinter C# (CSharp) Method

RegisterCloudPrinter() private method

private RegisterCloudPrinter ( CloudPrinter printer ) : string
printer CloudPrinter
return string
        private string RegisterCloudPrinter(CloudPrinter printer)
        {
            Logger.Log(LogLevel.Debug, "Registering cloud printer [{0}]", printer.Name);

            var reqdata = new
            {
                printproxydummyparameter = "",
                printer = printer.Name,
                proxy = Config.CloudPrintProxyID,
                description = printer.Description,
                capsHash = printer.CapsHash,
                status = printer.Status,
                capabilities = printer.Capabilities,
                defaults = printer.Defaults
            };

            var response = HTTPHelper.PostCloudPrintMultiPartRequest(OAuthTicket, "register", reqdata);

            if (response.success == true)
            {
                printer.SetPrinterID(response.printers[0].id);

                Logger.Log(LogLevel.Debug, "Printer [{0}] has ID {1}", printer.Name, printer.PrinterID);

                if (Config.OAuthRefreshToken == null && OAuthCodePollURL == null)
                {
                    OAuthCodePollURL = response.polling_url;
                    return response.complete_invite_url;
                }

                return null;
            }
            else
            {
                throw new PrintProxyException(response.message);
            }
        }