123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Threading.Tasks;
- using System.Diagnostics;
- using System.Net.Http;
-
- namespace WebApplication3.Clases
- {
- class Proceso
- {
- private Process proceso;
- private static readonly Proceso _instancia = new Proceso();
- private bool _detected;
- private bool _started;
- private HttpClient client = new HttpClient();
-
-
- private Proceso()
- {
- proceso = new Process();
- //_proceso.StartInfo.WorkingDirectory = "C:\\Users\\Admin\\Downloads\\00_Aquifer_Supervision_0 3\\00_Aquifer_Supervision_0\\TRASLADADO SIN EJECUTAR\\";
- //_proceso.StartInfo.FileName = "mf2005.exe";
- //_proceso.StartInfo.Arguments = "AA.modflow.in";
- _detected = false;
- _started = false;
- }
-
- public static Proceso GetInstance() => _instancia;
-
- public void setParametersModflow(string workingDirectory, string arguments)
- {
- proceso.StartInfo.WorkingDirectory = workingDirectory;
- proceso.StartInfo.FileName = @"C:\Users\Admin\Downloads\MF2005.1_12\MF2005.1_12\bin\mf2005.exe";
- proceso.StartInfo.Arguments = arguments;
- proceso.StartInfo.UseShellExecute = true;
-
- }
-
- public void setParametersZoneBudget(string workingDirectory)
- {
- proceso.StartInfo.WorkingDirectory = workingDirectory;
- proceso.StartInfo.FileName = @"C:\WRDAPP\Zonbud.3_01\Bin\zonbud.exe";
- proceso.StartInfo.Arguments = "";
- proceso.StartInfo.RedirectStandardInput = true;
-
- }
-
- public void setParametersPython(string workingDirectory,string headFile, int rows, int cols, int isolines)
- {
- proceso.StartInfo.WorkingDirectory = workingDirectory;
- //proceso.StartInfo.FileName = @"C:\Users\Admin\AppData\Local\Programs\Python\Python39\python.exe";
- proceso.StartInfo.FileName = "python";
- var script = @"C:\Users\Admin\Desktop\test.py";
- proceso.StartInfo.Arguments = script+" "+headFile+" "+rows+" "+cols+" "+isolines;
- proceso.StartInfo.UseShellExecute = false;
- }
-
- public void SetParametersSVG2Json(string workingDirectory, string fileName)
- {
- proceso.StartInfo.WorkingDirectory = workingDirectory;
- proceso.StartInfo.FileName = "svg2geojson";
- proceso.StartInfo.Arguments = fileName;
- proceso.StartInfo.UseShellExecute = false;
-
- }
- public int GetPid()
- {
- return proceso.Id;
- }
-
- public bool HasExited()
- {
- return proceso.HasExited;
- }
-
- public void Kill()
- {
- proceso.Kill();
- }
-
-
- public void Start()
- {
- proceso.Start();
- _started = true;
- }
-
- public void ExecuteZonebudget(string[] prompts)
- {
- proceso.StandardInput.WriteLine(prompts[0]);
- proceso.StandardInput.WriteLine(prompts[1]);
- proceso.StandardInput.WriteLine(prompts[2]);
- proceso.StandardInput.WriteLine(prompts[3]);
- proceso.StandardInput.WriteLine(prompts[4]);
- proceso.WaitForExit();
- }
-
- public void ResetProcess()
- {
- proceso.StartInfo.WorkingDirectory = "";
- proceso.StartInfo.FileName = "";
- proceso.StartInfo.Arguments = "";
- proceso.StartInfo.RedirectStandardInput = false;
- proceso.StartInfo.UseShellExecute = false;
- _detected = false;
- _started = false;
- }
-
- public void WaitForExit()
- {
- proceso.WaitForExit();
- }
-
- public bool Started
- {
- get
- {
- return _started;
- }
- set
- {
- _started = value;
- }
- }
-
- public bool Detected
- {
- get
- {
- return _detected;
- }
- set
- {
- _detected = value;
- }
- }
-
- }
- }
|