The cloud manager acts as an intermediary for syncing between the local biskilog server manager and the biskilog accounting web application
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

304 lines
11 KiB

1 year ago
using System;
using System.Collections.Generic;
using Cloud_Manager.Models.ClientContractModels;
using Microsoft.EntityFrameworkCore;
namespace Cloud_Manager;
/// <summary>
/// This is the main EF DbContext for the Biskilog Accounting
/// </summary>
public partial class BiskilogContext : DbContext
{
public BiskilogContext()
{
}
public BiskilogContext(DbContextOptions<BiskilogContext> options)
: base(options)
{
}
public virtual DbSet<Authtype> Authtypes { get; set; }
public virtual DbSet<Clientbusiness> Clientbusinesses { get; set; }
public virtual DbSet<Clientinfo> Clientinfos { get; set; }
public virtual DbSet<Contract> Contracts { get; set; }
public virtual DbSet<Databasemap> Databasemaps { get; set; }
public virtual DbSet<Siteaccesspermission> Siteaccesspermissions { get; set; }
public virtual DbSet<Userauth> Userauths { get; set; }
1 year ago
public virtual DbSet<Clientapikey> Clientapikeys { get; set; }
1 year ago
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder
.UseCollation("utf8mb4_general_ci")
.HasCharSet("utf8mb4");
modelBuilder.Entity<Authtype>(entity =>
{
entity.HasKey(e => e.Id).HasName("PRIMARY");
entity
.ToTable("authtypes")
.HasCharSet("utf8")
.UseCollation("utf8_general_ci");
entity.Property(e => e.Id)
.HasColumnType("int(11)")
.HasColumnName("id");
entity.Property(e => e.Type)
.HasMaxLength(50)
.HasColumnName("type")
.UseCollation("utf8mb4_general_ci")
.HasCharSet("utf8mb4");
});
modelBuilder.Entity<Clientbusiness>(entity =>
{
entity.HasKey(e => new { e.BusinessId, e.ClientId })
.HasName("PRIMARY")
.HasAnnotation("MySql:IndexPrefixLength", new[] { 0, 0 });
entity
.ToTable("clientbusiness")
.HasCharSet("utf8")
.UseCollation("utf8_general_ci");
entity.Property(e => e.BusinessId)
.HasComment("there could be multiple branches of the same business")
.HasColumnType("int(11)")
.HasColumnName("businessId");
entity.Property(e => e.ClientId)
.HasColumnType("int(11)")
.HasColumnName("clientID");
entity.Property(e => e.BiskilogVersion)
.HasMaxLength(50)
.HasDefaultValueSql("''")
.HasColumnName("biskilog_version")
.UseCollation("utf8mb4_general_ci")
.HasCharSet("utf8mb4");
entity.Property(e => e.BusinessName)
.HasMaxLength(50)
.HasDefaultValueSql("''")
.HasColumnName("business_name")
.UseCollation("utf8mb4_general_ci")
.HasCharSet("utf8mb4");
entity.Property(e => e.DateJoined)
.HasDefaultValueSql("current_timestamp()")
.HasColumnType("datetime")
.HasColumnName("date_joined");
entity.Property(e => e.BusinessExternalId)
.HasMaxLength(50)
.HasDefaultValueSql("''")
.HasColumnName("businessExternalId")
.UseCollation("utf8mb4_general_ci")
.HasCharSet("utf8mb4");
});
modelBuilder.Entity<Clientinfo>(entity =>
{
entity.HasKey(e => e.ClientId).HasName("PRIMARY");
entity
.ToTable("clientinfo")
.HasCharSet("utf8")
.UseCollation("utf8_general_ci");
entity.Property(e => e.ClientId)
.HasColumnType("int(11)")
.HasColumnName("clientID");
entity.Property(e => e.Email)
.HasMaxLength(200)
.HasColumnName("email")
.UseCollation("utf8mb4_general_ci")
.HasCharSet("utf8mb4");
entity.Property(e => e.Fullname)
.HasMaxLength(200)
.UseCollation("utf8mb4_general_ci")
.HasCharSet("utf8mb4");
entity.Property(e => e.PhoneNumber)
.HasMaxLength(200)
.HasColumnName("phoneNumber")
.UseCollation("utf8mb4_general_ci")
.HasCharSet("utf8mb4");
});
modelBuilder.Entity<Contract>(entity =>
{
entity.HasKey(e => e.ContractId).HasName("PRIMARY");
entity
.ToTable("contracts")
.HasCharSet("utf8")
.UseCollation("utf8_general_ci");
entity.HasIndex(e => new { e.ClientId, e.BusinessId }, "clientId_businessId").IsUnique();
entity.Property(e => e.ContractId)
.HasColumnType("int(11)")
.HasColumnName("contractId");
entity.Property(e => e.Bill)
.HasPrecision(18, 2)
.HasColumnName("bill");
entity.Property(e => e.BusinessId)
.HasColumnType("int(11)")
.HasColumnName("businessId");
entity.Property(e => e.ClientId)
.HasColumnType("int(11)")
.HasColumnName("clientId");
entity.Property(e => e.Comments)
.HasColumnType("text")
.HasColumnName("comments")
.UseCollation("utf8mb4_general_ci")
.HasCharSet("utf8mb4");
entity.Property(e => e.EndDate)
.HasColumnType("datetime")
.HasColumnName("end_date");
entity.Property(e => e.StartDate)
.HasColumnType("datetime")
.HasColumnName("start_date");
});
1 year ago
modelBuilder.Entity<Clientapikey>(entity =>
{
entity.HasKey(e => e.Id).HasName("PRIMARY");
entity.ToTable("clientapikey");
1 year ago
1 year ago
entity.HasIndex(e => e.ContractId, "contractId");
entity.Property(e => e.Id)
.HasColumnType("int(11)")
.HasColumnName("id");
entity.Property(e => e.ContractId)
.HasColumnType("int(11)")
.HasColumnName("contractId");
entity.Property(e => e.IsActive)
.HasDefaultValueSql("b'1'")
.HasColumnType("bit(1)")
.HasColumnName("isActive");
entity.Property(e => e.Key)
.HasMaxLength(50)
.HasDefaultValueSql("'0'")
.HasColumnName("key");
});
1 year ago
modelBuilder.Entity<Databasemap>(entity =>
{
entity.HasKey(e => e.DbNo).HasName("PRIMARY");
entity
.ToTable("databasemap")
.HasCharSet("utf8")
.UseCollation("utf8_general_ci");
entity.HasIndex(e => e.ClientId, "businessId").IsUnique();
entity.Property(e => e.DbNo)
.HasColumnType("int(11)")
.HasColumnName("db_no");
entity.Property(e => e.ClientId)
.HasColumnType("int(11)")
.HasColumnName("clientID");
entity.Property(e => e.DbName)
.HasMaxLength(50)
.HasDefaultValueSql("''")
.HasColumnName("db_name")
.UseCollation("utf8mb4_general_ci")
.HasCharSet("utf8mb4");
entity.Property(e => e.Domain)
.HasMaxLength(50)
.HasDefaultValueSql("''")
.HasColumnName("domain")
.UseCollation("utf8mb4_general_ci")
.HasCharSet("utf8mb4");
entity.Property(e => e.LastSyncDate)
.HasColumnType("datetime")
.HasColumnName("last_sync_date");
});
modelBuilder.Entity<Siteaccesspermission>(entity =>
{
entity.HasKey(e => new { e.UserId, e.BusinessId, e.ClientId })
.HasName("PRIMARY")
.HasAnnotation("MySql:IndexPrefixLength", new[] { 0, 0, 0 });
entity
.ToTable("siteaccesspermission")
.HasCharSet("utf8")
.UseCollation("utf8_general_ci");
entity.Property(e => e.UserId)
.HasColumnType("int(11)")
.HasColumnName("userID");
entity.Property(e => e.BusinessId)
.HasComment("businessIds could also been seen as branchID")
.HasColumnType("int(11)")
.HasColumnName("businessId");
entity.Property(e => e.ClientId)
.HasColumnType("int(11)")
.HasColumnName("clientId");
});
modelBuilder.Entity<Userauth>(entity =>
{
entity.HasKey(e => e.UserId).HasName("PRIMARY");
entity
.ToTable("userauth")
.HasCharSet("utf8")
.UseCollation("utf8_general_ci");
entity.HasIndex(e => e.AuthType, "authType");
entity.HasIndex(e => new { e.ClientId, e.Username, e.Email }, "clientId_username_email").IsUnique();
entity.Property(e => e.UserId)
.HasColumnType("int(11)")
.HasColumnName("userId");
entity.Property(e => e.AuthType)
.HasColumnType("int(11)")
.HasColumnName("authType");
entity.Property(e => e.ClientId)
.HasColumnType("int(11)")
.HasColumnName("clientId");
entity.Property(e => e.Email)
.HasMaxLength(200)
.HasColumnName("email")
.UseCollation("utf8mb4_general_ci")
.HasCharSet("utf8mb4");
entity.Property(e => e.Isactive)
.HasColumnType("bit(1)")
.HasColumnName("isactive");
entity.Property(e => e.Isowner)
.HasColumnType("bit(1)")
.HasColumnName("isowner");
entity.Property(e => e.LastLogin)
.HasColumnType("datetime")
.HasColumnName("last_login");
entity.Property(e => e.Passsword)
.HasMaxLength(200)
.HasColumnName("passsword")
.UseCollation("utf8mb4_general_ci")
.HasCharSet("utf8mb4");
entity.Property(e => e.PhoneNumber)
.HasMaxLength(50)
.HasColumnName("phoneNumber")
.UseCollation("utf8mb4_general_ci")
.HasCharSet("utf8mb4");
entity.Property(e => e.Username)
.HasMaxLength(30)
.HasColumnName("username")
.UseCollation("utf8mb4_general_ci")
.HasCharSet("utf8mb4");
});
OnModelCreatingPartial(modelBuilder);
}
partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
}