public static void InsertGraphicsWorkUnit(Objects.WorkUnit workUnit)
 {
     try
     {
         MySqlConnection m_cn = new MySqlConnection(connectionstring);
         MySqlCommand    cmd  = new MySqlCommand("insertWorkUnitStat", m_cn);
         cmd.CommandType = CommandType.StoredProcedure;
         cmd.Parameters.AddWithValue("?G_UUID", workUnit.card.GUID);
         cmd.Parameters["?G_UUID"].Direction = ParameterDirection.Input;
         cmd.Parameters.AddWithValue("?A_ID", workUnit.algo.GetNiceHashID());
         cmd.Parameters["?A_ID"].Direction = ParameterDirection.Input;
         cmd.Parameters.AddWithValue("?T_RECORDED", workUnit.TimeRecorded);
         cmd.Parameters["?T_RECORDED"].Direction = ParameterDirection.Input;
         cmd.Parameters.AddWithValue("?H_SPEED", workUnit.speed);
         cmd.Parameters["?H_SPEED"].Direction = ParameterDirection.Input;
         cmd.Parameters.AddWithValue("?T_ELAPSED", workUnit.Time);
         cmd.Parameters["?T_ELAPSED"].Direction = ParameterDirection.Input;
         cmd.Parameters.AddWithValue("?E_PERCENT", workUnit.efficiency);
         cmd.Parameters["?E_PERCENT"].Direction = ParameterDirection.Input;
         cmd.Parameters.AddWithValue("?C_EARNINGS", workUnit.caclulatedEarnings);
         cmd.Parameters["?C_EARNINGS"].Direction = ParameterDirection.Input;
         m_cn.Open();
         cmd.ExecuteNonQuery();
         m_cn.Close();
     }
     catch (Exception ex)
     {
     }
 }
Esempio n. 2
0
        public static void InsertGraphicsWorkUnit(Objects.WorkUnit workUnit)
        {
            string sql = String.Format("insert into WorkUnit (CardUUID,AlgoID,Speed,Time,Efficiency,CalculatedEarnings,TimeRecorded,WorkUnitID)" +
                                       "values ('{0}',{1},{2},{3},{4},{5},{6},{7})", workUnit.card.GUID, workUnit.algo.GetNiceHashID(), workUnit.speed, workUnit.Time, workUnit.efficiency, workUnit.caclulatedEarnings, workUnit.TimeRecorded, GetNextID("WorkUnit", "WorkUnitID"));

            ProcessSQLNonQuery(sql);
        }
Esempio n. 3
0
        public static List <Objects.WorkUnit> GetWorkUnitsForRig(Objects.MiningRig rig, dynamic PayRate, double timeElapsed)
        {
            rig.ClearWorkMetrics();
            List <Objects.WorkUnit>             workUnits    = new List <Objects.WorkUnit>();
            Dictionary <int, Objects.Algorithm> algorithmKey = new Dictionary <int, Objects.Algorithm>();
            dynamic work = DataHelper.ExcavatorSocket.Client(rig, 0, "algorithm.list", new string[0]);

            foreach (dynamic algorithm in work.algorithms)
            {
                if (!algorithmKey.ContainsKey((int)algorithm.algorithm_id))
                {
                    Objects.Algorithm algo = new Objects.Algorithm();
                    algo.ID   = algorithm.algorithm_id;
                    algo.Name = algorithm.name;
                    algorithmKey.Add(algo.ID, algo);
                }
                foreach (dynamic worker in algorithm.workers)
                {
                    if (rig.CardList.ContainsKey((int)worker.device_id))
                    {
                        Objects.WorkUnit workUnit = new Objects.WorkUnit();
                        workUnit.card               = rig.CardList[(int)worker.device_id];
                        workUnit.speed              = (float)worker.speed[0];
                        workUnit.algo               = algorithmKey[(int)algorithm.algorithm_id];
                        workUnit.efficiency         = (float)algorithm.pools[0].details.last_efficiency;
                        workUnit.Time               = timeElapsed;
                        workUnit.caclulatedEarnings = getEarningsInfo(workUnit.speed, ParseFloatFromString(PayRate.result.simplemultialgo[workUnit.algo.GetNiceHashID()].paying.ToString()), workUnit.algo.GetHashMultiplier());
                        workUnit.TimeRecorded       = rig.LastCheckTime;
                        workUnits.Add(workUnit);
                        rig.CardList[(int)worker.device_id].LastWorkUnits.Add(workUnit);
                    }
                }
            }
            return(workUnits);
        }
Esempio n. 4
0
        public static void InsertGraphicsWorkUnit(Objects.WorkUnit workUnit)
        {
            switch (DataSaveMethod)
            {
            case 0:
                DataHelper.MySQLHelper.InsertGraphicsWorkUnit(workUnit);
                break;

            case 1:
                DataHelper.sqliteHelper.InsertGraphicsWorkUnit(workUnit);
                break;
            }
        }