AppDbContext.cs 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. using Microsoft.EntityFrameworkCore;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Text;
  5. namespace ClassicCpuCardApp
  6. {
  7. class AppDbContext : DbContext
  8. {
  9. private DbContextOptions options;
  10. public AppDbContext() : base()
  11. {
  12. }
  13. //public AppDbContext(DbContextOptions options) : base(options) { this.options = options; }
  14. protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
  15. {
  16. optionsBuilder.UseSqlite("Data Source=Gateway_Pos_App_database.db");
  17. }
  18. protected override void OnModelCreating(ModelBuilder modelBuilder)
  19. {
  20. //modelBuilder.Entity<Transaction>().HasIndex(p => new { p.Id }).IsUnique(true);
  21. //modelBuilder.Entity<Transaction>().HasIndex(p => new { p.ReceiptId }).IsUnique(true);
  22. //modelBuilder.Entity<Transaction>().HasIndex(p => new { p.ShiftId }).IsUnique(false);
  23. //modelBuilder.Entity<Transaction>().HasIndex(p => new { p.ServerSideTimestamp }).IsUnique(false);
  24. //modelBuilder.Entity<Transaction>().HasIndex(p => new { p.TotalAmount }).IsUnique(false);
  25. //modelBuilder.Entity<Transaction>().HasIndex(p => new { p.NetAmount }).IsUnique(false);
  26. //modelBuilder.Entity<FuelItem>().HasIndex(p => new { p.Amount }).IsUnique(false);
  27. //modelBuilder.Entity<FuelItem>().HasIndex(p => new { p.FuelProductCode }).IsUnique(false);
  28. //modelBuilder.Entity<FuelItem>().HasIndex(p => new { p.SiteLevelNozzleId }).IsUnique(false);
  29. //modelBuilder.Entity<FuelItem>().HasIndex(p => new { p.PumpId, p.NozzleLogicalId }).IsUnique(false);
  30. //modelBuilder.Entity<Operator>().HasIndex(p => new { p.Name }).IsUnique(true);
  31. //#region otherwise, sqlite does not support Sum on decimal columns, so here underlying use double.
  32. //modelBuilder.Entity<Transaction>().Property(e => e.TotalAmount).HasConversion<double>();
  33. //modelBuilder.Entity<Transaction>().Property(e => e.NetAmount).HasConversion<double>();
  34. //modelBuilder.Entity<Gateway.POS.Models.Payment>().Property(e => e.ExpectAmount).HasConversion<double>();
  35. //modelBuilder.Entity<Gateway.POS.Models.Payment>().Property(e => e.PaidAmount).HasConversion<double>();
  36. //modelBuilder.Entity<FuelItem>().Property(e => e.Qualtity).HasConversion<double>();
  37. //modelBuilder.Entity<FuelItem>().Property(e => e.Amount).HasConversion<double>();
  38. //modelBuilder.Entity<FuelItem>().Property(e => e.Price).HasConversion<double>();
  39. //modelBuilder.Entity<FuelItem>().Property(e => e.TotalVolume).HasConversion<double>();
  40. //#endregion
  41. }
  42. //public DbSet<Transaction> Transactions { get; set; }
  43. //public DbSet<Discount> Discounts { get; set; }
  44. //public DbSet<FuelItem> FuelItems { get; set; }
  45. //public DbSet<Models.Payment> Payments { get; set; }
  46. //public DbSet<Operator> Operators { get; set; }
  47. }
  48. }