spDbContext.cs 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404
  1. using Microsoft.EntityFrameworkCore;
  2. using Microsoft.Extensions.Configuration;
  3. using System.Configuration;
  4. using wispro.sp.entity;
  5. namespace wispro.sp.api
  6. {
  7. public partial class spDbContext : DbContext
  8. {
  9. public spDbContext()
  10. {
  11. }
  12. public spDbContext(DbContextOptions<spDbContext> options)
  13. : base(options)
  14. {
  15. }
  16. public virtual DbSet<CalMonth> CalMonths { get; set; }
  17. public virtual DbSet<Customer> Customers { get; set; }
  18. public virtual DbSet<ItemStaff> ItemStaffs { get; set; }
  19. public virtual DbSet<PerformanceItem> PerformanceItems { get; set; }
  20. public virtual DbSet<StaffGrade> StaffGrades { get; set; }
  21. public virtual DbSet<VerifyCoefficient> VerifyCoefficients { get; set; }
  22. public virtual DbSet<Staff> Staffs { get; set; }
  23. public virtual DbSet<Message> Messages { get; set; }
  24. public virtual DbSet<MessageReadRecord> MessageReadRecords { get;set;}
  25. public virtual DbSet<MessagePerformanceItem> MessagePerformanceItems { get; set; }
  26. public virtual DbSet<AttachFile> AttachFiles { get; set; }
  27. public virtual DbSet<BasePointRule> BasePointRules { get; set; }
  28. protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
  29. {
  30. if (!optionsBuilder.IsConfigured)
  31. {
  32. optionsBuilder.UseSqlServer(utility.ConfigHelper.GetSectionValue("ConnectionStrings:DefaultConnect"));// "Data Source=(local);Initial Catalog=spDB;User ID=sa;Password=Lqftiu807005");// Configuration.GetConnectionString("DefaultConnect"));
  33. //ConfigurationManager.AppSettings["ValidAudience"]
  34. }
  35. }
  36. protected override void OnModelCreating(ModelBuilder modelBuilder)
  37. {
  38. modelBuilder.Entity<CalMonth>(entity =>
  39. {
  40. entity.ToTable("CalMonth");
  41. entity.Property(e => e.Year).HasColumnName("year");
  42. entity.Property(e => e.Month).HasColumnName("month");
  43. entity.Property(e => e.Status).HasColumnName("status");
  44. }
  45. ) ;
  46. modelBuilder.Entity<Customer>(entity =>
  47. {
  48. entity.ToTable("Customer");
  49. entity.Property(e => e.Address).HasMaxLength(500);
  50. entity.Property(e => e.ContactMan).HasMaxLength(50);
  51. entity.Property(e => e.Name)
  52. .IsRequired()
  53. .HasMaxLength(200);
  54. entity.Property(e => e.Phone).HasMaxLength(50);
  55. entity.HasOne(d => d.ResponseMan)
  56. .WithMany(p => p.Customers)
  57. .HasForeignKey(d => d.ResponseManId)
  58. .HasConstraintName("FK_Customer_Staff");
  59. });
  60. modelBuilder.Entity<ItemStaff>(entity =>
  61. {
  62. entity.HasKey(e => new { e.ItemId, e.DoPersonId });
  63. entity.ToTable("ItemStaff");
  64. entity.Property(e => e.PerformancePoint);//.HasColumnType("numeric(18, 2)");
  65. entity.HasOne(d => d.DoPerson)
  66. .WithMany(p => p.ItemStaffs)
  67. .HasForeignKey(d => d.DoPersonId)
  68. .OnDelete(DeleteBehavior.ClientSetNull)
  69. .HasConstraintName("FK_ItemStaff_Staff");
  70. entity.HasOne(d => d.Item)
  71. .WithMany(p => p.ItemStaffs)
  72. .HasForeignKey(d => d.ItemId)
  73. .OnDelete(DeleteBehavior.ClientSetNull)
  74. .HasConstraintName("FK_ItemStaff_PerformanceItem");
  75. });
  76. modelBuilder.Entity<PerformanceItem>(entity =>
  77. {
  78. entity.ToTable("PerformanceItem");
  79. entity.Property(e => e.ApplicationName).HasMaxLength(200);
  80. entity.Property(e => e.ApplicationType).HasMaxLength(50);
  81. entity.Property(e => e.BasePoint).HasColumnType("numeric(18, 2)");
  82. entity.Property(e => e.BusinessType).HasMaxLength(50);
  83. entity.Property(e => e.CaseCoefficient).HasMaxLength(10);
  84. entity.Property(e => e.CaseName).HasMaxLength(500);
  85. entity.Property(e => e.CaseNo).HasMaxLength(50);
  86. entity.Property(e => e.CaseStage).HasMaxLength(50);
  87. entity.Property(e => e.CaseState).HasMaxLength(50);
  88. entity.Property(e => e.CaseType).HasMaxLength(50);
  89. entity.Property(e => e.EntrustingDate).HasColumnType("date");
  90. entity.Property(e => e.CustomerLimitDate).HasColumnType("date");
  91. entity.Property(e => e.DoItem).HasMaxLength(50);
  92. entity.Property(e => e.DoItemCoefficient).HasMaxLength(50);
  93. entity.Property(e => e.DoItemMemo).HasMaxLength(500);
  94. entity.Property(e => e.DoItemState).HasMaxLength(50);
  95. entity.Property(e => e.FinalizationDate).HasColumnType("date");
  96. entity.Property(e => e.FinishedDate).HasColumnType("date");
  97. entity.Property(e => e.FirstDraftDate).HasColumnType("date");
  98. entity.Property(e => e.InternalDate).HasColumnType("date");
  99. entity.Property(e => e.OverDueMemo).HasMaxLength(100);
  100. entity.Property(e => e.PreOastaffId).HasColumnName("PreOAStaffId");
  101. entity.Property(e => e.ReturnDate).HasColumnType("date");
  102. entity.HasOne(d => d.Customer)
  103. .WithMany(p => p.PerformanceItems)
  104. .HasForeignKey(d => d.CustomerId)
  105. .HasConstraintName("FK_PerformanceItem_Customer");
  106. entity.HasOne(d => d.PreOastaff)
  107. .WithMany()
  108. .HasForeignKey(d => d.PreOastaffId)
  109. .HasConstraintName("FK_PerformanceItem_Staff");
  110. entity.HasOne(d => d.Reviewer)
  111. .WithMany(p => p.ReviewerItems)
  112. .HasForeignKey(d => d.ReviewerId)
  113. .HasConstraintName("FK_PerformanceItem_Reviewer");
  114. entity.HasOne(d => d.CalMonth)
  115. .WithMany(p => p.PerformanceItems)
  116. .HasForeignKey(d => d.CalMonthId)
  117. .HasConstraintName("FK_PerformanceItem_CalMonth");
  118. });
  119. modelBuilder.Entity<StaffGrade>(entity =>
  120. {
  121. entity.ToTable("StaffGrade");
  122. entity.Property(e => e.Coefficient);//.HasColumnType("numeric(18, 2)");
  123. entity.Property(e => e.Grade)
  124. .IsRequired()
  125. .HasMaxLength(5)
  126. .IsFixedLength(true);
  127. });
  128. modelBuilder.Entity<VerifyCoefficient>(entity =>
  129. {
  130. entity.HasKey(e => new { e.CheckerId, e.DoPersonId });
  131. entity.ToTable("VerifyCoefficient");
  132. entity.Property(e => e.Coefficient);//.HasColumnType("numeric(18, 2)");
  133. entity.HasOne(d => d.Checker)
  134. .WithMany(p => p.VerifyCoefficientCheckers)
  135. .HasForeignKey(d => d.CheckerId)
  136. .OnDelete(DeleteBehavior.ClientSetNull)
  137. .HasConstraintName("FK_VerifyCoefficient_StaffGrade");
  138. entity.HasOne(d => d.DoPerson)
  139. .WithMany(p => p.VerifyCoefficientDoPeople)
  140. .HasForeignKey(d => d.DoPersonId)
  141. .OnDelete(DeleteBehavior.ClientSetNull)
  142. .HasConstraintName("FK_VerifyCoefficient_StaffGrade1");
  143. });
  144. modelBuilder.Entity<Staff>(entity =>
  145. {
  146. entity.ToTable("Staff");
  147. //entity.Property(e => e.Id).ValueGeneratedNever();
  148. entity.Property(e => e.Account)
  149. .IsRequired()
  150. .HasMaxLength(50);
  151. entity.Property(e => e.Department).HasMaxLength(50);
  152. entity.Property(e => e.EntyDate).HasColumnType("date");
  153. entity.Property(e => e.IsCalPerformsnce).HasColumnName("isCalPerformsnce");
  154. entity.Property(e => e.Name)
  155. .IsRequired()
  156. .HasMaxLength(50);
  157. entity.Property(e => e.Password).IsRequired();
  158. entity.Property(e => e.Status)
  159. .IsRequired()
  160. .HasMaxLength(25);
  161. entity.Property(e => e.WorkPlace).HasMaxLength(50);
  162. entity.HasOne(d => d.StaffGrade)
  163. .WithMany(p => p.Staff)
  164. .HasForeignKey(d => d.StaffGradeId)
  165. .OnDelete(DeleteBehavior.ClientSetNull)
  166. .HasConstraintName("FK_Staff_StaffGrade");
  167. });
  168. modelBuilder.Entity<Message>(entity =>
  169. {
  170. //entity.HasKey(e => e.Id);
  171. entity.ToTable("Message");
  172. entity.Property(e => e.Type);
  173. entity.Property(e => e.MessageInfo).HasMaxLength(500);
  174. entity.HasOne(d => d.From)
  175. .WithMany()
  176. .HasForeignKey(d => d.FromId)
  177. .OnDelete(DeleteBehavior.ClientSetNull)
  178. .HasConstraintName("FK_From_Staff");
  179. });
  180. modelBuilder.Entity<MessageReadRecord>(entity =>
  181. {
  182. entity.HasKey(e => new { e.MessageId,e.StaffId});
  183. entity.ToTable("MessageReadRecord");
  184. entity.Property(e => e.isReaded);
  185. entity.HasOne(d => d.Staff)
  186. .WithMany()
  187. .HasForeignKey(d => d.StaffId)
  188. .OnDelete(DeleteBehavior.ClientSetNull)
  189. .HasConstraintName("FK_MessageReadRecord_Staff");
  190. entity.HasOne(d => d.Message)
  191. .WithMany()
  192. .HasForeignKey(d => d.MessageId)
  193. .OnDelete(DeleteBehavior.ClientSetNull)
  194. .HasConstraintName("FK_MessageReadRecord_Message");
  195. });
  196. modelBuilder.Entity<MessagePerformanceItem>( entity =>
  197. {
  198. entity.HasKey(e=> new { e.ItemId,e.MessageId});
  199. entity.HasOne(d => d.Message)
  200. .WithMany(m => m.RelatedItem)
  201. .HasForeignKey(d => d.MessageId)
  202. .HasConstraintName("FK_MessagePerformanceItem_Message");
  203. entity.HasOne(d => d.Item )
  204. .WithMany()
  205. .HasForeignKey(d => d.ItemId)
  206. .HasConstraintName("FK_MessagePerformanceItem_Item");
  207. });
  208. modelBuilder.Entity<AttachFile>(entity =>
  209. {
  210. entity.ToTable("AttachFile");
  211. entity.Property(e=>e.Name).HasMaxLength(200);
  212. entity.Property(e => e.SavePath).HasMaxLength(200);
  213. entity.HasOne(d => d.UploadUser)
  214. .WithMany()
  215. .HasForeignKey(d => d.UploadUserId)
  216. .HasConstraintName("FK_AttachFile_UpdateUser");
  217. });
  218. modelBuilder.Entity<StaffGrade>().HasData(
  219. new StaffGrade[]
  220. {
  221. new StaffGrade() {Id=1, Grade = "S级", Coefficient = 1.2},
  222. new StaffGrade() {Id=2, Grade = "A3级", Coefficient = 1.1},
  223. new StaffGrade() {Id =3, Grade = "A2级", Coefficient = 1.1},
  224. new StaffGrade() {Id=4, Grade = "A1级", Coefficient = 1.1},
  225. new StaffGrade() {Id=5, Grade = "B3级", Coefficient = 1.0},
  226. new StaffGrade() {Id=6, Grade = "B2级", Coefficient = 1.0},
  227. new StaffGrade() {Id=7, Grade = "B1级", Coefficient = 0.9},
  228. new StaffGrade() {Id=8, Grade = "C3级", Coefficient = 0.9},
  229. new StaffGrade() {Id=9, Grade = "C2级", Coefficient = 0.7},
  230. new StaffGrade() {Id= 10, Grade = "C1级", Coefficient = 0.7},
  231. new StaffGrade() {Id=11, Grade = "D3级", Coefficient = 0.6},
  232. new StaffGrade() {Id=12, Grade = "D2级", Coefficient = 0.6},
  233. new StaffGrade() {Id=13, Grade = "D1级", Coefficient = 0.5},
  234. new StaffGrade() {Id=14, Grade = "A级", Coefficient = 1.1},
  235. new StaffGrade() {Id=15, Grade = "C级", Coefficient = 1.0},
  236. new StaffGrade() {Id=16, Grade = "D级", Coefficient = 0.9}
  237. });
  238. modelBuilder.Entity<VerifyCoefficient>().HasData(
  239. new VerifyCoefficient[]
  240. {
  241. new VerifyCoefficient() { CheckerId = 1, DoPersonId =5, Coefficient =0.3},
  242. new VerifyCoefficient() { CheckerId = 1, DoPersonId =6, Coefficient =0.3},
  243. new VerifyCoefficient() { CheckerId = 1, DoPersonId =7, Coefficient =0.3},
  244. new VerifyCoefficient() { CheckerId = 1, DoPersonId =8, Coefficient =0.3},
  245. new VerifyCoefficient() { CheckerId = 1, DoPersonId =9, Coefficient =0.4},
  246. new VerifyCoefficient() { CheckerId = 1, DoPersonId =10, Coefficient =0.4},
  247. new VerifyCoefficient() { CheckerId = 1, DoPersonId =11, Coefficient =0.5},
  248. new VerifyCoefficient() { CheckerId = 1, DoPersonId =12, Coefficient =0.5},
  249. new VerifyCoefficient() { CheckerId = 1, DoPersonId =13, Coefficient =0.6},
  250. new VerifyCoefficient() { CheckerId = 2, DoPersonId =5, Coefficient =0.2},
  251. new VerifyCoefficient() { CheckerId = 2, DoPersonId =6, Coefficient =0.2},
  252. new VerifyCoefficient() { CheckerId = 2, DoPersonId =7, Coefficient =0.2},
  253. new VerifyCoefficient() { CheckerId = 2, DoPersonId =8, Coefficient =0.2},
  254. new VerifyCoefficient() { CheckerId = 2, DoPersonId =9, Coefficient =0.3},
  255. new VerifyCoefficient() { CheckerId = 2, DoPersonId =10, Coefficient =0.3},
  256. new VerifyCoefficient() { CheckerId = 2, DoPersonId =11, Coefficient =0.4},
  257. new VerifyCoefficient() { CheckerId = 2, DoPersonId =12, Coefficient =0.4},
  258. new VerifyCoefficient() { CheckerId = 2, DoPersonId =13, Coefficient =0.5},
  259. new VerifyCoefficient() { CheckerId = 3, DoPersonId =5, Coefficient =0.2},
  260. new VerifyCoefficient() { CheckerId = 3, DoPersonId =6, Coefficient =0.2},
  261. new VerifyCoefficient() { CheckerId = 3, DoPersonId =7, Coefficient =0.2},
  262. new VerifyCoefficient() { CheckerId = 3, DoPersonId =8, Coefficient =0.2},
  263. new VerifyCoefficient() { CheckerId = 3, DoPersonId =9, Coefficient =0.3},
  264. new VerifyCoefficient() { CheckerId = 3, DoPersonId =10, Coefficient =0.3},
  265. new VerifyCoefficient() { CheckerId = 3, DoPersonId =11, Coefficient =0.4},
  266. new VerifyCoefficient() { CheckerId = 3, DoPersonId =12, Coefficient =0.4},
  267. new VerifyCoefficient() { CheckerId = 3, DoPersonId =13, Coefficient =0.5},
  268. new VerifyCoefficient() { CheckerId = 4, DoPersonId =5, Coefficient =0.2},
  269. new VerifyCoefficient() { CheckerId = 4, DoPersonId =6, Coefficient =0.2},
  270. new VerifyCoefficient() { CheckerId = 4, DoPersonId =7, Coefficient =0.2},
  271. new VerifyCoefficient() { CheckerId = 4, DoPersonId =8, Coefficient =0.2},
  272. new VerifyCoefficient() { CheckerId = 4, DoPersonId =9, Coefficient =0.3},
  273. new VerifyCoefficient() { CheckerId = 4, DoPersonId =10, Coefficient =0.3},
  274. new VerifyCoefficient() { CheckerId = 4, DoPersonId =11, Coefficient =0.4},
  275. new VerifyCoefficient() { CheckerId = 4, DoPersonId =12, Coefficient =0.4},
  276. new VerifyCoefficient() { CheckerId = 4, DoPersonId =13, Coefficient =0.5},
  277. new VerifyCoefficient() { CheckerId = 5, DoPersonId =5, Coefficient =0.2},
  278. new VerifyCoefficient() { CheckerId = 5, DoPersonId =6, Coefficient =0.2},
  279. new VerifyCoefficient() { CheckerId = 5, DoPersonId =7, Coefficient =0.2},
  280. new VerifyCoefficient() { CheckerId = 5, DoPersonId =8, Coefficient =0.2},
  281. new VerifyCoefficient() { CheckerId = 5, DoPersonId =9, Coefficient =0.3},
  282. new VerifyCoefficient() { CheckerId = 5, DoPersonId =10, Coefficient =0.3},
  283. new VerifyCoefficient() { CheckerId = 5, DoPersonId =11, Coefficient =0.4},
  284. new VerifyCoefficient() { CheckerId = 5, DoPersonId =12, Coefficient =0.4},
  285. new VerifyCoefficient() { CheckerId = 5, DoPersonId =13, Coefficient =0.5},
  286. new VerifyCoefficient() { CheckerId = 6, DoPersonId =5, Coefficient =0.2},
  287. new VerifyCoefficient() { CheckerId = 6, DoPersonId =6, Coefficient =0.2},
  288. new VerifyCoefficient() { CheckerId = 6, DoPersonId =7, Coefficient =0.2},
  289. new VerifyCoefficient() { CheckerId = 6, DoPersonId =8, Coefficient =0.2},
  290. new VerifyCoefficient() { CheckerId = 6, DoPersonId =9, Coefficient =0.3},
  291. new VerifyCoefficient() { CheckerId = 6, DoPersonId =10, Coefficient =0.3},
  292. new VerifyCoefficient() { CheckerId = 6, DoPersonId =11, Coefficient =0.4},
  293. new VerifyCoefficient() { CheckerId = 6, DoPersonId =12, Coefficient =0.4},
  294. new VerifyCoefficient() { CheckerId = 6, DoPersonId =13, Coefficient =0.5}
  295. }
  296. );
  297. OnModelCreatingPartial(modelBuilder);
  298. }
  299. partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
  300. }
  301. }