using CPRNIMS.Infrastructure.Entities.Account; using CPRNIMS.Infrastructure.Entities.Canvass; using CPRNIMS.Infrastructure.Entities.Common; using CPRNIMS.Infrastructure.Entities.Finance; using CPRNIMS.Infrastructure.Entities.Inventory; using CPRNIMS.Infrastructure.Entities.Items; using CPRNIMS.Infrastructure.Entities.PO; using CPRNIMS.Infrastructure.Entities.Purchasing; using CPRNIMS.Infrastructure.Entities.SMTP; using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Identity.EntityFrameworkCore; using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CPRNIMS.Infrastructure.Database { public class NonInventoryDbContext : IdentityDbContext { public NonInventoryDbContext(DbContextOptions options) : base(options) { } public virtual DbSet ItemCodes { get; set; } public virtual DbSet ItemList { get; set; } public virtual DbSet Items { get; set; } public DbSet Departments { get; set; } public DbSet IdentityRoles { get; set; } public DbSet AuthorizeRoles { get; set; } public DbSet UserRights { get; set; } public DbSet> IdentityUserRoles { get; set; } public DbSet ForgotPasswords { get; set; } public virtual DbSet Otps { get; set; } public DbSet Attachments { get; set; } public virtual DbSet AttachmentExtensions { get; set; } public virtual DbSet AttachmentFileTypes { get; set; } public virtual DbSet ItemAttachements { get; set; } public virtual DbSet ErrorMessages { get; set; } public virtual DbSet ControllerAccess { get; set; } public virtual DbSet ItemCategories { get; set; } public virtual DbSet UnitOfMessures { get; set; } public virtual DbSet ItemColors { get; set; } public virtual DbSet ItemLocalizations { get; set; } public virtual DbSet ItemCarts { get; set; } public virtual DbSet PRs { get; set; } public virtual DbSet Approved { get; set; } public virtual DbSet SMTPCredentials { get; set; } public virtual DbSet PRDetails { get; set; } public virtual DbSet NotificationByIds { get; set; } public virtual DbSet AlternativeOffers { get; set; } public virtual DbSet AlternativeOfferDetails { get; set; } public virtual DbSet MyPRWOCanvass { get; set; } public virtual DbSet PRLists { get; set; } public virtual DbSet PRItemList { get; set; } public virtual DbSet ItemApprovals { get; set; } public virtual DbSet ForReceivings { get; set; } public virtual DbSet RRReports { get; set; } public virtual DbSet ReceivingDetails { get; set; } public virtual DbSet RRDetails { get; set; } public virtual DbSet ForRRs { get; set; } public virtual DbSet RRs { get; set; } public virtual DbSet Canvasses { get; set; } public virtual DbSet ForCanvassFollowUps { get; set; } public virtual DbSet WOResponses { get; set; } public virtual DbSet WOResponseByIds { get; set; } public virtual DbSet ItemListWOEmails { get; set; } public virtual DbSet Suppliers { get; set; } public virtual DbSet RFQs { get; set; } public virtual DbSet BiddingItems { get; set; } public virtual DbSet SupplierBidByIds { get; set; } public virtual DbSet RFQPerSuppliers { get; set; } public virtual DbSet PerSuppliers { get; set; } public virtual DbSet CanvassSuppliers { get; set; } public virtual DbSet RFQReferences { get; set; } public virtual DbSet CanvassDetails { get; set; } public virtual DbSet CanvassGroupByPRNos { get; set; } public virtual DbSet ForCanvasses { get; set; } public virtual DbSet ForPOs { get; set; } public virtual DbSet CreatedPOs { get; set; } public virtual DbSet CustomPOs { get; set; } public virtual DbSet IndexCards { get; set; } public virtual DbSet ForPOApprovals { get; set; } public virtual DbSet ApprovedPOs { get; set; } public virtual DbSet PurchaseOrders { get; set; } public virtual DbSet POs { get; set; } public virtual DbSet PRPOSummaryCounts { get; set; } public virtual DbSet PRPOSummaryItems { get; set; } public virtual DbSet POItemDetails { get; set; } public virtual DbSet OtherCharges { get; set; } public virtual DbSet PortOfDischarges { get; set; } public virtual DbSet DocRequireds { get; set; } public virtual DbSet BiddingApprovals { get; set; } public virtual DbSet RRDetailss { get; set; } public virtual DbSet RRSeries { get; set; } public virtual DbSet PRWOCanvasses { get; set; } public virtual DbSet ForPayments { get; set; } public virtual DbSet Inventories { get; set; } public virtual DbSet ItemDetails { get; set; } public virtual DbSet PRItemDetails { get; set; } public virtual DbSet Lots { get; set; } public virtual DbSet LotQtyByItems { get; set; } public virtual DbSet RequestItems { get; set; } public virtual DbSet RequestItemDetails { get; set; } public virtual DbSet NotifUserKeys { get; set; } public virtual DbSet ItemListForPOs { get; set; } public virtual DbSet CreatedPOPerSupIds { get; set; } public virtual DbSet PRTrackings { get; set; } public virtual DbSet Dashboards { get; set; } public virtual DbSet PaymentTerms { get; set; } public virtual DbSet Incoterms { get; set; } public virtual DbSet CentralPONos { get; set; } public virtual DbSet DetailedPRTrackings { get; set; } public DbSet IncomingShipments { get; set; } public virtual DbSet IncomingShipmentDtos { get; set; } #region Automation Part public virtual DbSet AllForCanvasses { get; set; } #endregion protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Entity() .Property(e => e.IncotermsId) .ValueGeneratedOnAdd(); modelBuilder.Entity() .Property(e => e.CanvassSupplierId) .ValueGeneratedNever(); modelBuilder.Entity(b => { b.ToTable("DetailsedPRTracking"); b.HasNoKey(); }); modelBuilder.Entity(b => { b.ToTable("PRPOSummaryCount"); b.HasNoKey(); }); modelBuilder.Entity(b => { b.ToTable("PRPOSummaryItem"); b.HasNoKey(); }); modelBuilder.Entity(b => { b.ToTable("Users"); b.Property(u => u.Address).HasMaxLength(255); b.HasOne(u => u.Attachment) .WithOne(a => a.ApplicationUser) .HasForeignKey(a => a.AttachmentId) .IsRequired(false); // Allow null if there is no attachment }); modelBuilder.Entity(b => { b.ToTable("Attachments"); b.HasOne(a => a.AttachmentExtention) .WithOne() .HasForeignKey(a => a.ExtensionId) .IsRequired(false); // Allow null if there is no extension }); modelBuilder.Entity(b => { b.HasOne(u => u.Department) .WithMany() .HasForeignKey(u => u.DepartmentId) .IsRequired(false); }); modelBuilder.Entity(entity => { entity.ToTable("ForPO"); entity.HasNoKey(); }); modelBuilder.Entity(b => { b.ToTable("Departments"); }); modelBuilder.Entity(b => { b.ToTable("ControllerAccess"); }); modelBuilder.Entity(b => { b.ToTable("AttachmentExtensions"); }); modelBuilder.Entity>(b => { b.ToTable("UserClaims"); }); modelBuilder.Entity>(b => { b.ToTable("UserLogins"); }); modelBuilder.Entity>(b => { b.ToTable("RoleClaims"); }); modelBuilder.Entity>(b => { b.ToTable("UserTokens"); }); modelBuilder.Entity(b => { b.ToTable("Roles"); }); modelBuilder.Entity>(b => { b.ToTable("UserRoles"); }); } } }