db640701-a1c5-4177-9f03-5152d093ffa7
true
D0011-sql-01.sdt.local
jazz tst StrataSphere 20191104.1
true
Newtonsoft.Json
RestSharp
RestSharp
Newtonsoft.Json.Converters
Newtonsoft.Json
System.Dynamic
private string BaseUrl = @"https://localhost:44325/api/v1/";
void Main()
{
RestClient client = new RestClient();
var reports = GetList(client, "Reports");
reports.Dump();
}
dynamic GetList(RestClient client, string something)
{
client.BaseUrl = new Uri(BaseUrl + something);
RestRequest request = new RestRequest();
request.Method = Method.GET;
var converter = new ExpandoObjectConverter();
return JsonConvert.DeserializeObject(client.Execute(request).Content, converter);
}
void other()
{
StandardDefinitionMappings.Select(sdm => new
{
sdm.MappingId,
sdm.StandardDefinitionGUID,
sdm.StandardDefinitionType,
MappingMemberValue = JsonConvert.DeserializeObject(sdm.MappingMemberValue)
}).Dump("StandardDefinitionMappings");
REReports.Join(REDSCubeReportParameters,
r => r.ReportGUID,
p => p.ReportGUID,
(r, p) => new ReportInfo(p.ParameterXML)
{
Report = r.Name,
DimensionID = p.DimensionID,
AttributeID = p.AttributeID
}).Dump("Cube Reports");
REReports.Join(REClientReportParameters,
r => r.ReportGUID,
p => p.ReportGUID,
(r, p) => new ReportInfo(p.ParameterXML)
{
Report = r.Name,
DimensionID = p.DimensionID,
AttributeID = p.AttributeID
}).Dump("Client Reports");
}
IEnumerable GetList(RestClient client, string something)
{
return Get>(client, something);
}
T Get(RestClient client, string something)
{
client.BaseUrl = new Uri(BaseUrl + something);
RestRequest request = new RestRequest();
request.Method = Method.GET;
return JsonConvert.DeserializeObject(client.Execute(request).Content,
new JsonSerializerSettings
{
Error = delegate (object sender, Newtonsoft.Json.Serialization.ErrorEventArgs args)
{
args.ErrorContext.Error.Message.Dump();
args.ErrorContext.Handled = true;
}
});
}
void stuff(RestClient client)
{
client.BaseUrl = new Uri(BaseUrl + "Definitions");
RestRequest request = new RestRequest();
request.Method = Method.GET;
var definitions = JsonConvert.DeserializeObject>(client.Execute(request).Content);
definitions.Where(d => d.DimensionGuid == new Guid("6EF6B1F7-A50C-4198-8866-140BB82E2DDA")).Dump("Definitions");
client.BaseUrl = new Uri(BaseUrl + "MDXScoreToCube");
var mdx = JsonConvert.DeserializeObject>(client.Execute(request).Content);
mdx.Dump("MDX");
client.BaseUrl = new Uri(BaseUrl + "Reports");
var reports = JsonConvert.DeserializeObject>(client.Execute(request).Content);
reports.Dump("Reports");
var reportSetupUrl = new Uri(BaseUrl + "Reports/{0}/Setup");
reports.Where(r => r.Id == new Guid("a4a12e21-954b-4889-d5c8-08d71f2ff590")).ToList().ForEach(r =>
{
client.BaseUrl = new Uri(BaseUrl + $"Reports/{r.Id}");
var rpt = JsonConvert.DeserializeObject(client.Execute(request).Content);
rpt.DefinitionIds.ForEach(d =>
{
client.BaseUrl = new Uri(BaseUrl + $"Defintions/{d}");
var definition = JsonConvert.DeserializeObject>(client.Execute(request).Content);
definition.Dump($"Report {r.Name} Definition {d}");
});
});
}
// Define other methods and classes here
public class ReportInfo
{
public string Report { get; set; }
public string DimensionID { get; set; }
public string AttributeID { get; set; }
public string ParameterXML { get; set; }
internal XmlDocument doc;
public string Parameter { get; set; }
public ReportInfo(string parameterXML)
{
ParameterXML = parameterXML;
var parameterXml = ParameterXML = $"{ParameterXML}"
.RemoveAllNamespacesAsString()
.Replace("string>", "valueId>")
.Replace("", "")
.Replace("<_", "<").Replace("(
JsonConvert.SerializeXmlNode(doc.SelectSingleNode("root")
)
)
,
Newtonsoft.Json.Formatting.Indented);
}
}
public class StrataSphereMappingValues
{
public string HierarchyGUID { get; set; }
public string DimensionGUID { get; set; }
public List values { get; set; }
public List mappings { get; set; }
public List hierarchyPaths { get; set; }
public StrataSphereMappingValues()
{
mappings = new List();
}
}
public class MappingValue
{
public string id { get; set; }
public string displayHierarchyName { get; set; }
public string text { get; set; }
public string name { get; set; }
public List