• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

rwjdk / TrelloDotNet / 10901554534

17 Sep 2024 10:50AM UTC coverage: 60.082% (-1.2%) from 61.245%
10901554534

push

github

rwjdk
Version 1.10.09

898 of 1841 branches covered (48.78%)

Branch coverage included in aggregate %.

1 of 87 new or added lines in 4 files covered. (1.15%)

4 existing lines in 2 files now uncovered.

2341 of 3550 relevant lines covered (65.94%)

50.81 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

54.84
/TrelloDotNet/TrelloDotNet/Model/QueryParameter.cs
1
using System;
2
using System.Collections.Generic;
3
using System.Diagnostics;
4
using System.Globalization;
5
using System.Text.Json;
6
using TrelloDotNet.Control;
7
using TrelloDotNet.Model.Options;
8

9
namespace TrelloDotNet.Model
10
{
11
    /// <summary>
12
    /// URI Parameter to build the URL
13
    /// </summary>
14
    [DebuggerDisplay("{Name} (Type: {Type})")]
15
    public class QueryParameter
16
    {
17
        private object _valueAsObject;
18

19
        /// <summary>
20
        /// Name of the Parameter (found on Trello API reference page: https://developer.atlassian.com/cloud/trello/rest)
21
        /// </summary>
22
        public string Name { get; set; }
5,164✔
23

24
        /// <summary>
25
        /// Type of the parameter
26
        /// </summary>
27
        public QueryParameterType Type { get; set; }
4,927✔
28

29
        /// <summary>
30
        /// Constructor
31
        /// </summary>
32
        /// <param name="name">Name of the Parameter</param>
33
        /// <param name="valueAsObject">Value of the Parameter</param>
34
        /// <param name="type">Type of Parameter</param>
NEW
35
        internal QueryParameter(string name, QueryParameterType type, object valueAsObject)
×
36
        {
NEW
37
            Name = name;
×
NEW
38
            Type = type;
×
NEW
39
            _valueAsObject = valueAsObject;
×
NEW
40
        }
×
41

42
        /// <summary>
43
        /// Constructor
44
        /// </summary>
45
        /// <param name="name">Name of the Parameter</param>
46
        /// <param name="value">Value of the Parameter</param>
47
        public QueryParameter(string name, string value)
1,023✔
48
        {
49
            Name = name;
1,023✔
50
            Type = QueryParameterType.String;
1,023✔
51
            _valueAsObject = value;
1,023✔
52
        }
1,023✔
53

54
        /// <summary>
55
        /// Constructor
56
        /// </summary>
57
        /// <param name="name">Name of the Parameter</param>
58
        /// <param name="value">Value of the Parameter</param>
59
        public QueryParameter(string name, List<string> value)
162✔
60
        {
61
            Name = name;
162✔
62
            Type = QueryParameterType.String;
162✔
63
            _valueAsObject = value != null ? string.Join(",", value) : null;
162!
64
        }
162✔
65

66
        /// <summary>
67
        /// Constructor
68
        /// </summary>
69
        /// <param name="name">Name of the Parameter</param>
70
        /// <param name="value">Value of the Parameter</param>
71
        public QueryParameter(string name, decimal? value)
197✔
72
        {
73
            Name = name;
197✔
74
            Type = QueryParameterType.Decimal;
197✔
75
            _valueAsObject = value;
197✔
76
        }
197✔
77

78
        /// <summary>
79
        /// Constructor
80
        /// </summary>
81
        /// <param name="name">Name of the Parameter</param>
82
        /// <param name="value">Value of the Parameter</param>
83
        public QueryParameter(string name, bool? value)
879✔
84
        {
85
            Name = name;
879✔
86
            Type = QueryParameterType.Boolean;
879✔
87
            _valueAsObject = value;
879✔
88
        }
879✔
89

90
        /// <summary>
91
        /// Constructor
92
        /// </summary>
93
        /// <param name="name">Name of the Parameter</param>
94
        /// <param name="value">Value of the Parameter</param>
95
        public QueryParameter(string name, int? value)
16✔
96
        {
97
            Name = name;
16✔
98
            Type = QueryParameterType.Integer;
16✔
99
            _valueAsObject = value;
16✔
100
        }
16✔
101

102
        /// <summary>
103
        /// Constructor
104
        /// </summary>
105
        /// <param name="name">Name of the Parameter</param>
106
        /// <param name="value">Value of the Parameter</param>
107
        public QueryParameter(string name, DateTimeOffset? value)
174✔
108
        {
109
            Name = name;
174✔
110
            Type = QueryParameterType.DateTimeOffset;
174✔
111
            _valueAsObject = value;
174✔
112
        }
174✔
113

114
        /// <summary>
115
        /// Constructor
116
        /// </summary>
117
        /// <param name="name">Name of the Parameter</param>
118
        /// <param name="value">Value of the Parameter</param>
NEW
119
        public QueryParameter(CardFieldsType name, string value)
×
120
        {
NEW
121
            Name = name.GetJsonPropertyName();
×
NEW
122
            Type = QueryParameterType.String;
×
NEW
123
            _valueAsObject = value;
×
NEW
124
        }
×
125

126
        /// <summary>
127
        /// Constructor
128
        /// </summary>
129
        /// <param name="name">Name of the Parameter</param>
130
        /// <param name="value">Value of the Parameter</param>
NEW
131
        public QueryParameter(CardFieldsType name, List<string> value)
×
132
        {
NEW
133
            Name = name.GetJsonPropertyName();
×
NEW
134
            Type = QueryParameterType.String;
×
NEW
135
            _valueAsObject = value != null ? string.Join(",", value) : null;
×
NEW
136
        }
×
137

138
        /// <summary>
139
        /// Constructor
140
        /// </summary>
141
        /// <param name="name">Name of the Parameter</param>
142
        /// <param name="value">Value of the Parameter</param>
NEW
143
        public QueryParameter(CardFieldsType name, decimal? value)
×
144
        {
NEW
145
            Name = name.GetJsonPropertyName();
×
NEW
146
            Type = QueryParameterType.Decimal;
×
NEW
147
            _valueAsObject = value;
×
NEW
148
        }
×
149

150
        /// <summary>
151
        /// Constructor
152
        /// </summary>
153
        /// <param name="name">Name of the Parameter</param>
154
        /// <param name="value">Value of the Parameter</param>
NEW
155
        public QueryParameter(CardFieldsType name, bool? value)
×
156
        {
NEW
157
            Name = name.GetJsonPropertyName();
×
NEW
158
            Type = QueryParameterType.Boolean;
×
NEW
159
            _valueAsObject = value;
×
NEW
160
        }
×
161

162
        /// <summary>
163
        /// Constructor
164
        /// </summary>
165
        /// <param name="name">Name of the Parameter</param>
166
        /// <param name="value">Value of the Parameter</param>
NEW
167
        public QueryParameter(CardFieldsType name, int? value)
×
168
        {
NEW
169
            Name = name.GetJsonPropertyName();
×
NEW
170
            Type = QueryParameterType.Integer;
×
NEW
171
            _valueAsObject = value;
×
NEW
172
        }
×
173

174
        /// <summary>
175
        /// Constructor
176
        /// </summary>
177
        /// <param name="name">Name of the Parameter</param>
178
        /// <param name="value">Value of the Parameter</param>
NEW
179
        public QueryParameter(CardFieldsType name, DateTimeOffset? value)
×
180
        {
NEW
181
            Name = name.GetJsonPropertyName();
×
NEW
182
            Type = QueryParameterType.DateTimeOffset;
×
NEW
183
            _valueAsObject = value;
×
NEW
184
        }
×
185

186
        /// <summary>
187
        /// Get string-base-formatted version of the URI Parameter value
188
        /// </summary>
189
        /// <returns>Formatted string-value</returns>
190
        /// <exception cref="ArgumentOutOfRangeException">If wrong type in enum sent</exception>
191
        public string GetValueAsApiFormattedString()
192
        {
193
            if (_valueAsObject == null)
2,642✔
194
            {
195
                return "null";
166✔
196
            }
197

198
            switch (Type)
2,476!
199
            {
200
                case QueryParameterType.String:
201
                    return System.Web.HttpUtility.UrlEncode((string)_valueAsObject);
1,275✔
202
                case QueryParameterType.Boolean:
203
                    return ((bool)_valueAsObject).ToString().ToLowerInvariant();
950✔
204
                case QueryParameterType.Integer:
205
                    return ((int)_valueAsObject).ToString(CultureInfo.InvariantCulture);
16✔
206
                case QueryParameterType.Decimal:
207
                    return ((decimal)_valueAsObject).ToString(CultureInfo.InvariantCulture);
211✔
208
                case QueryParameterType.DateTimeOffset:
209
                    return ((DateTimeOffset)_valueAsObject).ToString("yyyy-MM-ddTHH:mm", CultureInfo.InvariantCulture);
24✔
210
                default:
211
                    throw new ArgumentOutOfRangeException();
×
212
            }
213
        }
214

215
        internal string GetRawStringValue()
216
        {
217
            return _valueAsObject?.ToString();
4✔
218
        }
219

220
        internal void SetRawValue(object value)
221
        {
222
            _valueAsObject = value;
×
223
        }
×
224
    }
225
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc