Exemple #1
0
        public SendResult Post(AirConStatus value)
        {
            Console.WriteLine(string.Format("{0} Post AirConStatus", DateTime.Now));
            SendResult r1 = SendResult.CheckStatus(value);

            if (r1.Code != 0)
            {
                return(r1);
            }

            acStatus = value;
            string exec_arg = string.Format("{0} {1} {2} {3} {4}",
                                            acStatus.Power, acStatus.Temperature, acStatus.Mode, acStatus.Swing, acStatus.WindSpeed);
            string stdOutput = "";

            try
            {
                Process proc = new Process();
                proc.StartInfo.FileName               = "./irz";
                proc.StartInfo.Arguments              = exec_arg;
                proc.StartInfo.UseShellExecute        = false;
                proc.StartInfo.RedirectStandardOutput = true;
                proc.StartInfo.RedirectStandardError  = true;
                proc.StartInfo.CreateNoWindow         = true;
                proc.Start();
                proc.WaitForExit();
                stdOutput = proc.StandardOutput.ReadToEnd();
                string errOutput = proc.StandardError.ReadToEnd();
                proc.Close();
                if (stdOutput.Contains("Runtime Error") || stdOutput.Contains("failed") || errOutput.Contains("Error") || errOutput.Contains("Wrong"))
                {
                    return(new SendResult(1, errOutput));
                }
                //Console.WriteLine(stdOutput);
                //Console.WriteLine("cerr: " + errOutput);
            }
            catch (Exception ex)
            {
                return(new SendResult(1, ex.Message));
            }
            return(new SendResult(0, stdOutput));
        }