public ActionResult Distribution([FromServices] InMemoryDataContext context, [FromBody] DistributionRequest request) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { var useCase = new UseCase( _logger, new EmployeeAdapter(context), new CalculationInfluenceAdapter( new AreaCalculator(), new SalaryCalculator(), new AdmissionAtCalculator() ) ); var response = useCase.Execute(new Request( request.AvailableValue )); return(JsonResponse.Success((new DistributionPresenter(response)).Present())); } catch (InsufficientAvailableValueException exception) { return(JsonResponse.Error(exception.Message, 400)); } catch (System.Exception exception) { return(JsonResponse.Error(exception.Message)); } }
public ResultJson GetDistribution(DistributionRequest request) { if (DistributionFunc.Instance.AddDistribution(request.ProductionId, request.ProductionPerson, request.ProInfo)) { return(new ResultJson { HttpCode = 200, Message = "成功" }); } else { return(new ResultJson { HttpCode = 300, Message = "失败,请重试!" }); } }
/// <summary> /// Distribute a build /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='buildId'> /// The build ID /// </param> /// <param name='distributeInfo'> /// The distribution details /// </param> /// <param name='ownerName'> /// The name of the owner /// </param> /// <param name='appName'> /// The name of the application /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <DistributionResponse> DistributeAsync(this IBuilds operations, int buildId, DistributionRequest distributeInfo, string ownerName, string appName, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.DistributeWithHttpMessagesAsync(buildId, distributeInfo, ownerName, appName, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }
/// <summary> /// Distribute a build /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='buildId'> /// The build ID /// </param> /// <param name='distributeInfo'> /// The distribution details /// </param> /// <param name='ownerName'> /// The name of the owner /// </param> /// <param name='appName'> /// The name of the application /// </param> public static DistributionResponse Distribute(this IBuilds operations, int buildId, DistributionRequest distributeInfo, string ownerName, string appName) { return(operations.DistributeAsync(buildId, distributeInfo, ownerName, appName).GetAwaiter().GetResult()); }