Files
BeWoPlaner/Shared/ReportRequests/AbstractReportRequest.cs
2024-11-20 15:17:13 +01:00

44 lines
813 B
C#

using BS.Shared.DataContracts;
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BS.Shared.ReportRequests
{
public abstract class AbstractReportRequest
{
public ReportTypes ReportType { get; set; }
public AbstractReportRequest(ReportTypes type)
{
ReportType = type;
}
internal abstract NameValueCollection GetParameters();
public string GetUrlPathString()
{
var sb = new StringBuilder();
sb.Append($"?type={ReportType}");
var parameters = GetParameters();
if (parameters is null)
return sb.ToString();
foreach (string key in parameters)
{
var value = parameters[key];
sb.Append($"&{key}={value}");
}
return sb.ToString();
}
}
}