コード例 #1
0
        /// <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);
        }
コード例 #2
0
 public void AssembleTimePeriodList_NullParams_ThrowsArgumentNullException()
 {
     Assert.Throws <ArgumentNullException>(delegate { assembler.AssembleTimePeriodList(null); });
 }