Ejemplo n.º 1
0
 public CStructModifications(CSystem system, CGlobals app_globals)
 {
     sys        = system;
     Globals    = app_globals;
     cVistas    = Globals.AppDataSection(dPATH.VIEWS);
     cProgramas = Globals.AppDataSection(dPATH.PROGRAM);
     cProcesos  = Globals.AppDataSection(dPATH.PROCESSES);
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Check integrity in program processes
 /// </summary>
 /// <param name="fi"></param>
 /// <param name="FindedPrograms"></param>
 /// <returns></returns>
 private bool check_integrity_in_process(FileInfo fi, ref ArrayList FindedPrograms)
 {
     try
     {
         JSonFile jProgram     = new JSonFile(fi.FullName);
         String   program_path = fi.FullName.Replace(Globals.AppDataSection(dPATH.PROGRAM).FullName + "\\", "").Replace("\\", ".").Replace(".json", "");
         TErrors  er           = new TErrors(Globals, program_path);
         foreach (JObject prc_node in jProgram.jActiveObj["Logic"] as JArray)
         {
             if (prc_node.Properties().Count() > 0)
             {
                 TProcess prc = new TProcess(sys, Globals, prc_node);
                 if (!CDataIntegrity.CheckAllVariables(prc, ref er))
                 {
                     FindedPrograms.Add(String.Format("Program: {0}: \r\n   -> Process: {1} \r\n   -> {2}",
                                                      program_path, prc.Name, er.getErrors().ToString()));
                 }
             }
         }
     }
     catch (Exception exc)
     {
         FindedPrograms.Add(exc.Message);
     }
     return(false);
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Get controls in view from file
 /// </summary>
 /// <param name="Globals"></param>
 /// <param name="view"></param>
 /// <param name="control_guid"></param>
 public TBaseControls(CGlobals Globals, String view)
 {
     jErrors = new JArray();
     prcInfo = new JSonFile(Globals.AppDataSection(dCONTROLS.PATH), view, true);
     if (!prcInfo.hasErrors())
     {
         jErrors = prcInfo.jErrors;
     }
 }
Ejemplo n.º 4
0
        public CProgram(CSystem csystem, CGlobals Globals, String program, object program_vars = null)
        {
            sys = csystem;
            // Remove program queued flag
            program_name = (program.StartsWith("&")) ? program.Substring(1) : program;
            // Read program
            progInfo = new JSonFile(Globals.AppDataSection(dPATH.PROGRAM), program_name, true);

            if (!progInfo.hasErrors())
            {
                // Init csystem.ProgramErrors and debug for program execution
                csystem.ProgramErrors = new TErrors(Globals, program);
                csystem.ProgramDebug  = new TDebug(Globals, program);
                debug = csystem.ProgramDebug;

                csystem.ProgramErrors.Name        = Name;
                csystem.ProgramErrors.Description = Description;
                debug.Name        = Name;
                debug.Description = Description;

                // Init vars
                if (program_vars == null)
                {
                    vars = new Dictionary <string, object>();
                }
                else
                {
                    vars = (Dictionary <string, object>)program_vars;
                }
                foreach (JValue var in Variables)
                {
                    if (!vars.ContainsKey(var.Value.ToString()))
                    {
                        vars.Add(var.Value.ToString(), null);
                    }
                }
            }
            else
            {
                csystem.ProgramErrors             = new TErrors(Globals, program);
                csystem.ProgramErrors.invalidJSON = progInfo.jErrors;
            }
        }
Ejemplo n.º 5
0
 private bool loadBaseProcess(CGlobals Globals)
 {
     pBasePrc = new JSonFile(Globals.AppDataSection(dPATH.PROCESSES), Namespace, false);
     if (pBasePrc.file_exists)
     {
         if (!pBasePrc.hasErrors())
         {
             pBasePrc.setActiveNode(String.Format("$.{0}[?(@.{1} == '{2}')]", dPROCESS.PROCESSES, dPROCESS.GUID.ToString(), Guid));
         }
         else
         {
             sys.ProgramErrors.invalidJSON =
                 String.Format("Error loading json file {0}.{1}. Details: {2}",
                               dPATH.PROCESSES,
                               Namespace,
                               pBasePrc.jErrors.ToString());
         }
         return(true);
     }
     else
     {
         return(false);
     }
 }
Ejemplo n.º 6
0
        /// <summary>
        /// Map objects in assembly file
        /// </summary>
        /// <param name="assembly_file"></param>
        public String MapObjectFromFile(String assembly_file)
        {
            String dll_lines     = "";
            String relative_path = assembly_file.Replace(app_globals.AppDataSection(dPATH.DLL).FullName, "").Replace("\\", ".");

            // Load assembly
            Assembly _dll = Assembly.LoadFrom(assembly_file);

            // generate maps
            foreach (Type dll_type in _dll.GetTypes())
            {
                #region namespace and class
                String ns_lines = String.Format("namespace {0}", dll_type.FullName) + endline +
                                  "{" + endline +
                                  String.Format(sep(1) + "public class {0}", dll_type.Name) + endline +
                                  sep(1) + "{" + endline +
                                  "vars_lines" + endline +
                                  "constructor" + endline +
                                  "property_lines" + endline +
                                  "method_lines" + endline +
                                  sep(1) + "}" + endline +
                                  "}" + endline;
                #endregion

                #region object variables
                String var_lines = sep(2) + "Type tobj;" + endline +
                                   sep(2) + "Object obj;" + endline +
                                   sep(2) + String.Format("String dll_path = \"{0}\";", relative_path) + endline;
                #endregion

                #region Constructor
                String constr_lines = sep(2) + String.Format("public {0}(CGlobals App_globals)", dll_type.Name) + endline +
                                      sep(3) + "{" + endline +
                                      sep(4) + "Assembly _dll = Assembly.LoadFrom(App_globals.getAssembly(dll_path));" + endline +
                                      sep(4) + String.Format("tobj = _dll.GetType(\"{0}\");", dll_type.Name) + endline +
                                      sep(4) + "obj = (Object)Activator.CreateInstance(tobj); " + endline +
                                      sep(3) + "}" + endline;
                #endregion

                #region MEthods
                String methods_lines = "";

                foreach (MethodInfo mi in dll_type.GetMethods())
                {
                    //mi.ReturnType.FullName
                    String method_params = "";
                    String mparameters   = "";
                    String sepc          = "";
                    foreach (ParameterInfo pi in mi.GetParameters())
                    {
                        method_params += sepc + pi.ParameterType.FullName + " " + pi.Name;
                        mparameters    = sepc + pi.Name;
                        sepc           = ", ";
                    }

                    methods_lines +=
                        sep(2) + String.Format("public {0} {1}({2})", mi.ReturnType.FullName, mi.Name, method_params) + endline +
                        sep(2) + "{" + endline +
                        sep(3) + "object[] method_params = new object[] { " + mparameters + "};" + endline +
                        sep(3) + String.Format("return tobj.GetMethod(\"{0}\").Invoke(obj, method_params);", mi.Name) + endline +
                        sep(2) + "}" + endline;
                }
                #endregion

                #region properties
                String property_lines = "";
                foreach (PropertyInfo pi in dll_type.GetProperties())
                {
                    property_lines +=
                        sep(2) + String.Format("public {0} {1} ", pi.PropertyType.FullName, pi.Name) + endline +
                        sep(2) + "{ " + endline +
                        sep(3) + "get { " + endline +
                        sep(4) + String.Format("return tobj.GetProperty(\"{0}\").GetValue(obj);", pi.Name) + endline +
                        sep(3) + "} " + endline +
                        sep(3) + "set { " + endline +
                        sep(4) + String.Format("tobj.GetProperty(\"{0}\").SetValue(obj, value); ", pi.Name) + endline +
                        sep(3) + "} " + endline +
                        sep(2) + "}" + endline;
                }
                #endregion

                #region add ns
                dll_lines += ns_lines.Replace("vars_lines", var_lines)
                             .Replace("constructor", constr_lines)
                             .Replace("property_lines", property_lines)
                             .Replace("method_lines", methods_lines);
                #endregion
            }
            return(dll_lines);
        }
Ejemplo n.º 7
0
        public bool forceExitProgram = false; // Force program exit

        #endregion

        #region Constructor

        public TErrors(CGlobals Globals, String Program)
        {
            errorInfo = new JSonFile(Globals.AppDataSection(dPATH.ERRORS), Program);
            errorInfo.set(dERROR.STATUS, generalStatus.READY.ToString());
        }
Ejemplo n.º 8
0
 public TDebug(CGlobals globals, String Program)
 {
     Globals   = globals;
     debugInfo = new JSonFile(Globals.AppDataSection(dPATH.DEBUG), Program);
     debugInfo.set(dDEBUG.PROCESSES, new JArray());
 }
Ejemplo n.º 9
0
 public TTracer(CGlobals globals)
 {
     Globals    = globals;
     tracerInfo = new JSonFile(Globals.AppDataSection(dPATH.TRACER), Globals.ActiveAppName, false);
     initializar_tracer();
 }