Ejemplo n.º 1
0
        public async Task <IActionResult> RegisterAirBagEx()
        {
            //Excel習得
            //var dataReader = new AirBagDetailDataReader(Request.Form.Files[0]);
            //try
            //{
            //    dataReader.LoadFile();
            //    //var validateResult = dataReader.ValidateFormat();

            //    //if (validateResult.ResultType != ResultType.Success)
            //    //{
            //    //    return Json(validateResult);
            //    //}
            //}
            //catch
            //{
            //    var errorResult = new CommonResult<FileResultBase>
            //    {
            //        ResultType = ResultType.Error,
            //        ErrorMessages = new List<string> { Resources.E_FailedLoadingFile }
            //    };
            //    return Json(errorResult);
            //}

            var condition = new AirBagFilePutCondition();

            SetPutConditionBase(condition);

            //condition.AirBagDetails = dataReader.GetContent();



            //Excel Upload blob
            if (string.IsNullOrEmpty(Request.ContentType) || Request.ContentType.IndexOf("multipart/", StringComparison.OrdinalIgnoreCase) < 0)
            {
                return(BadRequest($"Expected a multipart request, but got {Request.ContentType}"));
            }

            var resultList = new List <BlobUploadResult>();
            var files      = Request.Form.Files;

            if (files != null && files.Count != 0)
            {
                var user       = "******" ?? IDENTITY_DEFAULT_NAME;
                var blobResult = _fileService.UploadExcelFilesWithBlobFileProperties(files, "airbag", user, UserNow);
                blobResult.Wait();
                //result.Result[0].FileName;
                resultList = blobResult.Result;
            }
            DateTime now = condition.UserNow;

            var result = new CommonResult <FileResultBase>();

            //register  Excel File in DB
            if (resultList.Count > 0)
            {
                foreach (var uploadResult in resultList)
                {
                    var Registeredresult = _service.RegisterFilesWithBlobFileProperties(uploadResult.BlobName, uploadResult.FileName, "airbag", now, "system");
                    uploadResult.BlobId = Registeredresult.BlobId;
                }
                var saveExcelInfo = _service.RegisterFileInfo(resultList, now, condition.UpdatedBy);
                result.ResultType     = ResultType.Success;
                result.SuccessMessage = saveExcelInfo.SuccessMessage;
            }



            //var registerResult1 = _service.RegisterAirBag();
            else
            {
                result.ResultType = ResultType.Error;
                result.ErrorMessages.Add(Resources.E_FailSaveAirBagFileInStorage);
            }


            //Excelポマトチャック
            //var checkResult = dataReader.FormatCheck();
            //if (checkResult.ResultType == ResultType.Error)
            //{
            //    var errorResult = new CommonResult<FileResultBase>
            //    {
            //        ResultType = ResultType.Error,
            //        ErrorMessages = new List<string> { Resources.E_ExcelFormatError }
            //    };
            //    return Json(errorResult);
            //}

            //var validationResult = _service.ValidateCondition(condition);

            //if (!validationResult.Succeeded && validationResult.Result != null)
            //{
            //    validationResult.Result.FileName = dataReader.GetFileName();

            //    TempData.Put(TEMP_ERROR_EXCEL_KEY, validationResult.Result);
            //}

            //var registerResult = await _service.RegisterAirBag(condition);

            ////処理結果生成

            //result.ErrorMessages = new List<string>();

            //if (validationResult.ResultType != ResultType.Success)
            //{
            //    result.Result = validationResult.Result;
            //    result.ErrorMessages.AddRange(validationResult.ErrorMessages);
            //}

            //if (registerResult.ResultType == ResultType.Success)
            //{
            //    result.SuccessMessage = registerResult.SuccessMessage;
            //}
            //else
            //{
            //    result.ErrorMessages.AddRange(registerResult.ErrorMessages);
            //}
            return(Json(result));
        }