internal static BillWrapper Wrap(this Bill bill)
 {
     return(new BillWrapper {
         Bill = bill
     });
 }
        public static Task <Bill> GetBillAsync(this FreeAgentClient client, Bill bill)
        {
            var id = client.ExtractId(bill);

            return(client.GetBillAsync(id));
        }
 public static Task DeleteBillAsync(this FreeAgentClient client, Bill bill)
 {
     return(client.UpdateOrDeleteAsync(bill, (c, id) => c.DeleteBill(client.Configuration.CurrentHeader, id)));
 }
 public static Task <Bill> CreateBillAsync(this FreeAgentClient client, Bill bill)
 {
     return(client.GetOrCreateAsync(c => c.CreateBill(client.Configuration.CurrentHeader, bill.Wrap()), r => r.Bill));
 }