123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- using System.Data.Common;
- using Microsoft.EntityFrameworkCore;
- using System.ComponentModel.DataAnnotations;
- using System.ComponentModel.DataAnnotations.Schema;
- using System.Configuration;
- using EthermineBotTelegramCore;
- using Microsoft.Extensions.DependencyInjection;
- using MySql.EntityFrameworkCore;
- namespace EFDatabase
- {
- //[DbConfigurationType(typeof(MySqlEFConfiguration))]
- public class botdb : DbContext
- {
- public DbSet<users> users { get; set; }
- public DbSet<miners> miners { get; set; }
- public DbSet<workers> workers { get; set; }
- public DbSet<payouts> payouts { get; set; }
-
- protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
- {
- //#warning To protect potentially sensitive information in your connection string,
- //you should move it out of source code. See http://go.microsoft.com/fwlink/?LinkId=723263
- //for guidance on storing connection strings.
-
- optionsBuilder.UseMySQL("server=" + AppSettings.dbIp + ";port=3306;database=botdb;uid=" + AppSettings.user + "; pwd=" + AppSettings.password);
- }
-
- protected override void OnModelCreating(ModelBuilder modelBuilder)
- {
- modelBuilder.Entity<miners>()
- .HasKey(m => new { m.wallet, m.time });
- modelBuilder.Entity<workers>()
- .HasKey(w => new { w.wallet, w.time, w.worker });
- modelBuilder.Entity<payouts>()
- .HasKey(p => new { p.wallet, p.time, p.worker });
- }
-
- }
-
- public class users
- {
- [Key]
- [DatabaseGenerated(DatabaseGeneratedOption.None)]
- public long chat_id { get; set; }
- public string wallet { get; set; }
- public long last_message { get; set; }
- public long timer { get; set; } //unused
- }
- public class miners
- {
- //[Key, Column(Order = 0)]
- [DatabaseGenerated(DatabaseGeneratedOption.None)]
- public string wallet { get; set; }
- //[Key, Column(Order = 1)]
- [DatabaseGenerated(DatabaseGeneratedOption.None)]
- public long time { get; set; }
- public long reported_hashrate { get; set; }
- public double current_hashrate { get; set; }
- public int valid_shares { get; set; }
- public int stale_shares { get; set; }
- public int invalid_shares { get; set; }
- public int workers { get; set; }
- public long unpaid { get; set; }
- }
- public class workers
- {
-
- public string wallet { get; set; }
- //[Key, Column(Order = 0)]
- [DatabaseGenerated(DatabaseGeneratedOption.None)]
- public long time { get; set; }
- //[Key, Column(Order = 1)]
- [DatabaseGenerated(DatabaseGeneratedOption.None)]
- public string worker { get; set; }
- public long reported_hashrate { get; set; }
- public double current_hashrate { get; set; }
- public int valid_shares { get; set; }
- public int stale_shares { get; set; }
- public int invalid_shares { get; set; }
- public double worker_unpaid { get; set; }
- }
- public class payouts
- {
- //[Key, Column(Order = 0)]
- [DatabaseGenerated(DatabaseGeneratedOption.None)]
- public string wallet { get; set; }
- //[Key, Column(Order = 1)]
- [DatabaseGenerated(DatabaseGeneratedOption.None)]
- public long time { get; set; }
- public long amount { get; set; }
- //[Key, Column(Order = 2)]
- [DatabaseGenerated(DatabaseGeneratedOption.None)]
- public string worker { get; set; }
- public double worker_amount { get; set; }
- }
- }
|