public static Task <IEnumerable <Project> > GetProjectsAsync(this FreeAgentClient client, ProjectFilter filterBy = ProjectFilter.All, ProjectOrder orderBy = ProjectOrder.Name) { var view = filterBy.GetMemberValue(); var sort = orderBy.GetMemberValue(); return(client.GetOrCreateAsync(c => c.ProjectList(client.Configuration.CurrentHeader, view, sort, null), r => r.Projects)); }
public static Task <IEnumerable <Bill> > GetBillsAsync(this FreeAgentClient client, BillFilter filterBy = BillFilter.All, BillOrder orderBy = BillOrder.DueDate, DateTime?fromDate = null, DateTime?toDate = null) { var view = filterBy.GetMemberValue(); var sort = orderBy.GetMemberValue(); return(client.GetOrCreateAsync(c => c.BillList(client.Configuration.CurrentHeader, view, sort, fromDate, toDate), r => r.Bills)); }
public static Task <Category> GetCategoryAsync(this FreeAgentClient client, string nominalCode) { return(client.GetOrCreateAsync( c => c.GetCategory(client.Configuration.CurrentHeader, nominalCode), r => { if (r != null) { if (r.AdminExpensesCategories != null) { return r.AdminExpensesCategories; } if (r.CostOfSalesCategories != null) { return r.CostOfSalesCategories; } if (r.GeneralCategories != null) { return r.GeneralCategories; } if (r.IncomeCategories != null) { return r.IncomeCategories; } } return null; //TODO - make this work like a true fail (ie wrong nominal code) })); }
public static Task <IEnumerable <Invoice> > GetInvoicesAsync(this FreeAgentClient client, InvoiceViewFilter invoiceFilter = null, InvoiceOrder orderBy = InvoiceOrder.CreatedAt) { var view = invoiceFilter ?? InvoiceViewFilter.RecentOpenOrOverdue(); var sort = orderBy.GetMemberValue(); return(client.GetOrCreateAsync(c => c.InvoiceList(client.Configuration.CurrentHeader, view.FilterValue, sort), r => r.Invoices)); }
public static Task <IEnumerable <Contact> > GetContactsPageAsync(this FreeAgentClient client, ContactFilter filterBy = ContactFilter.All, ContactOrder orderBy = ContactOrder.Name, int page = 1) { var view = filterBy.GetMemberValue(); var sort = orderBy.GetMemberValue(); return(client.GetOrCreateAsync(c => c.ContactPageList(client.Configuration.CurrentHeader, view, sort, page), r => r.Contacts)); }
public static Task <IEnumerable <RecurringInvoice> > GetRecurringInvoicesAsync(this FreeAgentClient client, RecurringInvoiceFilter filterBy = RecurringInvoiceFilter.All, RecurringInvoiceOrder orderBy = RecurringInvoiceOrder.NextRecursOn) { var view = filterBy.GetMemberValue(); var sort = orderBy.GetMemberValue(); return(client.GetOrCreateAsync(c => c.RecurringInvoiceList(client.Configuration.CurrentHeader, view, sort, null), r => r.RecurringInvoices)); }
public static Task <IEnumerable <Timeslip> > CreateTimeslipAsync(this FreeAgentClient client, List <Timeslip> timeslips) { return(client.GetOrCreateAsync(c => c.CreateTimeslips(client.Configuration.CurrentHeader, timeslips.Wrap()), r => r.Timeslips)); }
public static Task <Timeslip> CreateTimeslipAsync(this FreeAgentClient client, Timeslip timeslip) { return(client.GetOrCreateAsync(c => c.CreateTimeslips(client.Configuration.CurrentHeader, timeslip.Wrap()), r => r.Timeslip)); }
public static Task <BankAccount> CreateBankAccountAsync(this FreeAgentClient client, BankAccount account) { return(client.GetOrCreateAsync(c => c.CreateBankAccount(client.Configuration.CurrentHeader, account.Wrap()), r => r.BankAccount)); }
public static Task <User> GetCurrentUserAsync(this FreeAgentClient client) { return(client.GetOrCreateAsync(c => c.GetCurrentUser(client.Configuration.CurrentHeader), r => r.User)); }
public static Task <IEnumerable <User> > GetUsersAsync(this FreeAgentClient client) { return(client.GetOrCreateAsync(c => c.UserList(client.Configuration.CurrentHeader), r => r.Users)); }
public static Task <IEnumerable <Expense> > GetExpensesAsync(this FreeAgentClient client, ExpenseFilter filterBy = ExpenseFilter.All, DateTime?fromDate = null, DateTime?toDate = null) { var view = filterBy.GetMemberValue(); return(client.GetOrCreateAsync(c => c.ExpenseList(client.Configuration.CurrentHeader, view, fromDate, toDate), r => r.Expenses)); }
public static Task <NoteItem> GetNoteAsync(this FreeAgentClient client, int noteId) { return(client.GetOrCreateAsync(c => c.GetNote(client.Configuration.CurrentHeader, noteId), r => r.Note)); }
public static Task <IEnumerable <NoteItem> > GetNotesAsync(this FreeAgentClient client, Project project) { var url = client.ExtractUrl(project); return(client.GetOrCreateAsync(c => c.NoteList(client.Configuration.CurrentHeader, null, url.OriginalString), r => r.Notes)); }
public static Task <InvoicePdf> GetInvoicePdfAsync(this FreeAgentClient client, int invoiceId) { return(client.GetOrCreateAsync(c => c.GetInvoicePdf(client.Configuration.CurrentHeader, invoiceId), r => r.Pdf)); }
public static Task <Invoice> CreateInvoice(this FreeAgentClient client, Invoice invoice) { return(client.GetOrCreateAsync(c => c.CreateInvoice(client.Configuration.CurrentHeader, invoice.Wrap()), r => r.Invoice)); }
public static Task <IEnumerable <Invoice> > ListInvoicesForContactAsync(this FreeAgentClient client, Uri contact) { return(client.GetOrCreateAsync(c => c.ListInvoicesForContact(client.Configuration.CurrentHeader, contact), r => r.Invoices)); }
public static Task <Expense> CreateExpenseAsync(this FreeAgentClient client, Expense expense) { return(client.GetOrCreateAsync(c => c.CreateExpense(client.Configuration.CurrentHeader, expense.Wrap()), r => r.Expense)); }
public static Task <RecurringInvoice> GetRecurringInvoiceAsync(this FreeAgentClient client, int recurringInvoiceId) { return(client.GetOrCreateAsync(c => c.GetRecurringInvoice(client.Configuration.CurrentHeader, recurringInvoiceId), r => r.RecurringInvoice)); }
public static Task <Expense> GetExpenseAsync(this FreeAgentClient client, int expenseId) { return(client.GetOrCreateAsync(c => c.GetExpense(client.Configuration.CurrentHeader, expenseId), r => r.Expense)); }
public static Task <Categories> GetCategoriesAsync(this FreeAgentClient client) { return(client.GetOrCreateAsync(c => c.CategoryList(client.Configuration.CurrentHeader), r => r)); }
public static Task <IEnumerable <Project> > GetProjectsAsync(this FreeAgentClient client, Contact contact) { var url = client.ExtractUrl(contact); return(client.GetOrCreateAsync(c => c.ProjectList(client.Configuration.CurrentHeader, null, null, url.OriginalString), r => r.Projects)); }
public static Task <User> CreateUser(this FreeAgentClient client, User user) { return(client.GetOrCreateAsync(c => c.CreateUser(client.Configuration.CurrentHeader, user.Wrap()), r => r.User)); }
public static Task <Project> GetProjectAsync(this FreeAgentClient client, int projectId) { return(client.GetOrCreateAsync(c => c.GetProject(client.Configuration.CurrentHeader, projectId), r => r.Project)); }
public static Task <IEnumerable <Timeslip> > GetTimeSlipsAsync(this FreeAgentClient client, DateTime?fromDate = null, DateTime?toDate = null) { return(client.GetOrCreateAsync(c => c.TimeslipList(client.Configuration.CurrentHeader, null, null, null, fromDate, toDate), r => r.Timeslips)); }
public static Task <BankTransactionExplanation> CreateBankTransactionExplanationAsync(this FreeAgentClient client, BankTransactionExplanation explanation) { return(client.GetOrCreateAsync(c => c.CreateBankTransactionExplanation(client.Configuration.CurrentHeader, explanation.Wrap()), r => r.BankTransactionExplanation)); }
public static Task <Project> CreateProjectAsync(this FreeAgentClient client, Project contact) { return(client.GetOrCreateAsync(c => c.CreateProject(client.Configuration.CurrentHeader, contact.Wrap()), r => r.Project)); }
public static Task <IEnumerable <Timeslip> > GetTimeSlipsAsync(this FreeAgentClient client, Project project) { var url = client.ExtractUrl(project); return(client.GetOrCreateAsync(c => c.TimeslipList(client.Configuration.CurrentHeader, null, null, url.OriginalString, null, null), r => r.Timeslips)); }
public static Task <Attachment> GetAttachmentAsync(this FreeAgentClient client, int attachmentId) { return(client.GetOrCreateAsync(c => c.GetAttachment(client.Configuration.CurrentHeader, attachmentId), r => r.Attachment)); }
public static Task <Timeslip> GetTimeslipAsync(this FreeAgentClient client, int timeslipId) { return(client.GetOrCreateAsync(c => c.GetTimeslip(client.Configuration.CurrentHeader, timeslipId), r => r.Timeslip)); }