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));
            }
        }
Пример #2
0
 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 = "失败,请重试!"
         });
     }
 }
Пример #3
0
 /// <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);
     }
 }
Пример #4
0
 /// <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());
 }