/// <summary> /// Builds and sends an HTTP request for the data required to produce the bill period chart. /// </summary> /// <param name="userId">The user identifier.</param> /// <param name="username">The username.</param> /// <returns> /// The response object. /// </returns> public async Task <OrchestratorResponseWrapper <IList <KeyValuePair <TimePeriod, int> > > > GetBillPeriodChartData( Guid userId, string username) { var response = new OrchestratorResponseWrapper <IList <KeyValuePair <TimePeriod, int> > >(); try { var request = assembler.NewGetBillPeriodChartDataRequest(userId, username); var apiResponse = await dataAccess.GetBillPeriodChartData(request); if (!apiResponse.Success) { response.AddErrors(apiResponse.Errors); return(response); } response.Model = assembler.AssembleTimePeriodList(apiResponse.Data); } catch (Exception ex) { var err = errorHelper.Create(ex, username, GetType(), "GetBillPeriodChartData"); response.AddError(err); } return(response); }
public void AssembleTimePeriodList_NullParams_ThrowsArgumentNullException() { Assert.Throws <ArgumentNullException>(delegate { assembler.AssembleTimePeriodList(null); }); }