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

rwjdk / TrelloDotNet / 6852213317

13 Nov 2023 03:36PM UTC coverage: 66.31% (-0.5%) from 66.806%
6852213317

push

github

rwjdk
1.9.5 CS Proj and Changelog

889 of 1665 branches covered (0.0%)

Branch coverage included in aggregate %.

2331 of 3191 relevant lines covered (73.05%)

56.09 hits per line

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

91.07
/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
        /// <summary>
19
        /// Name of the Parameter (found on Trello API reference page: https://developer.atlassian.com/cloud/trello/rest)
20
        /// </summary>
21
        public string Name { get; set; }
5,139✔
22
        /// <summary>
23
        /// Type of the parameter
24
        /// </summary>
25
        public QueryParameterType Type { get; set; }
4,894✔
26

27
        /// <summary>
28
        /// Constructor
29
        /// </summary>
30
        /// <param name="name">Name of the Parameter</param>
31
        /// <param name="value">Value of the Parameter</param>
32
        public QueryParameter(string name, string value)
962✔
33
        {
34
            Name = name;
962✔
35
            Type = QueryParameterType.String;
962✔
36
            _valueAsObject = value;
962✔
37
        }
962✔
38
        
39
        /// <summary>
40
        /// Constructor
41
        /// </summary>
42
        /// <param name="name">Name of the Parameter</param>
43
        /// <param name="value">Value of the Parameter</param>
44
        public QueryParameter(string name, List<string> value)
162✔
45
        {
46
            Name = name;
162✔
47
            Type = QueryParameterType.String;
162✔
48
            _valueAsObject = value != null ? string.Join(",", value) : null;
162!
49
        }
162✔
50

51
        /// <summary>
52
        /// Constructor
53
        /// </summary>
54
        /// <param name="name">Name of the Parameter</param>
55
        /// <param name="value">Value of the Parameter</param>
56
        public QueryParameter(string name, decimal? value)
197✔
57
        {
58
            Name = name;
197✔
59
            Type = QueryParameterType.Decimal;
197✔
60
            _valueAsObject = value;
197✔
61
        }
197✔
62

63
        /// <summary>
64
        /// Constructor
65
        /// </summary>
66
        /// <param name="name">Name of the Parameter</param>
67
        /// <param name="value">Value of the Parameter</param>
68
        public QueryParameter(string name, bool? value)
879✔
69
        {
70
            Name = name;
879✔
71
            Type = QueryParameterType.Boolean;
879✔
72
            _valueAsObject = value;
879✔
73
        }
879✔
74

75
        /// <summary>
76
        /// Constructor
77
        /// </summary>
78
        /// <param name="name">Name of the Parameter</param>
79
        /// <param name="value">Value of the Parameter</param>
80
        public QueryParameter(string name, int? value)
16✔
81
        {
82
            Name = name;
16✔
83
            Type = QueryParameterType.Integer;
16✔
84
            _valueAsObject = value;
16✔
85
        }
16✔
86

87
        /// <summary>
88
        /// Constructor
89
        /// </summary>
90
        /// <param name="name">Name of the Parameter</param>
91
        /// <param name="value">Value of the Parameter</param>
92
        public QueryParameter(string name, DateTimeOffset? value)
174✔
93
        {
94
            Name = name;
174✔
95
            Type = QueryParameterType.DateTimeOffset;
174✔
96
            _valueAsObject = value;
174✔
97
        }
174✔
98

99
        /// <summary>
100
        /// Get string-base-formatted version of the URI Parameter value
101
        /// </summary>
102
        /// <returns>Formatted string-value</returns>
103
        /// <exception cref="ArgumentOutOfRangeException">If wrong type in enum sent</exception>
104
        public string GetValueAsApiFormattedString()
105
        {
106
            if (_valueAsObject == null)
2,678✔
107
            {
108
                return "null";
174✔
109
            }
110
            switch (Type)
2,504!
111
            {
112
                case QueryParameterType.String:
113
                    return System.Web.HttpUtility.UrlEncode((string)_valueAsObject);
1,227✔
114
                case QueryParameterType.Boolean:
115
                    return ((bool)_valueAsObject).ToString().ToLowerInvariant();
1,026✔
116
                case QueryParameterType.Integer:
117
                    return ((int)_valueAsObject).ToString(CultureInfo.InvariantCulture);
20✔
118
                case QueryParameterType.Decimal:
119
                    return ((decimal)_valueAsObject).ToString(CultureInfo.InvariantCulture);
213✔
120
                case QueryParameterType.DateTimeOffset:
121
                    return ((DateTimeOffset)_valueAsObject).ToString("yyyy-MM-ddTHH:mm", CultureInfo.InvariantCulture);
18✔
122
                default:
123
                    throw new ArgumentOutOfRangeException();
×
124
            }
125
        }
126

127
        internal string GetRawStringValue()
128
        {
129
            return _valueAsObject?.ToString();
4✔
130
        }
131

132
        internal void SetRawValue(object value)
133
        {
134
            _valueAsObject = value;
×
135
        }
×
136
    }
137
}
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