@@ -64,7 +64,7 @@ public async Task<Report> TenNinetyNineAsync(DateTime? year)
6464 {
6565 var parameters = new NameValueCollection ( ) ;
6666
67- parameters . AddYear ( "reportYear" , year ) ;
67+ parameters . AddIfNotNull ( "reportYear" , year ? . Year ) ;
6868
6969 var endpoint = AddParameters ( parameters ) ;
7070
@@ -94,13 +94,13 @@ public async Task<Report> BalanceSheetAsync(DateTime date, Guid? tracking1 = nul
9494 {
9595 var parameters = new NameValueCollection ( ) ;
9696
97- parameters . Add ( "date" , date ) ;
98- parameters . Add ( "trackingOptionID1" , tracking1 ) ;
99- parameters . Add ( "trackingOptionID2" , tracking2 ) ;
100- parameters . Add ( "standardLayout" , standardLayout ) ;
101- parameters . Add ( "paymentsOnly" , paymentsOnly ) ;
102- parameters . Add ( "timeframe" , timeframe ) ;
103- parameters . Add ( "periods" , periods ) ;
97+ parameters . AddIfNotNull ( "date" , date ) ;
98+ parameters . AddIfNotNull ( "trackingOptionID1" , tracking1 ) ;
99+ parameters . AddIfNotNull ( "trackingOptionID2" , tracking2 ) ;
100+ parameters . AddIfNotNull ( "standardLayout" , standardLayout ) ;
101+ parameters . AddIfNotNull ( "paymentsOnly" , paymentsOnly ) ;
102+ parameters . AddIfNotNull ( "timeframe" , timeframe ) ;
103+ parameters . AddIfNotNull ( "periods" , periods ) ;
104104
105105 var endpoint = AddParameters ( parameters ) ;
106106
@@ -111,9 +111,9 @@ public async Task<Report> BankStatementAsync(Guid account, DateTime? from = null
111111 {
112112 var parameters = new NameValueCollection ( ) ;
113113
114- parameters . Add ( "bankAccountID" , account ) ;
115- parameters . Add ( "fromDate" , from ) ;
116- parameters . Add ( "toDate" , to ) ;
114+ parameters . AddIfNotNull ( "bankAccountID" , account ) ;
115+ parameters . AddIfNotNull ( "fromDate" , from ) ;
116+ parameters . AddIfNotNull ( "toDate" , to ) ;
117117
118118 var endpoint = AddParameters ( parameters ) ;
119119
@@ -124,8 +124,8 @@ public async Task<Report> BankSummaryAsync(DateTime? from = null, DateTime? to =
124124 {
125125 var parameters = new NameValueCollection ( ) ;
126126
127- parameters . Add ( "fromDate" , from ) ;
128- parameters . Add ( "toDate" , to ) ;
127+ parameters . AddIfNotNull ( "fromDate" , from ) ;
128+ parameters . AddIfNotNull ( "toDate" , to ) ;
129129
130130 var endpoint = AddParameters ( parameters ) ;
131131
@@ -136,9 +136,9 @@ public async Task<Report> BudgetSummaryAsync(DateTime? date = null, int? periods
136136 {
137137 var parameters = new NameValueCollection ( ) ;
138138
139- parameters . Add ( "date" , date ) ;
140- parameters . Add ( "periods" , periods ) ;
141- parameters . Add ( "timeframe" , ( int ? ) timeFrame ) ;
139+ parameters . AddIfNotNull ( "date" , date ) ;
140+ parameters . AddIfNotNull ( "periods" , periods ) ;
141+ parameters . AddIfNotNull ( "timeframe" , ( int ? ) timeFrame ) ;
142142
143143 var endpoint = AddParameters ( parameters ) ;
144144
@@ -149,7 +149,7 @@ public async Task<Report> ExecutiveSummaryAsync(DateTime? date = null)
149149 {
150150 var parameters = new NameValueCollection ( ) ;
151151
152- parameters . Add ( "date" , date ) ;
152+ parameters . AddIfNotNull ( "date" , date ) ;
153153
154154 var endpoint = AddParameters ( parameters ) ;
155155
@@ -162,17 +162,17 @@ public async Task<Report> ProfitAndLossAsync(DateTime? date, DateTime? from = nu
162162 {
163163 var parameters = new NameValueCollection ( ) ;
164164
165- parameters . Add ( "date" , date ) ;
166- parameters . Add ( "fromDate" , from ) ;
167- parameters . Add ( "toDate" , to ) ;
168- parameters . Add ( "trackingCategoryID" , trackingCategory ) ;
169- parameters . Add ( "trackingOptionID" , trackingOption ) ;
170- parameters . Add ( "trackingCategoryID2" , trackingCategory2 ) ;
171- parameters . Add ( "trackingOptionID2" , trackingOption2 ) ;
172- parameters . Add ( "standardLayout" , standardLayout ) ;
173- parameters . Add ( "paymentsOnly" , paymentsOnly ) ;
174- parameters . Add ( "timeframe" , timeframe ) ;
175- parameters . Add ( "periods" , periods ) ;
165+ parameters . AddIfNotNull ( "date" , date ) ;
166+ parameters . AddIfNotNull ( "fromDate" , from ) ;
167+ parameters . AddIfNotNull ( "toDate" , to ) ;
168+ parameters . AddIfNotNull ( "trackingCategoryID" , trackingCategory ) ;
169+ parameters . AddIfNotNull ( "trackingOptionID" , trackingOption ) ;
170+ parameters . AddIfNotNull ( "trackingCategoryID2" , trackingCategory2 ) ;
171+ parameters . AddIfNotNull ( "trackingOptionID2" , trackingOption2 ) ;
172+ parameters . AddIfNotNull ( "standardLayout" , standardLayout ) ;
173+ parameters . AddIfNotNull ( "paymentsOnly" , paymentsOnly ) ;
174+ parameters . AddIfNotNull ( "timeframe" , timeframe ) ;
175+ parameters . AddIfNotNull ( "periods" , periods ) ;
176176
177177 var endpoint = AddParameters ( parameters ) ;
178178
@@ -183,8 +183,8 @@ public async Task<Report> TrailBalanceAsync(DateTime? date = null, bool? payment
183183 {
184184 var parameters = new NameValueCollection ( ) ;
185185
186- parameters . Add ( "date" , date ) ;
187- parameters . Add ( "paymentsOnly" , paymentsOnly ) ;
186+ parameters . AddIfNotNull ( "date" , date ) ;
187+ parameters . AddIfNotNull ( "paymentsOnly" , paymentsOnly ) ;
188188
189189 var endpoint = AddParameters ( parameters ) ;
190190
@@ -193,42 +193,14 @@ public async Task<Report> TrailBalanceAsync(DateTime? date = null, bool? payment
193193
194194 private NameValueCollection GetAgedParameters ( Guid contact , DateTime ? date , DateTime ? from , DateTime ? to )
195195 {
196- var parameters = new NameValueCollection
197- {
198- {
199- "contactID" , contact . ToString ( "D" )
200- }
201- } ;
196+ var parameters = new NameValueCollection ( ) ;
202197
203- parameters . Add ( "date" , date ) ;
204- parameters . Add ( "fromDate" , from ) ;
205- parameters . Add ( "toDate" , to ) ;
198+ parameters . AddIfNotNull ( "contactID" , contact ) ;
199+ parameters . AddIfNotNull ( "date" , date ) ;
200+ parameters . AddIfNotNull ( "fromDate" , from ) ;
201+ parameters . AddIfNotNull ( "toDate" , to ) ;
206202
207203 return parameters ;
208204 }
209205 }
210-
211- internal static class Extensions
212- {
213- public static string ToReportDate ( this DateTime dt )
214- {
215- return dt . ToString ( "yyyy-MM-dd" ) ;
216- }
217-
218- public static void AddYear ( this NameValueCollection collection , string name , DateTime ? value )
219- {
220- if ( value . HasValue )
221- {
222- collection . Add ( name , value . Value . Year ) ;
223- }
224- }
225-
226- public static void Add ( this NameValueCollection collection , string name , DateTime ? value )
227- {
228- if ( value . HasValue )
229- {
230- collection . Add ( name , value . Value . ToReportDate ( ) ) ;
231- }
232- }
233- }
234206}
0 commit comments