private static void GetBillCallXMLRequest(XmlNode xmlGetBillCallNode, XmlDocument xmlDoc, GetBillsRequest request)
        {
            var billFilterNode = xmlDoc.CreateElement("BillFilter");
            xmlGetBillCallNode.AppendChild(billFilterNode);

            var resultsNode = xmlDoc.CreateElement("Results");
            resultsNode.InnerText = request.Results.ToString();
            billFilterNode.AppendChild(resultsNode);

            var pageNumberNode = xmlDoc.CreateElement("PageNo");
            pageNumberNode.InnerText = request.PageNumber.ToString();
            billFilterNode.AppendChild(pageNumberNode);

            if (!string.IsNullOrEmpty(request.ModifiedSince.ToString()))
            {
                var modifiedSinceNode = xmlDoc.CreateElement("ModifiedSince");
                modifiedSinceNode.InnerText = request.ModifiedSince.ToString();
                billFilterNode.AppendChild(modifiedSinceNode);
            }
        }
 public virtual GetBillsResponse GetBills(GetBillsRequest request)
 {
     return null;
 }
        /// <summary>
        /// Returns all the saved Bills
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public override GetBillsResponse GetBills(GetBillsRequest request)
        {
            var response = new GetBillsResponse();

            try
            {
                var xml = ConstructXMLRequest(request, RequestTypeEnum.GetBillCall);
                var responseStream = SendRequest(xml);
                var reader = new StreamReader(responseStream);
                response.Bills = (GetBillCallResponse)Deserialize(typeof(GetBillCallResponse), reader);
            }
            catch
            {
                throw new Exception("Error in Service.");
            }

            return response;
        }