public M1TestForm()
        {
            InitializeComponent();
            InitializeComputePerformanceLabel();

            loggerManager = new LoggerManager();
            logger        = loggerManager.CreateTracer(this.GetType());
            //computeM1 = new OPSComputeM1(loggerManager);

            computeM1 = OPSComputeM1.GetInstance(loggerManager);

            LoadEntradasRegistroCombo();
        }
Exemplo n.º 2
0
        /// <summary>
        ///
        /// </summary>
        /// <returns>
        /// C_RES_OK : Result OK
        /// C_RES_NOK: Result NOK
        /// </returns>
        public long Exectue()
        {
            String strOut    = string.Empty;
            String strOutM50 = string.Empty;

            long    lRslt  = C_RES_OK;
            string  szFunc = "CS_M1::Exectue ";
            ILogger logger = null;

            if (lockObject == null)
            {
                lockObject = new object();

                try
                {
                    System.Configuration.AppSettingsReader appSettings = new System.Configuration.AppSettingsReader();

                    string strRegParamsPath = (string)appSettings.GetValue("M1RegParamsPath", typeof(string));
                    if (m_strComputeDllPath.Length > 0)
                    {
                        strRegParamsPath = m_strComputeDllPath;
                    }
                    m_StrRegParams = new StringBuilder(strRegParamsPath);

                    string    delimStr            = ";";
                    char []   delimiter           = delimStr.ToCharArray();
                    string [] splitDLLDirectories = null;
                    string    strDLLDirectories   = (string)appSettings.GetValue("M1DLLPath", typeof(string));
                    splitDLLDirectories = strDLLDirectories.Split(delimiter);

                    for (int i = 0; i < splitDLLDirectories.Length; i++)
                    {
                        splitDLLDirectories[i] = splitDLLDirectories[i].Trim();
                        if (splitDLLDirectories[i].Length > 0)
                        {
                            SetDllDirectory(splitDLLDirectories[i]);
                        }
                    }
                }
                catch
                {
                }
            }



            try
            {
                logger = DatabaseFactory.Logger;
                if (logger != null)
                {
                    logger.AddLog(szFunc + "Creating StringBuilder", LoggerSeverities.Debug);
                }

                if (m_strComputeDllPath.Length > 0)
                {
                    logger.AddLog(szFunc + "Using DLL path - " + m_strComputeDllPath, LoggerSeverities.Debug);
                    m_StrRegParams.Clear();
                    m_StrRegParams.Append(m_strComputeDllPath);
                }

                if (!bInitialized)
                {
                    lock (lockObject)
                    {
                        lRslt = OPSComputeM1.GetInstance().fnM1(m_StrIn.ToString(), m_StrRegParams.ToString(), ref strOut, ref strOutM50, 32768, m_bApplyHistory, m_bUseDefaultArticleDef);
                    }
                }
                else
                {
                    lRslt = OPSComputeM1.GetInstance().fnM1(m_StrIn.ToString(), m_StrRegParams.ToString(), ref strOut, ref strOutM50, 32768, m_bApplyHistory, m_bUseDefaultArticleDef);
                }

                if (lRslt != C_RES_OK)
                {
                    StrOut    = "";
                    StrOutM50 = "";
                }
                else
                {
                    m_StrOut.Insert(0, strOut);
                    m_StrOutM50.Insert(0, strOutM50);
                    bInitialized = true;
                }
            }
            catch (Exception e)
            {
                Trace.Write(szFunc + e.Message);
                if (logger != null)
                {
                    logger.AddLog(szFunc + e.Message + lRslt.ToString(), LoggerSeverities.Debug);
                }

                lRslt = C_RES_NOK;
            }
            finally
            {
                strOut    = null;
                strOutM50 = null;
            }

            return(lRslt);
        }