< Summary

Information
Class: ReportingServices.Shared.HelperClasses.APIHelperFunctions
Assembly: ReportingServices.Shared
File(s): C:\Users\wathen\source\repos\ReportingServices\ReportingServices.Shared\HelperClasses\APIHelperFunctions.cs
Line coverage
31%
Covered lines: 21
Uncovered lines: 46
Coverable lines: 67
Total lines: 109
Line coverage: 31.3%
Branch coverage
20%
Covered branches: 4
Total branches: 20
Branch coverage: 20%
Method coverage

Method coverage is only available for sponsors.

Upgrade to PRO version

Metrics

MethodBranch coverage Cyclomatic complexity Line coverage
.cctor()100%10%
GetBeginningOfWeekAsAPIString()50%481.81%
GetDateWithOffsetAsAPIString(...)100%1100%
GetDateTimeAsAPIString(...)100%2100%
SetParameters(...)0%40%
GenerateURL(...)0%80%
GenerateURLWithParameters(...)100%10%
ReverseList(...)0%20%

File(s)

C:\Users\wathen\source\repos\ReportingServices\ReportingServices.Shared\HelperClasses\APIHelperFunctions.cs

#LineLine coverage
 1using System.Web;
 2
 3namespace ReportingServices.Shared.HelperClasses
 4{
 5    public static class APIHelperFunctions
 6    {
 07        private readonly static string fabTimeServer = "http://messa004.infineon.com/fabtime717service/GetChartData.aspx
 8
 9        public static string GetBeginningOfWeekAsAPIString()
 110        {
 111            DateTime date = DateTime.Now;
 12
 113            int dayOfWeek = (int)date.DayOfWeek;
 14
 115            date = dayOfWeek switch
 116            {
 017                0 => date.AddDays(-6),
 018                1 => date,
 119                _ => date.AddDays(1 - dayOfWeek)
 120            };
 21
 122            return GetDateTimeAsAPIString(date.ToString(), false);
 123        }
 24
 25        public static string GetDateWithOffsetAsAPIString(string dateString, float offset)
 126        {
 127            DateTime date = DateTime.Parse(dateString);
 28
 129            date = date.AddHours(offset);
 30
 131            return GetDateTimeAsAPIString(date.ToString(), true);
 132        }
 33
 34        public static string GetDateTimeAsAPIString(string dateString, bool fullDateTime)
 435        {
 436            DateTime date = DateTime.Parse(dateString);
 37
 438            if (fullDateTime)
 239                dateString = date.ToString("yyyy-M-d HH:mm:ss");
 40            else
 241                dateString = date.Year + "-" + date.Month + "-" + date.Day + " 0:0:0";
 42
 443            return dateString;
 444        }
 45
 46        public static Dictionary<string, string> SetParameters(string startDate = "", string endDate = "", string chart 
 47            string areasLike = "", string toolsLike = "", string operationsLike = "", string capacityTypesLike = "")
 048        {
 049            Dictionary<string, string> parameters = new();
 50
 051            startDate = startDate == "" ? HttpUtility.UrlEncode(GetBeginningOfWeekAsAPIString()) : startDate;
 052            endDate = endDate == "" ? HttpUtility.UrlEncode(GetDateTimeAsAPIString(DateTime.Now.ToString(), true)) : end
 53
 054            parameters.Add("chart", chart);
 055            parameters.Add("starttime", startDate);
 056            parameters.Add("endtime", endDate);
 057            parameters.Add("periodlen", periodLen);
 058            parameters.Add("areaslike", areasLike);
 059            parameters.Add("toolslike", toolsLike);
 060            parameters.Add("operationslike", operationsLike);
 061            parameters.Add("capacitytypeslike", capacityTypesLike);
 062            parameters.Add("login", "administrator");
 063            parameters.Add("password", "admin");
 064            parameters.Add("fabtimeauthentication", "1");
 65
 066            return parameters;
 067        }
 68
 69        public static string GenerateURL(Dictionary<string, string> parameters)
 070        {
 071            int count = 0;
 072            string url = fabTimeServer;
 73
 074            foreach (KeyValuePair<string, string> pair in parameters)
 075            {
 076                if (pair.Value != "")
 077                    url = url + pair.Key + "=" + pair.Value;
 78
 079                if (count != parameters.Count - 1 && !string.IsNullOrEmpty(pair.Value))
 080                    url += "&";
 81
 082                count++;
 083            }
 84
 085            return url;
 086        }
 87
 88        public static string GenerateURLWithParameters(string startDate = "", string endDate = "", string chart = "", st
 89            string areasLike = "", string toolsLike = "", string operationsLike = "", string capacityTypesLike = "")
 090        {
 091            Dictionary<string, string> parameters = SetParameters(startDate, endDate, chart,
 092                periodLen, areasLike, toolsLike, operationsLike, capacityTypesLike);
 93
 094            return GenerateURL(parameters);
 095        }
 96
 97        public static List<T> ReverseList<T>(List<T> inputList)
 098        {
 099            List<T> temp = new();
 100
 0101            for (int i = inputList.Count - 1; i >= 0; i--)
 0102            {
 0103                temp.Add(inputList[i]);
 0104            }
 105
 0106            return temp;
 0107        }
 108    }
 109}