public OpenFiscaResource Build(MotorVehicleSimulationCase rule, MotorVehiclePerson person, decimal dailyResult) { var result = new OpenFiscaResource(); string personName = "person1"; result.CreatePerson(personName); // Target value result.SetProp(personName, OF.TotalOTHours, null); // Person vars result.SetProp(personName, OF.WeeklyHmvoHours, person.WeeklyHmvoHours); result.SetProp(personName, OF.WeeklyBusHours, 0); result.SetProp(personName, OF.WeeklyCmvoHours, person.WeeklyCmvoHours); result.SetProp(personName, OF.WeeklyOtherHours, person.WeeklyOtherHours); result.SetProp(personName, OF.NumHolidaysInPeriod, person.NumHolidays); // Parameter overrides result.SetProp(personName, OF.StandardClcDailyHours, rule.StandardOtherDaily); result.SetProp(personName, OF.StandardCmvoDailyHours, rule.StandardCmvoDaily); result.SetProp(personName, OF.StandardClcWeeklyHours, rule.StandardOtherWeekly); result.SetProp(personName, OF.StandardCmvoWeeklyHours, rule.StandardCmvoWeekly); result.SetProp(personName, OF.StandardHmvoHolidayReduction, rule.StandardHighwayReduction); result.SetProp(personName, OF.StandardHmvoWeeklyHours, rule.StandardHighwayWeekly); // Daily result result.SetProp(personName, OF.DailyOTHours, dailyResult); return(result); }
public decimal Extract(OpenFiscaResource response) { var personKey = response.persons.First().Key; var dictResult = response.GetProp(personKey, OF.TotalOTHours); return(Convert.ToDecimal(dictResult)); }
public decimal Extract(OpenFiscaResource response) { decimal totalDailyHours = 0m; foreach (var day in response.persons) { var dictResult = response.GetProp(day.Key, OF.DailyOTHours); var numericValue = Convert.ToDecimal(dictResult); totalDailyHours += numericValue; } return(totalDailyHours); }
public OpenFiscaResource Calculate(OpenFiscaResource request) { var restRequest = new RestRequest($"calculate", DataFormat.Json); restRequest.AddJsonBody(request); var result = _client.Post <OpenFiscaResource>(restRequest); if (result.StatusCode != System.Net.HttpStatusCode.OK) { throw new OpenFiscaException(result.ErrorMessage); } return(result.Data); }
public OpenFiscaResource Build(MotorVehicleSimulationCase rule, MotorVehiclePerson person) { var result = new OpenFiscaResource(); for (int i = 0; i < person.WeeklySchedule.Hours.Count; i++) { var hourSet = person.WeeklySchedule.Hours[i]; var personName = $"day_{i+1}"; result.CreatePerson(personName); result.SetProp(personName, OF.DailyOTHours, null); result.SetProp(personName, OF.DailyHmvoHours, hourSet.HoursHmvo); result.SetProp(personName, OF.DailyCmvoHours, hourSet.HoursCmvo); result.SetProp(personName, OF.DailyBusHours, 0); result.SetProp(personName, OF.DailyOtherHours, hourSet.HoursOther); result.SetProp(personName, OF.StandardClcDailyHours, rule.StandardOtherDaily); result.SetProp(personName, OF.StandardCmvoDailyHours, rule.StandardCmvoDaily); result.SetProp(personName, OF.IsHoliday, hourSet.IsHoliday); } return(result); }