Example #1
0
        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();
        }
Example #2
0
        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...");
        }