Esempio n. 1
0
        //:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
        //Terminals

        //Duplicate method from logicpos.Utils

        public static POS_ConfigurationPlaceTerminal GetTerminal()
        {
            POS_ConfigurationPlaceTerminal configurationPlaceTerminal = null;

            //Debug Directive disabled by Mario, if enabled we cant force Hardware id in Release, if we want to ignore appHardwareId from config we just delete it
            //If assigned in Config use it, else does nothing and use default ####-####-####-####-####-####
            if (SettingsApp.AppHardwareId != null && SettingsApp.AppHardwareId != String.Empty)
            {
                GlobalFramework.LicenceHardwareId = SettingsApp.AppHardwareId;
            }

            try
            {
                //Try TerminalID from Database
                configurationPlaceTerminal = (POS_ConfigurationPlaceTerminal)FrameworkUtils.GetXPGuidObjectFromField(typeof(POS_ConfigurationPlaceTerminal), "HardwareId", GlobalFramework.LicenceHardwareId);
            }
            catch (Exception ex)
            {
                _log.Error(ex.Message, ex);
            }

            //Create a new db terminal
            if (configurationPlaceTerminal == null)
            {
                try
                {
                    //Persist Terminal in DB
                    configurationPlaceTerminal = new POS_ConfigurationPlaceTerminal(GlobalFramework.SessionXpo)
                    {
                        Ord         = FrameworkUtils.GetNextTableFieldID("POS_ConfigurationPlaceterminal", "Ord"),
                        Code        = FrameworkUtils.GetNextTableFieldID("POS_ConfigurationPlaceterminal", "Code"),
                        Designation = "Terminal #" + FrameworkUtils.GetNextTableFieldID("POS_ConfigurationPlaceterminal", "Code"),
                        HardwareId  = GlobalFramework.LicenceHardwareId
                                      //Fqdn = GetFQDN()
                    };
                    configurationPlaceTerminal.Save();
                }
                catch (Exception ex)
                {
                    _log.Error(string.Format("Error! Cant Register a new TerminalId [{0}] with HardwareId: [{1}], Error: [2]", configurationPlaceTerminal.Oid, configurationPlaceTerminal.HardwareId, ex.Message), ex);
                    Environment.Exit(0);
                }
            }
            return(configurationPlaceTerminal);
        }