public XmlRpcManager() { this.server = new XmlRpcServer(); this.getPid = (parms, result) => ResponseInt(1, "", Process.GetCurrentProcess().Id)(result); }
public double annualCost(CostInfo costInfo, RoomType[] rooms, Response[] acuityInfo, Response[] arrivalInfo, ResponseInt daysToRun, double[] simulationResponses, double lwbs, string type) { //System.Diagnostics.Debug.WriteLine(utilityCost(costInfo, rooms) + " " + staffCost(costInfo, rooms, simulationResponses) + " " + lwbsCost(acuityInfo, arrivalInfo, lwbs, daysToRun)); return utilityCost(costInfo, rooms, type) + staffCost(costInfo, rooms, simulationResponses, type) + lwbsCost(acuityInfo, arrivalInfo, lwbs, daysToRun); //getUtilizationAndLWBS(rooms) }
//value at construction start public double costAtConstructionStart(CostInfo costInfo, RoomType[] rooms, Response[] acuityInfo, Response[] arrivalInfo, double interestRate, double growthRate, double yearsToCompletion, double yearsAhead, ResponseInt daystoRun, double[] simulationResponses, double lwbs, string type) { //Console.WriteLine(annualCost(costInfo, rooms, acuityInfo, arrivalInfo, daystoRun, simulationResponses, lwbs) * ((1 - Math.Pow((1 + growthRate) / (1 + interestRate), yearsAhead)) / ((interestRate - growthRate) * Math.Pow(1 + interestRate, yearsToCompletion)))); double annuityOfAnnualCost = annualCost(costInfo, rooms, acuityInfo, arrivalInfo, daystoRun, simulationResponses, lwbs, type) * ((1 - Math.Pow((1 + growthRate) / (1 + interestRate), yearsAhead)) / ((interestRate - growthRate) * Math.Pow(1 + interestRate, yearsToCompletion))); return initialCost(costInfo,rooms, type) + annuityOfAnnualCost; }
//TODO: revenue by acuity //TODO: lwbs (from Simio) public double lwbsCost(Response[] acuityInfo, Response[] arrivalInfo, double lwbs, ResponseInt daysToRun) { double value = 0; value += 365 / daysToRun.value * arrivalInfo[2].value * lwbs; return value; }