示例#1
0
        public async Task <PagedResult <IEnumerable <Payment> > > GetRecurringSchedulePaymentsAsync(int recurringPaymentId)
        {
            var endpoint = string.Format("{0}{1}/{2}/payments", settings.BaseUrl, Endpoints.RecurringPayment, recurringPaymentId);
            var result   = await webServiceRequest.GetDeserializedAsync <Result <IEnumerable <Payment> > >(new Uri(endpoint));

            return(PagedResult.ConvertToPagedResult <IEnumerable <Payment> >(result));
        }
        public async Task <PagedResult <IEnumerable <Customer> > > GetCustomersAsync(CustomerSort sortBy = CustomerSort.LastName, SortDirection direction = SortDirection.ASC, int page = 1, int pageSize = 200, bool lite = false)
        {
            StringBuilder endpoint = new StringBuilder(string.Format("{0}{1}?lite={2}", settings.BaseUrl, Endpoints.Customer, lite));

            if (sortBy != CustomerSort.LastName)
            {
                endpoint.AppendFormat("&sortby={0}", EnumStrings.CustomerSortStrings[sortBy]);
            }

            if (direction != SortDirection.ASC)
            {
                endpoint.AppendFormat("&direction={0}", EnumStrings.SortDirectionStrings[direction]);
            }

            if (page != 1)
            {
                endpoint.AppendFormat("&page={0}", page);
            }

            if (pageSize != 200)
            {
                endpoint.AppendFormat("&pagesize={0}", pageSize);
            }

            var result = await webServiceRequest.GetDeserializedAsync <Result <IEnumerable <Customer> > >(new Uri(endpoint.ToString()));

            return(PagedResult.ConvertToPagedResult <IEnumerable <Customer> >(result));
        }
示例#3
0
        public async Task <PagedResult <IEnumerable <PaymentSchedule> > > GetAllPaymentSchedulesAsync(int page = 1, int pageSize = 200)
        {
            var endpoint = $"{settings.BaseUrl}{Endpoints.PaymentSchedule}?page={page}&pagesize={pageSize}";
            var result   = await webServiceRequest.GetDeserializedAsync <Result <IEnumerable <PaymentSchedule> > >(new Uri(endpoint));

            return(PagedResult.ConvertToPagedResult <IEnumerable <PaymentSchedule> >(result));
        }
示例#4
0
        public async Task <PagedResult <IEnumerable <Payment> > > GetPaymentsAsync(DateTime?startDate = null, DateTime?endDate = null, IEnumerable <PaymentStatus> status = null, PaymentSort sortBy = PaymentSort.PaymentId, SortDirection direction = SortDirection.DESC, int page = 1, int pageSize = 200, bool lite = false)
        {
            StringBuilder endpoint = new StringBuilder(string.Format("{0}{1}?lite={2}", settings.BaseUrl, Endpoints.Payment, lite));

            if (startDate != null)
            {
                endpoint.AppendFormat("&startdate={0}", startDate.Value.ToString("yyyy-MM-dd"));
            }

            if (endDate != null)
            {
                endpoint.AppendFormat("&enddate={0}", endDate.Value.ToString("yyyy-MM-dd"));
            }

            if (status != null)
            {
                var stati = new List <string>();
                foreach (var s in status)
                {
                    stati.Add(EnumStrings.PaymentStatusStrings[s]);
                }

                endpoint.Append(string.Format("&status={0}", string.Join(",", stati)));
            }

            if (sortBy != PaymentSort.PaymentId)
            {
                endpoint.AppendFormat("&sortby={0}", EnumStrings.PaymentSortStrings[sortBy]);
            }

            if (direction != SortDirection.ASC)
            {
                endpoint.AppendFormat("&direction={0}", EnumStrings.SortDirectionStrings[direction]);
            }

            if (page != 1)
            {
                endpoint.AppendFormat("&page={0}", page);
            }

            if (pageSize != 200)
            {
                endpoint.AppendFormat("&pagesize={0}", pageSize);
            }

            var result = await webServiceRequest.GetDeserializedAsync <Result <IEnumerable <Payment> > >(new Uri(endpoint.ToString()));

            return(PagedResult.ConvertToPagedResult <IEnumerable <Payment> >(result));
        }
        public async Task <PagedResult <IEnumerable <RecurringPayment> > > GetRecurringPaymentSchedulesAsync(int customerId, DateTime?startDate = null, DateTime?endDate = null, ScheduleStatus?status = null, ScheduleSort sortBy = ScheduleSort.Id, SortDirection direction = SortDirection.ASC, int page = 1, int pageSize = 200, bool lite = false)
        {
            StringBuilder endpoint = new StringBuilder(string.Format("{0}{1}/{2}/recurringpayments?lite={3}", settings.BaseUrl, Endpoints.Customer, customerId, lite));

            if (startDate != null)
            {
                endpoint.AppendFormat("&startdate={0}", startDate.Value.ToString("yyyy-MM-dd"));
            }

            if (endDate != null)
            {
                endpoint.AppendFormat("&enddate={0}", endDate.Value.ToString("yyyy-MM-dd"));
            }

            if (status != null)
            {
                endpoint.Append(string.Format("&status={0}", status));
            }

            if (sortBy != ScheduleSort.Id)
            {
                endpoint.AppendFormat("&sortby={0}", EnumStrings.ScheduleSortStrings[sortBy]);
            }

            if (direction != SortDirection.ASC)
            {
                endpoint.AppendFormat("&direction={0}", EnumStrings.SortDirectionStrings[direction]);
            }

            if (page != 1)
            {
                endpoint.AppendFormat("&page={0}", page);
            }

            if (pageSize != 200)
            {
                endpoint.AppendFormat("&pagesize={0}", pageSize);
            }

            var result = await webServiceRequest.GetDeserializedAsync <Result <IEnumerable <RecurringPayment> > >(new Uri(endpoint.ToString()));

            return(PagedResult.ConvertToPagedResult <IEnumerable <RecurringPayment> >(result));
        }