/// <summary>
        /// Gerencia uma venda
        /// </summary>
        /// <param name="manageOperation">Operação que deverá ser executada (captura ou cancelamento)</param>
        /// <param name="orderKey">Chave do pedido</param>
        /// <returns></returns>
        public HttpResponse <ManageSaleResponse> Manage(ManageOperationEnum manageOperation, Guid orderKey)
        {
            ManageSaleRequest manageSaleRequest = new ManageSaleRequest();

            manageSaleRequest.OrderKey = orderKey;

            return(this.Manage(manageOperation, manageSaleRequest));
        }
        /// <summary>
        /// Gerencia uma coleção de transações de cartão de crédito.
        /// </summary>
        /// <param name="manageOperation">Operação que deverá ser executada (captura ou cancelamento)</param>
        /// <param name="orderKey">Chave do pedido</param>
        /// <param name="manageCreditCardTransactionCollection">Coleção de transações que serão gerenciadas</param>
        /// <returns></returns>
        public HttpResponse <ManageSaleResponse> Manage(ManageOperationEnum manageOperation, Guid orderKey, Collection <ManageCreditCardTransaction> manageCreditCardTransactionCollection)
        {
            ManageSaleRequest manageSaleRequest = new ManageSaleRequest();

            manageSaleRequest.OrderKey = orderKey;
            manageSaleRequest.CreditCardTransactionCollection = manageCreditCardTransactionCollection;

            return(this.Manage(manageOperation, manageSaleRequest));
        }
        /// <summary>
        /// Gerencia uam venda
        /// </summary>
        /// <param name="manageOperation">Operação que deverá ser executada (captura ou cancelamento)</param>
        /// <param name="manageSaleRequest">Dados da venda</param>
        /// <returns></returns>
        public HttpResponse <ManageSaleResponse> Manage(ManageOperationEnum manageOperation, ManageSaleRequest manageSaleRequest)
        {
            // Configura o action que será utilizado
            string actionName = manageOperation.ToString();

            // Configura MerchantKey e o header
            NameValueCollection headers = this.GetHeaders();

            headers.Add("MerchantKey", this.MerchantKey.ToString());

            // Envia requisição
            return(this.HttpUtility.SubmitRequest <ManageSaleRequest, ManageSaleResponse>(manageSaleRequest,
                                                                                          string.Concat(this.HostUri, this.ResourceName, "/", actionName), HttpVerbEnum.Post, HttpContentTypeEnum.Json, headers));
        }