Template
56 lines
2.1 KiB
C#
56 lines
2.1 KiB
C#
using Microsoft.AspNetCore.Http;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Strata.DecisionSupport.Biz.Parameters;
|
|
using Strata.DecisionSupport.Biz.Services;
|
|
using Strata.DecisionSupport.Biz.Utilities;
|
|
using Strata.DecisionSupport.Models.Jazz;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Strata.ContinuousImprovement.Api.SnowflakeControllers
|
|
{
|
|
[ApiController]
|
|
[ApiVersion("1.0")]
|
|
[Route("api/v{api-version:apiVersion}/[controller]")]
|
|
public class UtilizationVariationController : Controller
|
|
{
|
|
private readonly IUtilizationVariationService _utilizationVariationService;
|
|
|
|
public UtilizationVariationController(IUtilizationVariationService utilizationVariationService)
|
|
{
|
|
_utilizationVariationService = utilizationVariationService;
|
|
}
|
|
|
|
[HttpPost("[action]")]
|
|
[ProducesResponseType(StatusCodes.Status200OK)]
|
|
[ProducesResponseType(StatusCodes.Status400BadRequest)]
|
|
public async Task<ActionResult<IEnumerable<AllChargeInfo>>> GetAllChargeInfoAsync(
|
|
[FromBody] AllChargeQueryInfo queryInfo, CancellationToken cancellationToken)
|
|
{
|
|
if (queryInfo.OpportunityGuid.Equals(Guid.Empty))
|
|
return BadRequest(queryInfo);
|
|
if (queryInfo.ChargeCodeIds.IsEmpty())
|
|
return BadRequest(queryInfo);
|
|
|
|
return Ok(await _utilizationVariationService.RunAllChargeInfoQuery(queryInfo, cancellationToken));
|
|
}
|
|
|
|
[HttpPost("[action]")]
|
|
[ProducesResponseType(StatusCodes.Status200OK)]
|
|
[ProducesResponseType(StatusCodes.Status400BadRequest)]
|
|
public async Task<ActionResult<IEnumerable<ChargeInfo>>> GetChargeInfoAsync(
|
|
[FromBody] ChargeQueryInfo queryInfo, CancellationToken cancellationToken)
|
|
{
|
|
if (queryInfo.ConfigurationGuid.Equals(Guid.Empty))
|
|
return BadRequest(queryInfo);
|
|
if (queryInfo.ChargeCodeIds.IsEmpty())
|
|
return BadRequest(queryInfo);
|
|
|
|
return Ok(await _utilizationVariationService.RunChargeInfoQuery(queryInfo, cancellationToken));
|
|
}
|
|
|
|
}
|
|
}
|