using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Text; namespace ClassicCpuCardApp { class AppDbContext : DbContext { private DbContextOptions options; public AppDbContext() : base() { } //public AppDbContext(DbContextOptions options) : base(options) { this.options = options; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder.UseSqlite("Data Source=Gateway_Pos_App_database.db"); } protected override void OnModelCreating(ModelBuilder modelBuilder) { //modelBuilder.Entity().HasIndex(p => new { p.Id }).IsUnique(true); //modelBuilder.Entity().HasIndex(p => new { p.ReceiptId }).IsUnique(true); //modelBuilder.Entity().HasIndex(p => new { p.ShiftId }).IsUnique(false); //modelBuilder.Entity().HasIndex(p => new { p.ServerSideTimestamp }).IsUnique(false); //modelBuilder.Entity().HasIndex(p => new { p.TotalAmount }).IsUnique(false); //modelBuilder.Entity().HasIndex(p => new { p.NetAmount }).IsUnique(false); //modelBuilder.Entity().HasIndex(p => new { p.Amount }).IsUnique(false); //modelBuilder.Entity().HasIndex(p => new { p.FuelProductCode }).IsUnique(false); //modelBuilder.Entity().HasIndex(p => new { p.SiteLevelNozzleId }).IsUnique(false); //modelBuilder.Entity().HasIndex(p => new { p.PumpId, p.NozzleLogicalId }).IsUnique(false); //modelBuilder.Entity().HasIndex(p => new { p.Name }).IsUnique(true); //#region otherwise, sqlite does not support Sum on decimal columns, so here underlying use double. //modelBuilder.Entity().Property(e => e.TotalAmount).HasConversion(); //modelBuilder.Entity().Property(e => e.NetAmount).HasConversion(); //modelBuilder.Entity().Property(e => e.ExpectAmount).HasConversion(); //modelBuilder.Entity().Property(e => e.PaidAmount).HasConversion(); //modelBuilder.Entity().Property(e => e.Qualtity).HasConversion(); //modelBuilder.Entity().Property(e => e.Amount).HasConversion(); //modelBuilder.Entity().Property(e => e.Price).HasConversion(); //modelBuilder.Entity().Property(e => e.TotalVolume).HasConversion(); //#endregion } //public DbSet Transactions { get; set; } //public DbSet Discounts { get; set; } //public DbSet FuelItems { get; set; } //public DbSet Payments { get; set; } //public DbSet Operators { get; set; } } }