Exemple #1
0
    internal void RegisterAll()
    {
        cs.DataSource = Server;
        cs.Database   = Database;
        cs.UserID     = "SYSDBA";
        cs.Password   = "******";
        cs.Dialect    = 3;
        cs.Port       = 3050;

        try
        {
            string        connectionString = cs.ToString();
            IDbConnection dbcon            = new FbConnection(connectionString);
            dbcon.Open();
            IDbCommand dbcmd = dbcon.CreateCommand();

            string sql = @"SELECT * FROM REGISTRATION;";

            dbcmd.CommandText = sql;

            IDataReader    reader = dbcmd.ExecuteReader();
            UtilDataReader dr     = new UtilDataReader(reader);
            while (reader.Read())
            {
                TMachineInfo Info = new TMachineInfo();
                Info.HardwareKey     = dr.GetString("MACHINEKEY");
                Info.TerminalName    = dr.GetString("TERMINAL_NAME");
                Info.POSLicences     = (UInt32)dr.GetInt32("POS_LICENCES") == 0 ? 10 : (UInt32)dr.GetInt32("POS_LICENCES");
                Info.PalmLicences    = (UInt32)dr.GetInt32("PALM_LICENCES") == 0 ? 10 : (UInt32)dr.GetInt32("PALM_LICENCES");
                Info.ProductName     = dr.GetString("PRODUCT");
                Info.CompanyName     = dr.GetString("COMPANY") == "" ? "MenuMate Demo" : dr.GetString("COMPANY");
                Info.RegistrationKey = dr.GetString("REGKEY") == "" ? "" : dr.GetString("REGKEY").Substring(0, 32).ToLower();
                Info.MenuMateModules = (UInt32)dr.GetInt32("MM_MODULES") == 0 ? 4285 : (UInt32)dr.GetInt32("MM_MODULES");;
                Info.OfficeLicences  = (UInt32)dr.GetInt32("OFFICE_LICENCES") == 0 ? 10 : (UInt32)dr.GetInt32("OFFICE_LICENCES");
                Info.Expiry          = dr.GetDateTime("EXPIRY");
                Register(Info);
            }
            // clean up
            reader.Close();
            reader = null;
            dbcmd.Dispose();
            dbcmd = null;
            dbcon.Close();
            dbcon = null;
        }
        catch (Exception ex)
        {
        }
    }
Exemple #2
0
    bool Register(TMachineInfo Info)
    {
        Info.RegistrationKey = GenerateRegistrationKey(Info);
        try
        {
            string        connectionString = cs.ToString();
            IDbConnection dbcon            = new FbConnection(connectionString);
            dbcon.Open();
            IDbCommand dbcmd = dbcon.CreateCommand();

            string sql = @"UPDATE REGISTRATION 
                SET 
                    REGKEY = @REGKEY ,
                    POS_LICENCES = @POS_LICENCES ,
                    PALM_LICENCES = @PALM_LICENCES ,
                    COMPANY = @COMPANY ,
                    MM_MODULES = @MM_MODULES ,
                    OFFICE_LICENCES = @OFFICE_LICENCES
                WHERE 
                    MACHINEKEY = @MACHINEKEY AND PRODUCT = @PRODUCT;";

            dbcmd.CommandText = sql;
            dbcmd.Parameters.Add(new FbParameter("@REGKEY", Info.RegistrationKey.ToLower()));
            dbcmd.Parameters.Add(new FbParameter("@POS_LICENCES", Info.POSLicences));
            dbcmd.Parameters.Add(new FbParameter("@PALM_LICENCES", Info.PalmLicences));
            dbcmd.Parameters.Add(new FbParameter("@COMPANY", Info.CompanyName));
            dbcmd.Parameters.Add(new FbParameter("@MM_MODULES", Info.MenuMateModules));
            dbcmd.Parameters.Add(new FbParameter("@OFFICE_LICENCES", Info.OfficeLicences));
            dbcmd.Parameters.Add(new FbParameter("@MACHINEKEY", Info.HardwareKey));
            dbcmd.Parameters.Add(new FbParameter("@PRODUCT", Info.ProductName));
            dbcmd.ExecuteNonQuery();
            dbcmd.Dispose();
            dbcmd = null;
            dbcon.Close();
            dbcon = null;
        }
        catch (Exception ex)
        {
        }
        return(false);
    }
Exemple #3
0
    String GenerateRegistrationKey(TMachineInfo Info)
    {
        Info.CustomerKey = CalculateMD5Hash(Info.CompanyName + Info.HardwareKey + Info.ProductName + Info.TerminalName).ToLower();

        if ((Info.MenuMateModules & 0x0040) != 0)
        {
            return(CalculateMD5Hash(Info.CustomerKey +
                                    Convert.ToString((int)Info.POSLicences, 16).PadLeft(4, '0').ToUpper() +
                                    Convert.ToString((int)Info.PalmLicences, 16).PadLeft(4, '0').ToUpper() +
                                    Convert.ToString((int)Info.MenuMateModules, 16).PadLeft(4, '0').ToUpper() +
                                    Info.Expiry.ToString("dd-mm-yyyy") +
                                    Convert.ToString((int)Info.OfficeLicences, 16).PadLeft(4, '0').ToUpper() +
                                    "".PadLeft(32, '0')));       // Allow for future additions.
        }
        else
        {
            return(CalculateMD5Hash(Info.CustomerKey +
                                    Convert.ToString((int)Info.POSLicences, 16).PadLeft(4, '0').ToUpper() +
                                    Convert.ToString((int)Info.PalmLicences, 16).PadLeft(4, '0').ToUpper() +
                                    Convert.ToString((int)Info.MenuMateModules, 16).PadLeft(4, '0').ToUpper() +
                                    Convert.ToString((int)Info.OfficeLicences, 16).PadLeft(4, '0').ToUpper() +
                                    "".PadLeft(32, '0'))); // Allow for future additions.
        }
    }