Diplom_B/DB/MainDB.cs
2021-07-17 09:33:09 +05:00

190 lines
5.4 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
namespace Diplom_B.DB
{
public class MainDB : DbContext
{
public DbSet<User> Users { get; set; }
public DbSet<Status> Statusy { get; set; }
public DbSet<Dogovor> Dogovory { get; set; }
public DbSet<Izdelie> Izdeliya { get; set; }
public DbSet<DogIzd> DogIzds { get; set; }
public DbSet<Zakazchik> Zakazchiki { get; set; }
public DbSet<Document> Documenty { get; set; }
public DbSet<Izveschenie> Izvescheniya { get; set; }
public DbSet<DocIzv> DocIzvs { get; set; }
public DbSet<Postavka> Postavki { get; set; }
public DbSet<Oplata> Oplaty { get; set; }
public MainDB() {
//Database.Migrate();
Database.EnsureCreated();
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlite("Data Source=" + Directory.GetCurrentDirectory() + Path.DirectorySeparatorChar + "Diplom_B.db;");
}
protected override void OnModelCreating(ModelBuilder modelBuilder) { }
}
public class User
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string Name { get; set; }
public string Pass { get; set; }
public int Dog { get; set; }
public int Doc { get; set; }
public int Izv { get; set; }
public int Post { get; set; }
public int Izd { get; set; }
public int Zak { get; set; }
public int Set { get; set; }
public int Default { get; set; }
}
public class Status
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string Stat { get; set; }
}
public class Dogovor
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string DogNum { get; set; }
public List<DogIzd> DogIzds { get; set; }
[ForeignKey("Zakazchik")]
public int ZakazchikId { get; set; }
public Zakazchik Zakazchik { get; set; }
public DateTime DataPostavky { get; set; }
public string Garantiy { get; set; }
public string PrikazZapusk { get; set; }
public double Avans { get; set; }
public List<Oplata> Platejy { get; set; }
public string Primechanie { get; set; }
}
public class Izdelie
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string Name { get; set; }
public string DecNum { get; set; }
public string Shifr { get; set; }
public string Litera { get; set; }
public double Cena { get; set; }
public int OtdelRazrab { get; set; }
public string Ved { get; set; }
public string GlavKonstr { get; set; }
public List<Postavka> Postavky { get; set; }
public List<DogIzd> DogIzds { get; set; }
}
public class DogIzd
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public int Kolvo { get; set; }
[ForeignKey("Dogovor")]
public int DogovorId { get; set; }
public Dogovor Dogovor { get; set; }
[ForeignKey("Izdelie")]
public int IzdelieId { get; set; }
public Izdelie Izdelie { get; set; }
}
public class Zakazchik
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string Name { get; set; }
public string Adress { get; set; }
public string Phone { get; set; }
public string Email { get; set; }
public List<Dogovor> Dogovory { get; set; }
}
public class Document
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string InvNum { get; set; }
public string DecNum { get; set; }
public string Name { get; set; }
public string FileName { get; set; }
public byte[] FileStruct { get; set; }
public string Primechanie { get; set; }
public List<DocIzv> DocIzvs { get; set; }
}
public class Izveschenie
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string IzvNum { get; set; }
public int InvNum { get; set; }
public int IzmNum { get; set; }
public string UkazZad { get; set; }
public string UkazVnedr { get; set; }
public string FileName { get; set; }
public byte[] FileStruct { get; set; }
public List<DocIzv> DocIzvs { get; set; }
}
public class DocIzv
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[ForeignKey("Document")]
public int DocumentId { get; set; }
public Document Document { get; set; }
[ForeignKey("Izveschenie")]
public int IzveschenieId { get; set; }
public Izveschenie Izveschenie { get; set; }
}
public class Postavka
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string ZavNum { get; set; }
[ForeignKey("Dogovor")]
public int? DogovorId { get; set; }
public Dogovor Dogovor { get; set; }
[ForeignKey("Status")]
public int? StatNum { get; set; }
public Status Status { get; set; }
public DateTime DataPostavki { get; set; }
public string Primechanie { get; set; }
public int? IzdelieId { get; set; }
public Izdelie Izdelie { get; set; }
}
public class Oplata
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public double Summa { get; set; }
[ForeignKey("Dogovor")]
public int DogovorId { get; set; }
public Dogovor Dogovor { get; set; }
}
}