Skip to content

Instantly share code, notes, and snippets.

@LazyTarget
Last active August 16, 2017 11:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save LazyTarget/2425fd402461a08d0f375998ccc94a54 to your computer and use it in GitHub Desktop.
Save LazyTarget/2425fd402461a08d0f375998ccc94a54 to your computer and use it in GitHub Desktop.
SessionDataService - 1. original
public SessionData GetSessionData(SessionRequest request)
{
var response = new SessionData();
var frameAgreement = _thirdPartyWs.GetFrameAgreementDetail(request.FrameAgreementId);
var agreements = frameAgreement.Agreements;
foreach (var agreement in agreements)
{
var agreementDto = new AgreementDto();
response.Agreements.Add(agreementDto);
// data is gathered from thirdPartyWs and then combined into a custom `agreementDto`
var agreementDetail = _thirdPartyWs.GetAgreementDetail(agreement.Id);
var fuelCards = _thirdPartyWs.GetFuelCards(agreement.Id);
var serviceLevels = _thirdPartyWs.GetServiceLevels(agreement.Id);
var customers = _thirdPartyWs.GetCustomers(agreement.Id)
foreach (var customer in customers)
{
var customerDto = response.Customers.FirstOrDefault(c => c.Id == customer.Id);
if (customerDto == null)
{
customerDto = new CustomerDto();
response.Customers.Add(customerDto);
}
agreementDto.Customers.Add(customerDto);
var address = _thirdPartyWs.GetAddressByCustomer(customer.Id);
var branches = _thirdPartyWs.GetBranches(customer.Id);
// and even more thirdparty calls...
// data is combined into a custom `customerDto`
var customerDto = new CustomerDto();
response.Customers.Add(CustomerDto);
}
}
var person = _thirdPartyWs.GetPerson(request.UserId);
var accounts = _thirdPartyWs.GetAccount(person.Id);
foreach (var account in accounts)
{
var accountDetail = _thirdPartyWs.GetAccountDetail(account.Id);
foreach (var vehicle in accountDetail.Vehicles)
{
var milageReport = _thirdPartyWs.GetCurrentMilageReport(vehicle.Id);
// data is combined into a custom `vehicleDto`
var vehicleDto = new VehicleDto();
response.Person.Vehicles.Add(vehicleDto);
}
}
return response;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment