コード例 #1
0
        public IActionResult DeleteDeliveryFile(
            [HttpTrigger(AuthorizationLevel.Function, "delete", Route = "deliveryfiles/{deliveryFileId}/{rowVersion}")]
            HttpRequest request,
            long deliveryFileId,
            long rowVersion,
            ILogger log)
        {
            log.Enter($"{nameof(deliveryFileId)}: {deliveryFileId}, {nameof(rowVersion)}: {rowVersion}");
            ActionResult response = null;

            try
            {
                // サービス以下の機能を利用してDBにリクエストデータを追加する
                var resultParam = _service.Delete(deliveryFileId, WebApiHelper.ConvertLongToByteArray(rowVersion));

                // Resultから返却ステータスを作成(レスポンスボディは空)
                response = SqlResultConverter.ConvertToActionResult(resultParam.ResultCode, resultParam.Message);
            }
            catch (Exception e)
            {
                log.Error(e, nameof(Resources.CO_API_DFD_001));
                response = new StatusCodeResult(StatusCodes.Status500InternalServerError);
            }
            finally
            {
                log.LeaveJson("Response: {0}", response);
            }

            return(response);
        }
コード例 #2
0
ファイル: DevicesController.cs プロジェクト: abacb/server
        public IActionResult PutDevice(
            [RequestBodyType(typeof(DeviceUpdateRequestDto), "デバイス更新リクエスト")]
            [HttpTrigger(AuthorizationLevel.Function, "put", Route = "devices/{deviceId}")]
            DeviceUpdateRequestDto request,
            long deviceId,
            ILogger log)
        {
            log.EnterJson("DeviceUpdateRequestDto: {0}", request);
            ActionResult response = null;

            try
            {
                // リクエストパラメータチェック
                string message = string.Empty;
                if (RequestValidator.IsBadRequestParameter(request, out message))
                {
                    log.Error(nameof(Resources.CO_API_DVU_002), new object[] { message });
                    return(new BadRequestObjectResult(string.Empty));
                }

                // DTOを設置設定インスタンスに変換する
                var baseConfig = request.ConvertDtoToInstallBaseConfig();

                // DTOをUtility型に変換する(SIDも含める)
                var utilParam = request.ConvertDtoToUtility();
                utilParam.Sid = deviceId;

                // 更新実行
                var resultParam = _deviceService.Update(utilParam, baseConfig);

                // Resultから返却ステータスを作成
                return(SqlResultConverter.ConvertToActionResult(
                           resultParam.ResultCode,
                           resultParam.Message,
                           resultParam.Entity.ConvertUtilityToResponseDto()));
            }
            catch (Exception e)
            {
                log.Error(e, nameof(Resources.CO_API_DVU_001));
                response = new StatusCodeResult(StatusCodes.Status500InternalServerError);
            }
            finally
            {
                log.Leave($"Response Status: {response}");
            }

            return(response);
        }
コード例 #3
0
        public IActionResult PutDeliveryFile(
            [RequestBodyType(typeof(DeliveryFileUpdateRequestDto), "配信ファイル更新リクエスト")]
            [HttpTrigger(AuthorizationLevel.Function, "put", Route = "deliveryfiles/{deliveryFileId}")]
            DeliveryFileUpdateRequestDto request,
            long deliveryFileId,
            ILogger log)
        {
            log.EnterJson($"{nameof(deliveryFileId)}: {deliveryFileId}, {typeof(DeliveryFileUpdateRequestDto)}: {{0}}", request);
            ActionResult response = null;

            try
            {
                DeliveryFileUpdateRequestDto requestByType = RequestConverter.Convert(request);    // リクエストオブジェクトがnullの場合にはnullが返る
                // リクエストパラメータチェック
                if (RequestValidator.IsBadRequestParameter(request, out string message))
                {
                    log.Error(nameof(Resources.CO_API_DFU_002), new object[] { message });
                    return(new BadRequestObjectResult(string.Empty));
                }

                var utilParam   = requestByType.ConvertDtoToUtility(deliveryFileId);
                var resultParam = _service.Update(utilParam);

                // Resultから返却ステータスを作成
                response = SqlResultConverter.ConvertToActionResult(
                    resultParam.ResultCode,
                    resultParam.Message,
                    resultParam.Entity.ConvertUtilityToResponseDto());
            }
            catch (Exception e)
            {
                log.Error(e, nameof(Resources.CO_API_DFU_001));
                response = new StatusCodeResult(StatusCodes.Status500InternalServerError);
            }
            finally
            {
                log.LeaveJson("Response: {0}", response);
            }

            return(response);
        }
コード例 #4
0
        public IActionResult PostDeliveryGroup(
            [RequestBodyType(typeof(DeliveryGroupAddRequestDto), "配信グループ作成リクエスト")]
            [HttpTrigger(AuthorizationLevel.Function, "post", Route = "deliverygroups")]
            DeliveryGroupAddRequestDto request,
            ILogger log)
        {
            log.EnterJson("DeliveryGroupAddRequestDto: {0}", request);
            ActionResult response = null;

            try
            {
                // リクエストパラメータチェック
                if (RequestValidator.IsBadRequestParameter(request, out string message))
                {
                    log.Error(nameof(Resources.CO_API_DGC_002), new object[] { message });
                    return(new BadRequestObjectResult(string.Empty));
                }

                var utilParam   = request.ConvertDtoToUtility();
                var resultParam = _service.Create(utilParam);

                // Resultから返却ステータスを作成
                response = SqlResultConverter.ConvertToActionResult(
                    resultParam.ResultCode,
                    resultParam.Message,
                    resultParam.Entity.ConvertUtilityToResponseDto());
            }
            catch (Exception e)
            {
                log.Error(e, nameof(Resources.CO_API_DGC_001));
                response = new StatusCodeResult(StatusCodes.Status500InternalServerError);
            }
            finally
            {
                log.LeaveJson("Response: {0}", response);
            }

            return(response);
        }
コード例 #5
0
        public IActionResult PutDeliveryFileStatus(
            [RequestBodyType(typeof(DeliveryFileStatusUpdateRequestDto), "配信ファイル更新リクエスト")]
            [HttpTrigger(AuthorizationLevel.Function, "put", Route = "deliveryfiles/{deliveryFileId}/status")]
            DeliveryFileStatusUpdateRequestDto request,
            long deliveryFileId,
            ILogger log)
        {
            log.EnterJson("Request: {0}", request.ToStringProperties());
            ActionResult response = null;

            try
            {
                // リクエストパラメータチェック
                string message = string.Empty;
                if (RequestValidator.IsBadRequestParameter(request, out message))
                {
                    log.Error(nameof(Resources.CO_API_DSU_002), new object[] { message });
                    return(new BadRequestObjectResult(string.Empty));
                }

                var utilParam   = request.ConvertDtoToUtility(deliveryFileId);
                var resultParam = _service.PutCancelFlag(utilParam);

                // Resultから返却ステータスを作成(レスポンスボディは空)
                response = SqlResultConverter.ConvertToActionResult(resultParam.ResultCode, resultParam.Message);
            }
            catch (Exception e)
            {
                log.Error(e, nameof(Resources.CO_API_DSU_001));
                response = new StatusCodeResult(StatusCodes.Status500InternalServerError);
            }
            finally
            {
                log.LeaveJson("Response: {0}", response);
            }

            return(response);
        }
コード例 #6
0
ファイル: DevicesController.cs プロジェクト: abacb/server
        public async Task <IActionResult> PostDeviceRemoteAsync(
            [RequestBodyType(typeof(DeviceRemoteRequestDto), "リモート接続開始リクエスト")]
            [HttpTrigger(AuthorizationLevel.Function, "post", Route = "devices/{deviceId}/remote")]
            DeviceRemoteRequestDto request,
            long deviceId,
            ILogger log)
        {
            log.Enter($"{nameof(request)}: {{0}}, {nameof(deviceId)}: {{1}}", new object[] { request, deviceId });
            ActionResult response = null;

            try
            {
                // リクエストパラメータチェック
                if (RequestValidator.IsBadRequestParameter(request, out var message))
                {
                    log.Error(nameof(Resources.CO_API_DRC_002), new object[] { message });
                    return(new BadRequestObjectResult(string.Empty));
                }

                var requestRemote = request.ConvertDtoToUtility(deviceId);
                var resultParam   = await _deviceService.RequestRemoteAsync(requestRemote);

                // Resultから返却ステータスを作成(レスポンスボディは空)
                response = SqlResultConverter.ConvertToActionResult(resultParam.ResultCode, resultParam.Message);
            }
            catch (Exception e)
            {
                log.Error(e, nameof(Resources.CO_API_DRC_001));
                response = new StatusCodeResult(StatusCodes.Status500InternalServerError);
            }
            finally
            {
                log.Leave($"Response Status: {response}");
            }

            return(response);
        }