Exemple #1
0
        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));
        }
Exemple #5
0
        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));
        }
Exemple #6
0
        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));
 }
Exemple #9
0
 public static Task <BankAccount> CreateBankAccountAsync(this FreeAgentClient client, BankAccount account)
 {
     return(client.GetOrCreateAsync(c => c.CreateBankAccount(client.Configuration.CurrentHeader, account.Wrap()), r => r.BankAccount));
 }
Exemple #10
0
 public static Task <User> GetCurrentUserAsync(this FreeAgentClient client)
 {
     return(client.GetOrCreateAsync(c => c.GetCurrentUser(client.Configuration.CurrentHeader), r => r.User));
 }
Exemple #11
0
 public static Task <IEnumerable <User> > GetUsersAsync(this FreeAgentClient client)
 {
     return(client.GetOrCreateAsync(c => c.UserList(client.Configuration.CurrentHeader), r => r.Users));
 }
Exemple #12
0
        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));
        }
Exemple #13
0
 public static Task <NoteItem> GetNoteAsync(this FreeAgentClient client, int noteId)
 {
     return(client.GetOrCreateAsync(c => c.GetNote(client.Configuration.CurrentHeader, noteId), r => r.Note));
 }
Exemple #14
0
        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));
 }
Exemple #18
0
 public static Task <Expense> CreateExpenseAsync(this FreeAgentClient client, Expense expense)
 {
     return(client.GetOrCreateAsync(c => c.CreateExpense(client.Configuration.CurrentHeader, expense.Wrap()), r => r.Expense));
 }
Exemple #19
0
 public static Task <RecurringInvoice> GetRecurringInvoiceAsync(this FreeAgentClient client, int recurringInvoiceId)
 {
     return(client.GetOrCreateAsync(c => c.GetRecurringInvoice(client.Configuration.CurrentHeader, recurringInvoiceId), r => r.RecurringInvoice));
 }
Exemple #20
0
 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));
 }
Exemple #22
0
        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));
        }
Exemple #23
0
 public static Task <User> CreateUser(this FreeAgentClient client, User user)
 {
     return(client.GetOrCreateAsync(c => c.CreateUser(client.Configuration.CurrentHeader, user.Wrap()), r => r.User));
 }
Exemple #24
0
 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));
 }
Exemple #26
0
 public static Task <BankTransactionExplanation> CreateBankTransactionExplanationAsync(this FreeAgentClient client, BankTransactionExplanation explanation)
 {
     return(client.GetOrCreateAsync(c => c.CreateBankTransactionExplanation(client.Configuration.CurrentHeader, explanation.Wrap()), r => r.BankTransactionExplanation));
 }
Exemple #27
0
 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));
        }
Exemple #29
0
 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));
 }