From 4d3cafae5d11b8d57202a6504c6b712d853fd980 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=ED=8C=90=EB=8F=8C?= Date: Mon, 20 Nov 2023 21:57:33 +0900 Subject: [PATCH] =?UTF-8?q?json=EB=8D=B0=EC=9D=B4=ED=84=B0=20=EB=8B=A4?= =?UTF-8?q?=EC=8B=9C=20git=EC=97=90=20=EC=BB=A4=EB=B0=8B=EA=B9=8C=EC=A7=80?= =?UTF-8?q?=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Server/Git/AbstractGit.cs | 66 ++++++++++++++++++++++ Server/Git/ExcelManager.cs | 7 ++- Server/Git/XlsxToJson.cs | 32 ++++++----- Server/obj/Debug/net6.0/Server.dll | Bin 19968 -> 20992 bytes Server/obj/Debug/net6.0/Server.pdb | Bin 26980 -> 27612 bytes Server/obj/Debug/net6.0/ref/Server.dll | Bin 9216 -> 9728 bytes Server/obj/Debug/net6.0/refint/Server.dll | Bin 9216 -> 9728 bytes 7 files changed, 90 insertions(+), 15 deletions(-) diff --git a/Server/Git/AbstractGit.cs b/Server/Git/AbstractGit.cs index ecfc9a6..d5b6783 100644 --- a/Server/Git/AbstractGit.cs +++ b/Server/Git/AbstractGit.cs @@ -1,4 +1,5 @@ using LibGit2Sharp; +using NLog; using Server.System; using System.Diagnostics; @@ -6,9 +7,12 @@ namespace Server.Git { public abstract class AbstractGit { + private static readonly NLog.ILogger logger = LogManager.GetCurrentClassLogger(); public bool isRestart; string _repositoryPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "excel"); + public string excel = ""; + public string repositoryPath { get { return _repositoryPath; } } /// @@ -78,7 +82,69 @@ namespace Server.Git private void Push() { + if(excel == "") + { + return; + } + //json 저장 + using (StreamWriter writer = new StreamWriter(repositoryPath + "\\excel.json")) + { + writer.Write(excel); + Console.WriteLine($"파일이 저장되었습니다 : {repositoryPath + "\\excel.json"}"); + } + + + // 스테이징 + RepositorySet("add .", repositoryPath); + + // 커밋 + RepositorySet($"commit -m \"update excel data\"", repositoryPath); + + // 푸시 + RepositorySet("push origin main", repositoryPath); + + } + + /// + /// 모든 파일리스트 반환 + /// + /// 검색할 폴더 경로 + /// 확장자 + /// + public List GetFiles(string directoryPath, string extension) + { + List xlsxFileList = new List(); + + try + { + string[] files = Directory.GetFiles(directoryPath); + + foreach (string file in files) + { + if (Path.GetExtension(file).Equals(".xlsx", StringComparison.OrdinalIgnoreCase)) + { + xlsxFileList.Add(file); + } + } + + string[] subdirectories = Directory.GetDirectories(directoryPath); + foreach (string subdirectory in subdirectories) + { + //git시스템 파일은 뛰어넘기 + if (subdirectory == directoryPath + "\\.git") + continue; + + //제귀 + xlsxFileList.AddRange(GetFiles(subdirectory, extension)); + } + } + catch (Exception ex) + { + logger.Error(ex); + } + + return xlsxFileList; } } } diff --git a/Server/Git/ExcelManager.cs b/Server/Git/ExcelManager.cs index 7d861df..363019d 100644 --- a/Server/Git/ExcelManager.cs +++ b/Server/Git/ExcelManager.cs @@ -31,9 +31,12 @@ namespace Server.Git public List sheets { get { return _sheets; } } string _pathFile; - public ExcelManager(string path, string file) + public ExcelManager(string path, string file = "") { - _pathFile = path + "\\" + file; + if (file == "") + _pathFile = path; + else + _pathFile = path + "\\" + file; } public bool Play() diff --git a/Server/Git/XlsxToJson.cs b/Server/Git/XlsxToJson.cs index a2efcac..c9f21d1 100644 --- a/Server/Git/XlsxToJson.cs +++ b/Server/Git/XlsxToJson.cs @@ -1,5 +1,6 @@ using Newtonsoft.Json; using System.Collections.Generic; +using System.IO; namespace Server.Git { @@ -9,27 +10,32 @@ namespace Server.Git { //저장경로 : repositoryPath //작업할것 - //다운로드된 데이터 json화 //데이터 db에 업로드 //json화된 데이터 push - ExcelManager em = new ExcelManager(repositoryPath, "TESTexl.xlsx"); - if (em.Play()) + List fileList = GetFiles(repositoryPath, ".xlsx"); + + Dictionary>> sheetList = new Dictionary>>(); + + for (int n = 0; n < fileList.Count; n++) { - List sheets = em.sheets; - Dictionary>> sheetList = new Dictionary>>(); - for (int n = 0; n < sheets.Count; n++) + ExcelManager em = new ExcelManager(fileList[n]); + if (em.Play()) { - sheetList.Add(sheets[n].name, sheets[n].dicViewer); + List sheets = em.sheets; + for (int m = 0; m < sheets.Count; m++) + { + sheetList.Add(sheets[m].name, sheets[m].dicViewer); + } + } + else + { + Console.WriteLine("-1 : NotUpdate"); + return; } - string test = JsonConvert.SerializeObject(sheetList); - Console.WriteLine(test); - } - else - { - Console.WriteLine("-1 : NotUpdate"); } + excel = JsonConvert.SerializeObject(sheetList); //db에 데이터를올리는것은 이곳에 작성할 예정 diff --git a/Server/obj/Debug/net6.0/Server.dll b/Server/obj/Debug/net6.0/Server.dll index 027c75c14c54ee311867f4d415efe1e931045a6a..b30a297e5b02b305abdbcfe2e5c3af44e17256c3 100644 GIT binary patch delta 7474 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 delta 6430 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 diff --git a/Server/obj/Debug/net6.0/Server.pdb b/Server/obj/Debug/net6.0/Server.pdb index d446981896f1050b1c4e9bd5b3f61f36606cfbef..9dd4b4883490d1a39c3676132df8f781f11e1c7c 100644 GIT binary patch delta 2330 zcmZ`*eN5D49REJg{qFAfyW`+^5d<+vC{sWXF%dBiL|#-F2Ey^C9dP6|1i3py^5u@R zrkl2Dzx*S$#?0A7r!D?yStDE1R=Txpt0<j z^L|{v%qG5N`wK!YJ5k0?qP!@g9tOQW==b$LA0V_N4k88LjCJ)i41HMWmFud@@pVO` zza6}+r>_INyZWl~>9ONwN0t|sEB`-kEUz#%PGH|(+Wrf#0z<`ee@qbVG12VNGT;z4(iQS6e4=lFqFb@ z1^Nzymx14aUTW|a;HQyn26#0Rl!J>VCa{Xk5BP@$uRwn?^n(Vk1fLCko58EVi&39e z8-{8aRzepAYbhE@rwXKj*G=PpgFlM_-0v4FR{scZc!aNegf|*o)Tbu}pzVb)+9`E$ zP8ro=1f2eWZlY|ULd$_>ItJ8eIeKkUw@W=r>ex=$8J(9=g+RjKg+=7#h!ELa@KI>D zsQ>?oK9*sZWmq=?Otc-kLU({xd2dy$glG?YEz)PoqDb93%`%l?s+TAt_FsHN6PJ$B zxI|qTNR#vU02-$epjjR$jc^sQ>tgmILP!9}X(5P7UVnweyv_2qSm-C{RuUIcB`;8; zdGNH+ZNe$E%h5R`PCX(q)DNe4qd+2D8KnWa^fA$9^qT1!&_ezCSK0=9bIVLHaoFng zWwy^kJKd933yrx+wa{I6IyudmeS=3de-;?LE73A*jfRz zB%)t0jw*?p7B@)!Tm1e(eOJ_Ydf%Qu&wJL696Gw>x8@($Zku0He(T^ni|c02zH@U< zQsKn7zTJ`RzIXELFCWW}fB*Q7L&<+BCoa6a{cb|*`ZL^dY~K%^7hk&IaHC{H->N`g z?}E;N+Qt+$c4qk1^rouG+x_DshcBJHQ)3Ait@`(si7)oe*?99UQ}G+=S2tfD{nc@$ zkva8CU0JL{pKPs7Vdtpn44^I*P;*Mqk5)UekBNG#w}H*q-}NqKMfxpoQD`;ZGuD8U z7Q@w8aeNrZc3Zh>rb^Y42pV9Nz*PrTa6HhA51Pc$fzMo(VyVmm$QQtrK{I!<@PY7Y zytyohl(`%`%)zdswS%7S4RMj7~eAA zN@dO_BoIT3CYMDdh^Klhd=Q_bOvP(l<+Ri?=zJL3U!)R?D=}dP2$2P1#a!ex5)?8& zBh*Ybn{8)9lh*KAEqs=R&+;K=jbv$&EEdV)krB4*a3T}WY-5y`LdgmSMYPtYITQ4y z-MuSY*2txPf)nM>(ZrxIOe`nfMH8W%RSY*x5kJJd-w7|4g~dtbYK$m8Bp!5@J37(r zVxjQ9L=YRgi=xyx3coIDX^IU&V)z4$@;L0#95?y?ie+daH`5bE%sDuVgJR9}0*yC`>NNOVUqlEM|53jg6TZcm-HY9>Zx+u!)rE6o%MrMvf^%sxw*7 H@h$!j9WPrF delta 1664 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 AI{*Lx diff --git a/Server/obj/Debug/net6.0/refint/Server.dll b/Server/obj/Debug/net6.0/refint/Server.dll index 880925fc57f9b4b55d4f2d00930ced217aa38fb6..bd05fd2e3f3eeb937f290a542a97b99264ae68cf 100644 GIT binary patch delta 2685 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 AI{*Lx