public static void Main()
OrderHealthPercentageCalc1();
OrderHealthPercentageCalc2();
OrderHealthPercentageCalc3();
private static void OrderHealthPercentageCalc1(){
var orderHealthCount = 33;
var Percentage = totalOrders != 0 ? (int)(decimal.Round((decimal)orderHealthCount / (decimal)totalOrders * 100)) : 0;
Console.WriteLine("OrderHealth Percentage:" + Percentage + " expected: 0");
private static void OrderHealthPercentageCalc2(){
var orderHealthCount = 33;
var Percentage = totalOrders != 0 ? (int)(decimal.Round((decimal)orderHealthCount / (decimal)totalOrders * 100)) : 0;
Console.WriteLine("OrderHealth Percentage:" + Percentage + " expected: 33");
private static void OrderHealthPercentageCalc3(){
var orderHealthCount = 10;
var Percentage = totalOrders != 0 ? (int)(decimal.Round((decimal)orderHealthCount / (decimal)totalOrders * 100)) : 0;
Console.WriteLine("OrderHealth Percentage:" + Percentage + " expected: 67");
private static void OrderContacts1(){
int prevNoOfContacts = 0;
var Change = prevNoOfContacts != 0 ? decimal.Round((decimal)(noOfContacts - prevNoOfContacts) / (decimal)prevNoOfContacts * 100, 1) : (decimal?)null;
Console.WriteLine("OrderContact Change:" + Change + " expected: null");
private static void OrderContacts2(){
int prevNoOfContacts = 2;
var Change = prevNoOfContacts != 0 ? decimal.Round((decimal)(noOfContacts - prevNoOfContacts) / (decimal)prevNoOfContacts * 100, 1) : (decimal?)null;
Console.WriteLine("OrderContact Change:" + Change + " expected: 150");
private static void NetFailRate1(){
decimal currentNetFailRate = (decimal)5.2;
decimal prevNetFailRate = (decimal)1;
var Change = prevNetFailRate != 0 ? decimal.Round((decimal)(currentNetFailRate - prevNetFailRate) / prevNetFailRate * 100, 1) : 0;
Console.WriteLine("NetFailRate Change:" + Change + " expected: 420");
private static void NetFailRate2(){
decimal currentNetFailRate = (decimal)4.75;
decimal prevNetFailRate = (decimal)6;
var Change = prevNetFailRate != 0 ? decimal.Round((decimal)(currentNetFailRate - prevNetFailRate) / prevNetFailRate * 100, 1) : 0;
Console.WriteLine("NetFailRate Change:" + Change + " expected: -20.8");
private static void AvgResponseTime1(){
decimal? avgValue = (decimal)3.5;
decimal? prevAvgValue = (decimal)4.0;
var AverageResponseTime = avgValue.HasValue ? decimal.Round(avgValue.Value) : avgValue;
var Change = (avgValue.HasValue && prevAvgValue.HasValue) ? decimal.Round((avgValue.Value - prevAvgValue.Value) / prevAvgValue.Value * 100, 1) : (decimal?)null;
Console.WriteLine("AverageResponseTime:" + AverageResponseTime + " Change:" + Change + " expected: -12.5");
private static void AvgVendorDelay1(){
decimal? avgValue = (decimal)10;
decimal? prevAvgValue = (decimal)4.0;
var AverageDelayTime = avgValue.HasValue ? decimal.Round(avgValue.Value) : avgValue;
var Change = (avgValue.HasValue && prevAvgValue.HasValue) ? decimal.Round((avgValue.Value - prevAvgValue.Value) / prevAvgValue.Value * 100, 1) : (decimal?)null;
Console.WriteLine("AverageDelayTime:" + AverageDelayTime + " Change:" + Change + " expected: 150");