public bool InsertCallResource(callResource data) { using (IDbConnection conn = WebConnection) { try { conn.Open(); var tran = conn.BeginTransaction(IsolationLevel.ReadUncommitted); var result = conn.Insert(data, tran); tran.Commit(); return(true); } catch (Exception ex) { throw new Exception("MasterRepository.updateMUnit_Sync() :: Error ", ex); } } }
public async Task <IActionResult> UploadSingleFiles([FromForm] ParamUploadImagess data) { int a = 0; //List<TResource> TresourceData = JsonConvert.DeserializeObject<List<TResource>>(data.Resource); //string StroageID = base._appSetting.StorageServerId.ToString(); //com.apthai.QISAPINETCore.Model.QIS.MStorageServer StorageData = _ResourceRepo.GetStorageServerDetail(StroageID); //var UploadLoctaion = StorageData.StoragePhysicalPath; int SuccessUploadCount = 0; int count = 0; callResource callResourceDate = new callResource(); if (data.Files != null) { // -- New ---- for Docker var yearPath = DateTime.Now.Year; var MonthPath = DateTime.Now.Month; var dirPath1 = $"{yearPath}/{MonthPath}"; int dataPath = 0; var uploads = Path.Combine(_hostingEnvironment.WebRootPath, "data", "uploads", dirPath1); string FileBinary; long size = data.Files.Length; string FileExtension = Path.GetExtension(data.Files.FileName); // -------------- > Get File Extention var fileName = data.Files.FileName; // string.Format("{0}{1}" , DateTime.Now.ToString("DDMMyy") , Path.GetExtension(formFile.FileName)); //Path.GetFileName(Path.GetTempFileName()); var dirPath = $"{yearPath}\\M{dataPath}"; // --- New Docker ---- if (!Directory.Exists(uploads)) { Directory.CreateDirectory(uploads); } if (data.Files.Length > 0) { var filePath = Path.Combine(uploads, data.Files.FileName); var message = ""; if (System.IO.File.Exists(filePath)) { string fileNameOnly = Path.GetFileNameWithoutExtension(filePath); string extension = Path.GetExtension(filePath); string path = Path.GetDirectoryName(filePath); string newFullPath = filePath; string tempFileName = string.Format("{0}({1})", fileNameOnly, Guid.NewGuid().ToString()); newFullPath = Path.Combine(path, tempFileName + extension); using (var fileStream = new FileStream(newFullPath, FileMode.Create)) { message = data.Files.Length.ToString(); await data.Files.CopyToAsync(fileStream); fileName = tempFileName + extension; } } else { using (var fileStream = new FileStream(filePath, FileMode.Create)) { message = data.Files.Length.ToString(); await data.Files.CopyToAsync(fileStream); } } // -- -End New ----- //if (System.IO.File.Exists(savePath.FullName)) if (System.IO.File.Exists(filePath)) { string FileExtention = Path.GetExtension(filePath); // ----- Old ----- //TresourceData[i].FilePath = "data\\uploads\\" + dirPath + "\\" + fileName; // ----- New Docker ----- callResourceDate.FilePath = "data/uploads/" + yearPath + "/" + MonthPath + "/" + fileName; callResourceDate.FileLength = size; callResourceDate.CreateDate = DateTime.Now; callResourceDate.RowState = "Original"; callResourceDate.ResourceType = data.ResourceType; callResourceDate.ResourceTagCode = data.ResourceTagCode; callResourceDate.ResourceGroupSet = null; callResourceDate.ResourceGroupOrder = 0; callResourceDate.TDefectDetailId = data.TDefectDetailId == "" ? 0 : Convert.ToInt32(data.TDefectDetailId); callResourceDate.ProjectNo = data.ProjectCode; callResourceDate.SerialNo = data.UnitNo; //TresourceData[i].FilePath = "data/uploads/" + yearPath + "/" + MonthPath + "/" + fileName; //TresourceData[i].FileLength = size; //TresourceData[i].CreatedDate = DateTime.Now; //TresourceData[i].CreateUserId = Convert.ToInt32(data.UserID); //TresourceData[i].RowSyncDate = DateTime.Now; //TresourceData[i].StorageServerId = StorageData.StorageServerId; bool InsertResult = _syncRepository.InsertCallResource(callResourceDate); //if (InsertResult == true) //{ //SuccessUploadCount++; //Model.QIS.TResource TresourceTransfer = new Model.QIS.TResource(); //TresourceTransfer.ResourceType = TresourceData[i].ResourceType; //TresourceTransfer.ResourceTagCode = TresourceData[i].ResourceTagCode; //TresourceTransfer.ResourceTagSubCode = TresourceData[i].ResourceTagSubCode; //TresourceTransfer.ResourceGroupSet = TresourceData[i].ResourceGroupSet; //TresourceTransfer.ResourceGroupOrder = TresourceData[i].ResourceGroupOrder; //TresourceTransfer.ResourceMineType = TresourceData[i].ResourceMineType; //TresourceTransfer.ProjectId = TresourceData[i].ProjectId; //TresourceTransfer.UnitId = TresourceData[i].UnitId; ////TresourceTransfer.FilePath = _appSetting.PictureRootURL + TresourceData[i].FilePath; //TresourceTransfer.FilePath = Environment.GetEnvironmentVariable("PictureRootURL") + TresourceData[i].FilePath; //TresourceTransfer.Description = TresourceData[i].Description; //TresourceTransfer.IsActive = TresourceData[i].IsActive; //TresourceTransfer.StorageServerId = TresourceData[i].StorageServerId; //TresourceTransfer.PhaseId = TresourceData[i].PhaseId; //TresourceTransfer.HeaderId = TresourceData[i].HeaderId; //TresourceTransfer.DetailId = TresourceData[i].DetailId; //TresourceTransfer.UDetailId = TresourceData[i].UDetailId; //TresourceTransfer.UDetail_RowClientId = TresourceData[i].UDetail_RowClientId; //TresourceTransfer.Tag = TresourceData[i].Tag; //TresourceTransfer.RowClientId = TresourceData[i].RowClientId; //TresourceTransfer.RowState = TresourceData[i].RowState; //TresourceTransfer.RowVersion = TresourceData[i].RowVersion; //TresourceTransfer.RowSyncDate = TresourceData[i].RowSyncDate; //TresourceTransfer.CreateDeviceId = TresourceData[i].CreateDeviceId; //TresourceTransfer.CreateUserId = TresourceData[i].CreateUserId; //TresourceTransfer.ModifiedDeviceId = TresourceData[i].ModifiedDeviceId; //TresourceTransfer.ModifiedUserId = TresourceData[i].ModifiedUserId; //TresourceTransfer.CreatedDate = TresourceData[i].CreatedDate; //TresourceTransfer.ModifiedUserId = TresourceData[i].ModifiedUserId; //TresourceTransfer.UFHeaderId = TresourceData[i].UFHeaderId; //TresourceTransfer.UHeaderId = TresourceData[i].UHeaderId; //TresourceTransfer.UFDetailId = TresourceData[i].UFDetailID; //TresourceTransfer.FileLength = TresourceData[i].FileLength; //TresourceTransfer.UPhaseId = TresourceData[i].UPhaseId; //TresourceTransfer.UPhase_RowClientId = TresourceData[i].UPhase_RowClientId; //TresourceTransfer.UHeader_RowClientId = TresourceData[i].UHeader_RowClientId; //TresourceTransfer.UFPhase_RowClientId = TresourceData[i].UFPhase_RowClientId; //TresourceTransfer.UFHeader_RowClientId = TresourceData[i].UFHeader_RowClientId; //TresourceTransfer.UFDetail_RowClientId = TresourceData[i].UFDetail_RowClientId; //TresourceTransfer.TagState = TresourceData[i].TagState; //TresourceTransfer.ClientDataType = TresourceData[i].ClientDataType; //bool InsertResultWeb = _ResourceRepo.InsertTResourceWeb(TresourceTransfer); //} } } } else { return(Ok(new { count = 1 })); } return(Ok(new { count = 1, })); }
public async Task GenerateReport(ParamReportModel model) { try { var reportName = ""; // V แนวสูง // H แนวราบ await UpdatePathUrlFile(model.TDefectId); string bucketName = Environment.GetEnvironmentVariable("Minio_DefaultBucket") ?? UtilsProvider.AppSetting.MinioDefaultBucket; minio = new MinioServices(); bool insertPDF = false; List <callResource> Signature = _masterRepository.GetSignatureByTdefectID(model.TDefectId); string lcSigAf = Signature.Where(w => w.ResourceTagCode == "SAL-LC-AF").Any() ? Signature.Where(w => w.ResourceTagCode == "SAL-LC-AF").FirstOrDefault().FilePath : null; string cusSigBf = Signature.Where(w => w.ResourceTagCode == "CUST-BF").Any() ? Signature.Where(w => w.ResourceTagCode == "CUST-BF").FirstOrDefault().FilePath : null; string cusSigAf = Signature.Where(w => w.ResourceTagCode == "CUST-AF").Any() ? Signature.Where(w => w.ResourceTagCode == "CUST-AF").FirstOrDefault().FilePath : null; string conSigBf = Signature.Where(w => w.ResourceTagCode == "CON-MGR-BF").Any() ? Signature.Where(w => w.ResourceTagCode == "CON-MGR-BF").FirstOrDefault().FilePath : null; string conSigAf = Signature.Where(w => w.ResourceTagCode == "CON-MGR-AF").Any() ? Signature.Where(w => w.ResourceTagCode == "CON-MGR-AF").FirstOrDefault().FilePath : null; string cusSigRe = Signature.Where(w => w.ResourceTagCode == "CUST-RECE").Any() ? Signature.Where(w => w.ResourceTagCode == "CUST-RECE").FirstOrDefault().FilePath : null; var listCus = new List <string>() { "CUST-BF", "CUST-AF", "CUST-RECE" }; var orderCusSignature = Signature.Where(w => listCus.Contains(w.ResourceTagCode)).OrderBy(o => o.CreateDate).ToList(); var dateCusSigBf = Signature.Where(w => w.ResourceTagCode == "CUST-BF").Any() ? Signature.Where(w => w.ResourceTagCode == "CUST-BF").FirstOrDefault().CreateDate : null; var dateCusSigAf = Signature.Where(w => w.ResourceTagCode == "CUST-AF").Any() ? Signature.Where(w => w.ResourceTagCode == "CUST-AF").FirstOrDefault().CreateDate : null; var dateCusSigRe = Signature.Where(w => w.ResourceTagCode == "CUST-RECE").Any() ? Signature.Where(w => w.ResourceTagCode == "CUST-RECE").FirstOrDefault().CreateDate : null; string cusBfDatetime = ""; string cusAfDatetime = ""; string cusReDatetime = ""; if (dateCusSigBf != null) { cusBfDatetime = dateCusSigBf.Value.ToString("dd/MM/yyyy"); } if (dateCusSigAf != null) { cusAfDatetime = dateCusSigAf.Value.ToString("dd/MM/yyyy"); } if (dateCusSigRe != null) { cusReDatetime = string.Format("ลูกค้าเช็นต์รับบ้านแล้ว {0}", dateCusSigRe.Value.ToString("dd/MM/yyyy")); } string alternativeDate = ""; var indexCusRe = orderCusSignature.FindIndex(w => w.ResourceTagCode == "CUST-RECE"); if (indexCusRe != 0 && indexCusRe != -1) { if (orderCusSignature[indexCusRe - 1].ResourceTagCode == "CUST-BF") { alternativeDate = string.Format("ลูกค้าเช็นต์ก่อนซ่อมแล้ว {0}", cusBfDatetime); } if (orderCusSignature[indexCusRe - 1].ResourceTagCode == "CUST-AF") { alternativeDate = string.Format("ลูกค้าเช็นต์หลังซ่อมแล้ว {0}", cusAfDatetime); } } if (model.ProjectType.Equals("V")) { if (model.SignatureType == "CUST-BF") { reportName = "RPT_ReceiveUnit_Vertical_CUST_BF"; } else if (model.SignatureType == "CUST-AF") { reportName = "RPT_ReceiveUnit_Vertical_CUST_AF"; } else { reportName = "RPT_ReceiveUnit_Vertical_CUST_RECE"; } } else { if (model.SignatureType == "CUST-BF") { reportName = "RPT_ReceiveUnit_Horizontal_CUST_BF"; } else if (model.SignatureType == "CUST-AF") { reportName = "RPT_ReceiveUnit_Horizontal_CUST_AF"; } else { reportName = "RPT_ReceiveUnit_Horizontal_CUST_RECE"; } } string lcSigAffilePath = String.IsNullOrEmpty(lcSigAf) ? null : await minio.GetFileUrlAsync(bucketName, lcSigAf); string cusSigBfFilePath = String.IsNullOrEmpty(cusSigBf) ? null : await minio.GetFileUrlAsync(bucketName, cusSigBf); string cusSigAfFilePath = String.IsNullOrEmpty(cusSigAf) ? null : await minio.GetFileUrlAsync(bucketName, cusSigAf); string conSigBfFilePath = String.IsNullOrEmpty(conSigBf) ? null : await minio.GetFileUrlAsync(bucketName, conSigBf); string conSigAfFilePath = String.IsNullOrEmpty(conSigAf) ? null : await minio.GetFileUrlAsync(bucketName, conSigAf); string cusSigReFilePath = String.IsNullOrEmpty(cusSigRe) ? null : await minio.GetFileUrlAsync(bucketName, cusSigRe); var requestMode = new RequestReportModel() { Folder = "defect", FileName = reportName, Server = Environment.GetEnvironmentVariable("ReportServer") ?? UtilsProvider.AppSetting.ReportServer, DatabaseName = Environment.GetEnvironmentVariable("ReportDataBase") ?? UtilsProvider.AppSetting.ReportDataBase, UserName = Environment.GetEnvironmentVariable("ReportUserName") ?? UtilsProvider.AppSetting.ReportUserName, Password = Environment.GetEnvironmentVariable("ReportPassword") ?? UtilsProvider.AppSetting.ReportPassword, Parameters = new List <ParameterReport>() { new ParameterReport() { Name = "@TDefectId", Value = model.TDefectId.ToString() }, new ParameterReport() { Name = "@CustRoundAuditNo", Value = "1" }, new ParameterReport() { Name = "@CON_MGR_AF_URL", Value = conSigAfFilePath }, new ParameterReport() { Name = "@CON_MGR_BF_URL", Value = conSigBfFilePath }, new ParameterReport() { Name = "@CUST_AF_URL", Value = cusSigAfFilePath }, new ParameterReport() { Name = "@CUST_BF_URL", Value = cusSigBfFilePath }, new ParameterReport() { Name = "@CUST_RECE", Value = cusSigReFilePath }, new ParameterReport() { Name = "@SAL_LC_AF", Value = lcSigAffilePath }, new ParameterReport() { Name = "@ALTERNATIVE_DATE", Value = alternativeDate }, new ParameterReport() { Name = "@CUS_RECE_SIGN_DATE", Value = cusReDatetime } } }; ResponsetReportModel resultObject = new ResponsetReportModel(); using (HttpClient client = new HttpClient()) { client.Timeout = new TimeSpan(0, 0, 1000); var urlReport = Environment.GetEnvironmentVariable("ReportURL") ?? UtilsProvider.AppSetting.ReportURL; var reportKey = Environment.GetEnvironmentVariable("ReportKey") ?? UtilsProvider.AppSetting.ReportKey; var Content = new StringContent(JsonConvert.SerializeObject(requestMode)); Content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); Content.Headers.Add("api_accesskey", reportKey); var response = await client.PostAsync(urlReport, Content); if (response.IsSuccessStatusCode) { response.EnsureSuccessStatusCode(); var result = await response.Content.ReadAsStringAsync(); resultObject = JsonConvert.DeserializeObject <ResponsetReportModel>(result); } client.Dispose(); } await Task.Delay(3000); long sizeFile = 0; var fullUrl = ""; var path = $"{model.ProjectCode}/{model.UnitNo}/DefectDocument"; if (resultObject.Success) { using (HttpClient client = new HttpClient()) { HttpResponseMessage resDownload = await client.GetAsync(resultObject.URL.ToString()).ConfigureAwait(false); HttpContent content = resDownload.Content; // ... Read the string. var result = await content.ReadAsByteArrayAsync().ConfigureAwait(false); Stream stream = new MemoryStream(result); var file = new FormFile(stream, 0, stream.Length, null, resultObject.FileName) { Headers = new HeaderDictionary(), ContentType = "application/pdf" }; sizeFile = file.Length; var resultMinio = await minio.UploadFile(file, path, resultObject.FileName); fullUrl = resultMinio.Url; client.Dispose(); } callResource callResourcePDF = new callResource(); callResourcePDF.FilePath = $"{path}/{resultObject.FileName}"; callResourcePDF.FileLength = sizeFile; callResourcePDF.CreateDate = DateTime.Now; callResourcePDF.RowState = "Original"; callResourcePDF.ResourceType = 8; callResourcePDF.ResourceTagCode = "1"; callResourcePDF.ResourceTagSubCode = "1"; callResourcePDF.ResourceGroupSet = null; callResourcePDF.StorageServerId = 1400; callResourcePDF.ResourceGroupOrder = 0; callResourcePDF.TDefectDetailId = 0; callResourcePDF.TDefectId = (int)model.TDefectId; callResourcePDF.ProjectNo = model.ProjectCode; callResourcePDF.SerialNo = model.UnitNo; callResourcePDF.Active = true; callResourcePDF.FullFilePath = fullUrl; callResourcePDF.UserId = model.EmpCode; callResourcePDF.ExpirePathDate = DateTime.Now.AddDays(6);; insertPDF = InsertCallResource(callResourcePDF); } } catch (Exception ex) { throw ex; } }