public MainForm() { InitializeComponent(); Dictionary <string, string> dic; ServerInfoManager serverInfo = new ServerInfoManager(); dic = serverInfo.Read(@"C:\xmlFiles\serverInfos.xml"); string ip = dic["IP"]; string id = dic["ID"]; string pw = dic["PW"]; FtpManager ftpManager = new FtpManager(); ftpManager.calculateAutomation(ip, id, pw); txtResultBox.Text = "0"; btnMC.Enabled = false; btnMR.Enabled = false; calManager = new CalManager(); }
public void calculateAutomation(string ip, string id, string pw) { var list = new List <string>(); var result = new List <string>(); using (var res = connectServer(ip + "/raw", id, pw, WebRequestMethods.Ftp.ListDirectory)) { using (var stream = res.GetResponseStream()) { using (var rd = new StreamReader(stream)) { while (true) { string buf = rd.ReadLine(); if (string.IsNullOrWhiteSpace(buf)) { break; } list.Add(buf); } } } } foreach (var fileName in list) { try { string filePath = ip + "/raw/" + fileName; string extension = Path.GetExtension(fileName); string expression = string.Empty; WebClient wc = new WebClient(); wc.Credentials = new NetworkCredential(id, pw); byte[] newFileData = wc.DownloadData(filePath); string fileString = Encoding.UTF8.GetString(newFileData); switch (extension) { case ".txt": { expression = fileString; break; } case ".json": { JObject json = JObject.Parse(fileString); expression = json["expression"].ToString(); break; } case ".xml": { var xml = new XmlDocument() as XmlDocument; xml.LoadXml(fileString); XmlNodeList xmlList = xml.SelectNodes("/expressions/expression"); foreach (XmlNode i in xmlList) { expression = i["exp"].InnerText; } break; } default: { Console.WriteLine("지원하지 않는 형식입니다."); break; } } if (expression == string.Empty || expression == "0") { Console.WriteLine("올바르지 않은 수식입니다."); } else { var cal = new CalManager() as CalManager; string res = cal.start(expression).ToString(); string value = expression + "=" + res; result.Add(value); } } catch (WebException) { Console.WriteLine("접속 오류"); } } foreach (var inputValue in result) { WebClient wc = new WebClient(); wc.Credentials = new NetworkCredential(id, pw); byte[] fileContents = Encoding.UTF8.GetBytes(inputValue); string filePath = ip + "/" + DateTime.Now.ToString("yyMMddhhmmss-") + count.ToString() + ".txt"; string fileName = DateTime.Now.ToString("yyMMddhhmmss-") + count.ToString() + ".txt"; Stream stream = wc.OpenWrite(filePath); stream.Write(fileContents, 0, fileContents.Length); stream.Close(); DBManager dm = new DBManager(); dm.dbConncetor(fileName, inputValue); count++; } Console.WriteLine("complete..."); }