дб и вьюв
This commit is contained in:
parent
341de52e3d
commit
6b1213db93
36
FactoryView/FactoryDatabaseImplement/FactoryDatabase.cs
Normal file
36
FactoryView/FactoryDatabaseImplement/FactoryDatabase.cs
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
using FactoryDatabaseImplement.Models;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace FactoryDatabaseImplement
|
||||||
|
{
|
||||||
|
public class FactoryDatabase : DbContext
|
||||||
|
{
|
||||||
|
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
||||||
|
{
|
||||||
|
if (!optionsBuilder.IsConfigured)
|
||||||
|
{
|
||||||
|
optionsBuilder.UseSqlServer(); //todo привязывай данные
|
||||||
|
}
|
||||||
|
base.OnConfiguring(optionsBuilder);
|
||||||
|
}
|
||||||
|
|
||||||
|
public virtual DbSet<Master> Masters { set; get; }
|
||||||
|
public virtual DbSet<Engenier> Engeniers { set; get; }
|
||||||
|
public virtual DbSet<Reinforced> Reinforceds { set; get; }
|
||||||
|
public virtual DbSet<Component> Components { set; get; }
|
||||||
|
public virtual DbSet<ReinforcedComponent> ReinforcedComponents { set; get; }
|
||||||
|
public virtual DbSet<Lathe> Lathes { set; get; }
|
||||||
|
public virtual DbSet<LatheBusy> LatheBusies { set; get; }
|
||||||
|
public virtual DbSet<LatheReinforced> LatheReinforcedes { set; get; }
|
||||||
|
public virtual DbSet<Plan> Plans { set; get; }
|
||||||
|
public virtual DbSet<Stage> Stages { set; get; }
|
||||||
|
public virtual DbSet<PlanLathe> PlanLathes { set; get; }
|
||||||
|
public virtual DbSet<PlanComponents> PlanComponents { set; get; }
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,84 @@
|
|||||||
|
using FactoryContracts.BindingModels;
|
||||||
|
using FactoryContracts.SearchModels;
|
||||||
|
using FactoryContracts.StoragesContracts;
|
||||||
|
using FactoryContracts.ViewModels;
|
||||||
|
using FactoryDatabaseImplement.Models;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace FactoryDatabaseImplement.Implements
|
||||||
|
{
|
||||||
|
public class ComponentStorage : IComponentStorage
|
||||||
|
{
|
||||||
|
public List<ComponentViewModel> GetFullList()
|
||||||
|
{
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
return context.Components.Select(x => x.GetViewModel).ToList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<ComponentViewModel> GetFilteredList(ComponentSearchModel model)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(model.ComponentName))
|
||||||
|
{
|
||||||
|
return new();
|
||||||
|
}
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
return context.Components.Where(x => x.ComponentName.Contains(model.ComponentName)).Select(x => x.GetViewModel).ToList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public ComponentViewModel? GetElement(ComponentSearchModel model)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(model.ComponentName) && !model.Id.HasValue)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
return context.Components.FirstOrDefault(x =>
|
||||||
|
(!string.IsNullOrEmpty(model.ComponentName) && x.ComponentName == model.ComponentName) ||
|
||||||
|
(model.Id.HasValue && x.Id == model.Id))
|
||||||
|
?.GetViewModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ComponentViewModel? Insert(ComponentBindingModel model)
|
||||||
|
{
|
||||||
|
var newComponent = Component.Create(model);
|
||||||
|
if (newComponent == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
context.Components.Add(newComponent);
|
||||||
|
context.SaveChanges();
|
||||||
|
return newComponent.GetViewModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ComponentViewModel? Update(ComponentBindingModel model)
|
||||||
|
{
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
var component = context.Components.FirstOrDefault(x => x.Id == model.Id);
|
||||||
|
if (component == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
component.Update(model);
|
||||||
|
context.SaveChanges();
|
||||||
|
return component.GetViewModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ComponentViewModel? Delete(ComponentBindingModel model)
|
||||||
|
{
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
var element = context.Components.FirstOrDefault(rec => rec.Id == model.Id);
|
||||||
|
if (element != null)
|
||||||
|
{
|
||||||
|
context.Components.Remove(element);
|
||||||
|
context.SaveChanges();
|
||||||
|
return element.GetViewModel;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,83 @@
|
|||||||
|
using FactoryContracts.BindingModels;
|
||||||
|
using FactoryContracts.SearchModels;
|
||||||
|
using FactoryContracts.ViewModels;
|
||||||
|
using FactoryDatabaseImplement.Models;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace FactoryDatabaseImplement.Implements
|
||||||
|
{
|
||||||
|
public class EngenierStorage
|
||||||
|
{
|
||||||
|
public EngenierViewModel? Delete(EngenierBindingModel model)
|
||||||
|
{
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
var element = context.Engeniers.FirstOrDefault(rec => rec.Id == model.Id);
|
||||||
|
if (element != null)
|
||||||
|
{
|
||||||
|
context.Engeniers.Remove(element);
|
||||||
|
context.SaveChanges();
|
||||||
|
return element.GetViewModel;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public EngenierViewModel? GetElement(EngenierSearchModel model)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(model.Email) && string.IsNullOrEmpty(model.Password) && !model.Id.HasValue)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
return context.Engeniers.FirstOrDefault(x =>
|
||||||
|
(!string.IsNullOrEmpty(model.Email) && x.Email == model.Email && !string.IsNullOrEmpty(model.Password) && x.Password == model.Password) ||
|
||||||
|
(model.Id.HasValue && x.Id == model.Id))
|
||||||
|
?.GetViewModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<EngenierViewModel> GetFilteredList(EngenierSearchModel model)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(model.Name))
|
||||||
|
{
|
||||||
|
return new();
|
||||||
|
}
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
return context.Engeniers.Where(x => x.Fio.Contains(model.Name)).Select(x => x.GetViewModel).ToList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<EngenierViewModel> GetFullList()
|
||||||
|
{
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
return context.Engeniers.Select(x => x.GetViewModel).ToList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public EngenierViewModel? Insert(EngenierBindingModel model)
|
||||||
|
{
|
||||||
|
var newEngenier = Engenier.Create(model);
|
||||||
|
if (newEngenier == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
context.Engeniers.Add(newEngenier);
|
||||||
|
context.SaveChanges();
|
||||||
|
return newEngenier.GetViewModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public EngenierViewModel? Update(EngenierBindingModel model)
|
||||||
|
{
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
var engenier = context.Engeniers.FirstOrDefault(x => x.Id == model.Id);
|
||||||
|
if (engenier == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
engenier.Update(model);
|
||||||
|
context.SaveChanges();
|
||||||
|
return engenier.GetViewModel;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,81 @@
|
|||||||
|
using FactoryContracts.BindingModels;
|
||||||
|
using FactoryContracts.SearchModels;
|
||||||
|
using FactoryContracts.StoragesContracts;
|
||||||
|
using FactoryContracts.ViewModels;
|
||||||
|
using FactoryDatabaseImplement.Models;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace FactoryDatabaseImplement.Implements
|
||||||
|
{
|
||||||
|
public class LatheBusyStorage : ILatheBusyStorage
|
||||||
|
{
|
||||||
|
public List<LatheBusyViewModel> GetFullList()
|
||||||
|
{
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
return context.LatheBusies.Select(x => x.GetViewModel).ToList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<LatheBusyViewModel> GetFilteredList(LatheBusySearchModel model)
|
||||||
|
{
|
||||||
|
if (model.Id is null)
|
||||||
|
{
|
||||||
|
return new();
|
||||||
|
}
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
return context.LatheBusies.Where(x => x.Percent == model.Percent).Select(x => x.GetViewModel).ToList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public LatheBusyViewModel? GetElement(LatheBusySearchModel model)
|
||||||
|
{
|
||||||
|
if (model.Id is null)
|
||||||
|
{
|
||||||
|
return new();
|
||||||
|
}
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
return context.LatheBusies.FirstOrDefault(x => x.Percent == model.Percent)?.GetViewModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LatheBusyViewModel? Insert(LatheBusyBindingModel model)
|
||||||
|
{
|
||||||
|
var newLatheBusy = LatheBusy.Create(new FactoryDatabase(), model);
|
||||||
|
if (newLatheBusy == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
context.LatheBusies.Add(newLatheBusy);
|
||||||
|
context.SaveChanges();
|
||||||
|
return newLatheBusy.GetViewModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LatheBusyViewModel? Update(LatheBusyBindingModel model)
|
||||||
|
{
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
var latheBusy = context.LatheBusies.FirstOrDefault(x => x.Id == model.Id);
|
||||||
|
if (latheBusy == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
latheBusy.Update(model);
|
||||||
|
context.SaveChanges();
|
||||||
|
return latheBusy.GetViewModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LatheBusyViewModel? Delete(LatheBusyBindingModel model)
|
||||||
|
{
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
var element = context.LatheBusies.FirstOrDefault(rec => rec.Id == model.Id);
|
||||||
|
if (element != null)
|
||||||
|
{
|
||||||
|
context.LatheBusies.Remove(element);
|
||||||
|
context.SaveChanges();
|
||||||
|
return element.GetViewModel;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,95 @@
|
|||||||
|
using FactoryContracts.BindingModels;
|
||||||
|
using FactoryContracts.SearchModels;
|
||||||
|
using FactoryContracts.StoragesContracts;
|
||||||
|
using FactoryContracts.ViewModels;
|
||||||
|
using FactoryDatabaseImplement.Models;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace FactoryDatabaseImplement.Implements
|
||||||
|
{
|
||||||
|
public class LatheStorage : ILatheStorage
|
||||||
|
{
|
||||||
|
public List<LatheViewModel> GetFullList()
|
||||||
|
{
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
return context.Lathes.Select(x => x.GetViewModel).ToList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<LatheViewModel> GetFilteredList(LatheSearchModel model)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(model.LatheName))
|
||||||
|
{
|
||||||
|
return new();
|
||||||
|
}
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
return context.Lathes.Where(x => x.LatheName.Contains(model.LatheName)).Select(x => x.GetViewModel).ToList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public LatheViewModel? GetElement(LatheSearchModel model)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(model.LatheName) && !model.Id.HasValue)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
return context.Lathes.FirstOrDefault(x =>
|
||||||
|
(!string.IsNullOrEmpty(model.LatheName) && x.LatheName == model.LatheName) ||
|
||||||
|
(model.Id.HasValue && x.Id == model.Id))
|
||||||
|
?.GetViewModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LatheViewModel? Insert(LatheBindingModel model)
|
||||||
|
{
|
||||||
|
var newLathe = Lathe.Create(new FactoryDatabase(), model);
|
||||||
|
if (newLathe == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
context.Lathes.Add(newLathe);
|
||||||
|
context.SaveChanges();
|
||||||
|
return newLathe.GetViewModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LatheViewModel? Update(LatheBindingModel model)
|
||||||
|
{
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
using var transaction = context.Database.BeginTransaction();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var Lathe = context.Lathes.FirstOrDefault(rec => rec.Id == model.Id);
|
||||||
|
if (Lathe == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
Lathe.Update(model);
|
||||||
|
context.SaveChanges();
|
||||||
|
Lathe.UpdateComponents(context, model);
|
||||||
|
transaction.Commit();
|
||||||
|
return Lathe.GetViewModel;
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
transaction.Rollback();
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public LatheViewModel? Delete(LatheBindingModel model)
|
||||||
|
{
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
var element = context.Lathes.FirstOrDefault(rec => rec.Id == model.Id);
|
||||||
|
if (element != null)
|
||||||
|
{
|
||||||
|
context.Lathes.Remove(element);
|
||||||
|
context.SaveChanges();
|
||||||
|
return element.GetViewModel;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
105
FactoryView/FactoryDatabaseImplement/Implements/MasterStorage.cs
Normal file
105
FactoryView/FactoryDatabaseImplement/Implements/MasterStorage.cs
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
using FactoryContracts.BindingModels;
|
||||||
|
using FactoryContracts.SearchModels;
|
||||||
|
using FactoryContracts.StoragesContracts;
|
||||||
|
using FactoryContracts.ViewModels;
|
||||||
|
using FactoryDatabaseImplement.Models;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace FactoryDatabaseImplement.Implements
|
||||||
|
{
|
||||||
|
public class MasterStorage : IMasterStorage
|
||||||
|
{
|
||||||
|
public List<MasterViewModel> GetFullList()
|
||||||
|
{
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
|
||||||
|
return context.Masters
|
||||||
|
.Select(x => x.GetViewModel)
|
||||||
|
.ToList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<MasterViewModel> GetFilteredList(MasterSearchModel model)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(model.Email))
|
||||||
|
{
|
||||||
|
return new();
|
||||||
|
}
|
||||||
|
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
|
||||||
|
return context.Masters
|
||||||
|
.Where(x => x.Email.Contains(model.Email))
|
||||||
|
.Select(x => x.GetViewModel)
|
||||||
|
.ToList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public MasterViewModel? GetElement(MasterSearchModel model)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(model.Email) && !model.Id.HasValue)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
|
||||||
|
return context.Masters
|
||||||
|
.FirstOrDefault(x => (!string.IsNullOrEmpty(model.Email) && x.Email == model.Email) ||
|
||||||
|
(model.Id.HasValue && x.Id == model.Id))
|
||||||
|
?.GetViewModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public MasterViewModel? Insert(MasterBindingModel model)
|
||||||
|
{
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
|
||||||
|
var newMaster = Master.Create(context, model);
|
||||||
|
|
||||||
|
if (newMaster == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
context.Masters.Add(newMaster);
|
||||||
|
context.SaveChanges();
|
||||||
|
|
||||||
|
return newMaster.GetViewModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public MasterViewModel? Update(MasterBindingModel model)
|
||||||
|
{
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
var master = context.Masters.FirstOrDefault(x => x.Id == model.Id);
|
||||||
|
|
||||||
|
if (master == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
master.Update(model);
|
||||||
|
context.SaveChanges();
|
||||||
|
|
||||||
|
return master.GetViewModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public MasterViewModel? Delete(MasterBindingModel model)
|
||||||
|
{
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
var element = context.Masters.FirstOrDefault(rec => rec.Id == model.Id);
|
||||||
|
|
||||||
|
if (element != null)
|
||||||
|
{
|
||||||
|
context.Masters.Remove(element);
|
||||||
|
context.SaveChanges();
|
||||||
|
|
||||||
|
return element.GetViewModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
101
FactoryView/FactoryDatabaseImplement/Implements/PlanStorage.cs
Normal file
101
FactoryView/FactoryDatabaseImplement/Implements/PlanStorage.cs
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using FactoryContracts.BindingModels;
|
||||||
|
using FactoryContracts.SearchModels;
|
||||||
|
using FactoryContracts.StoragesContracts;
|
||||||
|
using FactoryContracts.ViewModels;
|
||||||
|
using FactoryDatabaseImplement.Models;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using FactoryDatabaseImplement;
|
||||||
|
|
||||||
|
namespace PrecastConcretePlantDatabaseImplement.Implements
|
||||||
|
{
|
||||||
|
public class PlanStorage : IPlanStorage
|
||||||
|
{
|
||||||
|
public List<PlanViewModel> GetFullList()
|
||||||
|
{
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
return context.Plans.Include(x => x.Components).ThenInclude(x => x.Component).Include(x => x.Lathes).ThenInclude(x => x.Lathe).ToList()
|
||||||
|
.Select(x => x.GetViewModel).ToList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<PlanViewModel> GetFilteredList(PlanSearchModel model)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(model.PlanName))
|
||||||
|
{
|
||||||
|
return new();
|
||||||
|
}
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
return context.Plans.Include(x => x.Components).ThenInclude(x => x.Component).Include(x => x.Lathes).ThenInclude(x => x.Lathe)
|
||||||
|
.Where(x => x.PlanName.Contains(model.PlanName)).ToList().Select(x => x.GetViewModel).ToList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public PlanViewModel? GetElement(PlanSearchModel model)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(model.PlanName) && !model.Id.HasValue)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
return context.Plans.Include(x => x.Components).ThenInclude(x => x.Component).Include(x => x.Lathes).ThenInclude(x => x.Lathe)
|
||||||
|
.FirstOrDefault(x =>
|
||||||
|
(!string.IsNullOrEmpty(model.PlanName) && x.PlanName == model.PlanName) ||
|
||||||
|
(model.Id.HasValue && x.Id == model.Id))
|
||||||
|
?.GetViewModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PlanViewModel? Insert(PlanBindingModel model)
|
||||||
|
{
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
var newPlan = Plan.Create(context, model);
|
||||||
|
if (newPlan == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
context.Plans.Add(newPlan);
|
||||||
|
context.SaveChanges();
|
||||||
|
return newPlan.GetViewModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PlanViewModel? Update(PlanBindingModel model)
|
||||||
|
{
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
using var transaction = context.Database.BeginTransaction();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var Plan = context.Plans.FirstOrDefault(rec => rec.Id == model.Id);
|
||||||
|
if (Plan == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
Plan.Update(model);
|
||||||
|
context.SaveChanges();
|
||||||
|
Plan.UpdateComponents(context, model);
|
||||||
|
Plan.UpdateLathes(context, model);
|
||||||
|
transaction.Commit();
|
||||||
|
return Plan.GetViewModel;
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
transaction.Rollback();
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public PlanViewModel? Delete(PlanBindingModel model)
|
||||||
|
{
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
var element = context.Plans.Include(x => x.Components).Include(x => x.Lathes).FirstOrDefault(rec => rec.Id == model.Id);
|
||||||
|
if (element != null)
|
||||||
|
{
|
||||||
|
context.Plans.Remove(element);
|
||||||
|
context.SaveChanges();
|
||||||
|
return element.GetViewModel;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,100 @@
|
|||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using FactoryContracts.BindingModels;
|
||||||
|
using FactoryContracts.SearchModels;
|
||||||
|
using FactoryContracts.StoragesContracts;
|
||||||
|
using FactoryContracts.ViewModels;
|
||||||
|
using FactoryDatabaseImplement.Models;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using FactoryDatabaseImplement;
|
||||||
|
|
||||||
|
namespace PrecastConcretePlantDatabaseImplement.Implements
|
||||||
|
{
|
||||||
|
public class ReinforcedStorage : IReinforcedStorage
|
||||||
|
{
|
||||||
|
public List<ReinforcedViewModel> GetFullList()
|
||||||
|
{
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
return context.Reinforceds.Include(x => x.Components).ThenInclude(x => x.Component).ToList()
|
||||||
|
.Select(x => x.GetViewModel).ToList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<ReinforcedViewModel> GetFilteredList(ReinforcedSearchModel model)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(model.ReinforcedName))
|
||||||
|
{
|
||||||
|
return new();
|
||||||
|
}
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
return context.Reinforceds.Include(x => x.Components).ThenInclude(x => x.Component)
|
||||||
|
.Where(x => x.ReinforcedName.Contains(model.ReinforcedName)).ToList().Select(x => x.GetViewModel).ToList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public ReinforcedViewModel? GetElement(ReinforcedSearchModel model)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(model.ReinforcedName) && !model.Id.HasValue)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
return context.Reinforceds.Include(x => x.Components).ThenInclude(x => x.Component)
|
||||||
|
.FirstOrDefault(x =>
|
||||||
|
(!string.IsNullOrEmpty(model.ReinforcedName) && x.ReinforcedName == model.ReinforcedName) ||
|
||||||
|
(model.Id.HasValue && x.Id == model.Id))
|
||||||
|
?.GetViewModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ReinforcedViewModel? Insert(ReinforcedBindingModel model)
|
||||||
|
{
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
var newReinforced = Reinforced.Create(context, model);
|
||||||
|
if (newReinforced == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
context.Reinforceds.Add(newReinforced);
|
||||||
|
context.SaveChanges();
|
||||||
|
return newReinforced.GetViewModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ReinforcedViewModel? Update(ReinforcedBindingModel model)
|
||||||
|
{
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
using var transaction = context.Database.BeginTransaction();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var Reinforced = context.Reinforceds.FirstOrDefault(rec => rec.Id == model.Id);
|
||||||
|
if (Reinforced == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
Reinforced.Update(model);
|
||||||
|
context.SaveChanges();
|
||||||
|
Reinforced.UpdateComponents(context, model);
|
||||||
|
transaction.Commit();
|
||||||
|
return Reinforced.GetViewModel;
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
transaction.Rollback();
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public ReinforcedViewModel? Delete(ReinforcedBindingModel model)
|
||||||
|
{
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
var element = context.Reinforceds.Include(x => x.Components).FirstOrDefault(rec => rec.Id == model.Id);
|
||||||
|
if (element != null)
|
||||||
|
{
|
||||||
|
context.Reinforceds.Remove(element);
|
||||||
|
context.SaveChanges();
|
||||||
|
return element.GetViewModel;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
104
FactoryView/FactoryDatabaseImplement/Implements/StageStorage.cs
Normal file
104
FactoryView/FactoryDatabaseImplement/Implements/StageStorage.cs
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
using FactoryContracts.BindingModels;
|
||||||
|
using FactoryContracts.SearchModels;
|
||||||
|
using FactoryContracts.StoragesContracts;
|
||||||
|
using FactoryContracts.ViewModels;
|
||||||
|
using FactoryDatabaseImplement.Models;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace FactoryDatabaseImplement.Implements
|
||||||
|
{
|
||||||
|
public class StageStorage : IStageStorage
|
||||||
|
{
|
||||||
|
public List<StageViewModel> GetFullList()
|
||||||
|
{
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
|
||||||
|
return context.Stages
|
||||||
|
.Select(x => x.GetViewModel)
|
||||||
|
.ToList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<StageViewModel> GetFilteredList(StageSearchModel model)
|
||||||
|
{
|
||||||
|
if (model.Id is null)
|
||||||
|
{
|
||||||
|
return new();
|
||||||
|
}
|
||||||
|
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
|
||||||
|
return context.Stages
|
||||||
|
.Where(x => x.Id.Equals(model.Id))
|
||||||
|
.Select(x => x.GetViewModel)
|
||||||
|
.ToList();
|
||||||
|
}
|
||||||
|
|
||||||
|
public StageViewModel? GetElement(StageSearchModel model)
|
||||||
|
{
|
||||||
|
if (model.Id is null)
|
||||||
|
{
|
||||||
|
return new();
|
||||||
|
}
|
||||||
|
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
|
||||||
|
return context.Stages
|
||||||
|
.FirstOrDefault(x => x.Id.Equals(model.Id))
|
||||||
|
?.GetViewModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public StageViewModel? Insert(StageBindingModel model)
|
||||||
|
{
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
|
||||||
|
var newStage = Stage.Create(context, model);
|
||||||
|
|
||||||
|
if (newStage == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
context.Stages.Add(newStage);
|
||||||
|
context.SaveChanges();
|
||||||
|
|
||||||
|
return newStage.GetViewModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public StageViewModel? Update(StageBindingModel model)
|
||||||
|
{
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
var Stage = context.Stages.FirstOrDefault(x => x.Id == model.Id);
|
||||||
|
|
||||||
|
if (Stage == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
Stage.Update(model);
|
||||||
|
context.SaveChanges();
|
||||||
|
|
||||||
|
return Stage.GetViewModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
public StageViewModel? Delete(StageBindingModel model)
|
||||||
|
{
|
||||||
|
using var context = new FactoryDatabase();
|
||||||
|
var element = context.Stages.FirstOrDefault(rec => rec.Id == model.Id);
|
||||||
|
|
||||||
|
if (element != null)
|
||||||
|
{
|
||||||
|
context.Stages.Remove(element);
|
||||||
|
context.SaveChanges();
|
||||||
|
|
||||||
|
return element.GetViewModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
447
FactoryView/FactoryDatabaseImplement/Migrations/20230402190902_initmigration.Designer.cs
generated
Normal file
447
FactoryView/FactoryDatabaseImplement/Migrations/20230402190902_initmigration.Designer.cs
generated
Normal file
@ -0,0 +1,447 @@
|
|||||||
|
// <auto-generated />
|
||||||
|
using FactoryDatabaseImplement;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||||
|
using Microsoft.EntityFrameworkCore.Metadata;
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace FactoryDatabaseImplement.Migrations
|
||||||
|
{
|
||||||
|
[DbContext(typeof(FactoryDatabase))]
|
||||||
|
[Migration("20230402190902_initmigration")]
|
||||||
|
partial class initmigration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||||
|
{
|
||||||
|
#pragma warning disable 612, 618
|
||||||
|
modelBuilder
|
||||||
|
.HasAnnotation("ProductVersion", "7.0.4")
|
||||||
|
.HasAnnotation("Relational:MaxIdentifierLength", 128);
|
||||||
|
|
||||||
|
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Component", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("ComponentName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<double>("Cost")
|
||||||
|
.HasColumnType("float");
|
||||||
|
|
||||||
|
b.Property<int>("EnginierId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("Components");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Engenier", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("Email")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("Fio")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("Password")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("Engeniers");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Lathe", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("BusyId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<string>("LatheName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<int>("MasterId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("BusyId");
|
||||||
|
|
||||||
|
b.HasIndex("MasterId");
|
||||||
|
|
||||||
|
b.ToTable("Lathes");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.LatheBusy", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("Percent")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("LatheBusies");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.LatheReinforced", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("Count")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("LatheId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("ReinforcedId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("LatheId");
|
||||||
|
|
||||||
|
b.HasIndex("ReinforcedId");
|
||||||
|
|
||||||
|
b.ToTable("LatheReinforcedes");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Master", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("Email")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("Fio")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("Password")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("Masters");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Plan", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("PlanName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("Plans");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.PlanComponents", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("ComponentId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("Count")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("PlanId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("ComponentId");
|
||||||
|
|
||||||
|
b.HasIndex("PlanId");
|
||||||
|
|
||||||
|
b.ToTable("PlanComponents");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.PlanLathe", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("Count")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("LatheId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("PlanId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("LatheId");
|
||||||
|
|
||||||
|
b.HasIndex("PlanId");
|
||||||
|
|
||||||
|
b.ToTable("PlanLathes");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Reinforced", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("EngenierId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<double>("Price")
|
||||||
|
.HasColumnType("float");
|
||||||
|
|
||||||
|
b.Property<string>("ReinforcedName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("EngenierId");
|
||||||
|
|
||||||
|
b.ToTable("Reinforceds");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.ReinforcedComponent", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("ComponentId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("Count")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("ReinforcedId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("ComponentId");
|
||||||
|
|
||||||
|
b.HasIndex("ReinforcedId");
|
||||||
|
|
||||||
|
b.ToTable("ReinforcedComponents");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Stage", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("PlanId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("ReinforsedId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("Stages");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Lathe", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.LatheBusy", null)
|
||||||
|
.WithMany("Lathes")
|
||||||
|
.HasForeignKey("BusyId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Master", null)
|
||||||
|
.WithMany("LatheId")
|
||||||
|
.HasForeignKey("MasterId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.LatheReinforced", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Lathe", "Lathe")
|
||||||
|
.WithMany("Reinforceds")
|
||||||
|
.HasForeignKey("LatheId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Reinforced", "Reinforced")
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey("ReinforcedId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Lathe");
|
||||||
|
|
||||||
|
b.Navigation("Reinforced");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.PlanComponents", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Component", "Component")
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey("ComponentId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Plan", "Plan")
|
||||||
|
.WithMany("Components")
|
||||||
|
.HasForeignKey("PlanId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Component");
|
||||||
|
|
||||||
|
b.Navigation("Plan");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.PlanLathe", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Lathe", "Lathe")
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey("LatheId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Plan", "Plan")
|
||||||
|
.WithMany("Lathes")
|
||||||
|
.HasForeignKey("PlanId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Lathe");
|
||||||
|
|
||||||
|
b.Navigation("Plan");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Reinforced", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Engenier", null)
|
||||||
|
.WithMany("Reinforceds")
|
||||||
|
.HasForeignKey("EngenierId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.ReinforcedComponent", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Component", "Component")
|
||||||
|
.WithMany("ReinforcedComponents")
|
||||||
|
.HasForeignKey("ComponentId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Reinforced", "Reinforced")
|
||||||
|
.WithMany("Components")
|
||||||
|
.HasForeignKey("ReinforcedId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Component");
|
||||||
|
|
||||||
|
b.Navigation("Reinforced");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Component", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("ReinforcedComponents");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Engenier", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Reinforceds");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Lathe", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Reinforceds");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.LatheBusy", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Lathes");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Master", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("LatheId");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Plan", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Components");
|
||||||
|
|
||||||
|
b.Navigation("Lathes");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Reinforced", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Components");
|
||||||
|
});
|
||||||
|
#pragma warning restore 612, 618
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,350 @@
|
|||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace FactoryDatabaseImplement.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class initmigration : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Components",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "int", nullable: false)
|
||||||
|
.Annotation("SqlServer:Identity", "1, 1"),
|
||||||
|
ComponentName = table.Column<string>(type: "nvarchar(max)", nullable: false),
|
||||||
|
Cost = table.Column<double>(type: "float", nullable: false),
|
||||||
|
EnginierId = table.Column<int>(type: "int", nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Components", x => x.Id);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Engeniers",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "int", nullable: false)
|
||||||
|
.Annotation("SqlServer:Identity", "1, 1"),
|
||||||
|
Fio = table.Column<string>(type: "nvarchar(max)", nullable: false),
|
||||||
|
Email = table.Column<string>(type: "nvarchar(max)", nullable: false),
|
||||||
|
Password = table.Column<string>(type: "nvarchar(max)", nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Engeniers", x => x.Id);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "LatheBusies",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "int", nullable: false)
|
||||||
|
.Annotation("SqlServer:Identity", "1, 1"),
|
||||||
|
Percent = table.Column<int>(type: "int", nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_LatheBusies", x => x.Id);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Masters",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "int", nullable: false)
|
||||||
|
.Annotation("SqlServer:Identity", "1, 1"),
|
||||||
|
Password = table.Column<string>(type: "nvarchar(max)", nullable: false),
|
||||||
|
Fio = table.Column<string>(type: "nvarchar(max)", nullable: false),
|
||||||
|
Email = table.Column<string>(type: "nvarchar(max)", nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Masters", x => x.Id);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Plans",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "int", nullable: false)
|
||||||
|
.Annotation("SqlServer:Identity", "1, 1"),
|
||||||
|
PlanName = table.Column<string>(type: "nvarchar(max)", nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Plans", x => x.Id);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Stages",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "int", nullable: false)
|
||||||
|
.Annotation("SqlServer:Identity", "1, 1"),
|
||||||
|
PlanId = table.Column<int>(type: "int", nullable: false),
|
||||||
|
ReinforsedId = table.Column<int>(type: "int", nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Stages", x => x.Id);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Reinforceds",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "int", nullable: false)
|
||||||
|
.Annotation("SqlServer:Identity", "1, 1"),
|
||||||
|
ReinforcedName = table.Column<string>(type: "nvarchar(max)", nullable: false),
|
||||||
|
Price = table.Column<double>(type: "float", nullable: false),
|
||||||
|
EngenierId = table.Column<int>(type: "int", nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Reinforceds", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Reinforceds_Engeniers_EngenierId",
|
||||||
|
column: x => x.EngenierId,
|
||||||
|
principalTable: "Engeniers",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Lathes",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "int", nullable: false)
|
||||||
|
.Annotation("SqlServer:Identity", "1, 1"),
|
||||||
|
LatheName = table.Column<string>(type: "nvarchar(max)", nullable: false),
|
||||||
|
MasterId = table.Column<int>(type: "int", nullable: false),
|
||||||
|
BusyId = table.Column<int>(type: "int", nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Lathes", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Lathes_LatheBusies_BusyId",
|
||||||
|
column: x => x.BusyId,
|
||||||
|
principalTable: "LatheBusies",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Lathes_Masters_MasterId",
|
||||||
|
column: x => x.MasterId,
|
||||||
|
principalTable: "Masters",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "PlanComponents",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "int", nullable: false)
|
||||||
|
.Annotation("SqlServer:Identity", "1, 1"),
|
||||||
|
PlanId = table.Column<int>(type: "int", nullable: false),
|
||||||
|
ComponentId = table.Column<int>(type: "int", nullable: false),
|
||||||
|
Count = table.Column<int>(type: "int", nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_PlanComponents", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_PlanComponents_Components_ComponentId",
|
||||||
|
column: x => x.ComponentId,
|
||||||
|
principalTable: "Components",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_PlanComponents_Plans_PlanId",
|
||||||
|
column: x => x.PlanId,
|
||||||
|
principalTable: "Plans",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "ReinforcedComponents",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "int", nullable: false)
|
||||||
|
.Annotation("SqlServer:Identity", "1, 1"),
|
||||||
|
ReinforcedId = table.Column<int>(type: "int", nullable: false),
|
||||||
|
ComponentId = table.Column<int>(type: "int", nullable: false),
|
||||||
|
Count = table.Column<int>(type: "int", nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_ReinforcedComponents", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_ReinforcedComponents_Components_ComponentId",
|
||||||
|
column: x => x.ComponentId,
|
||||||
|
principalTable: "Components",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_ReinforcedComponents_Reinforceds_ReinforcedId",
|
||||||
|
column: x => x.ReinforcedId,
|
||||||
|
principalTable: "Reinforceds",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "LatheReinforcedes",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "int", nullable: false)
|
||||||
|
.Annotation("SqlServer:Identity", "1, 1"),
|
||||||
|
LatheId = table.Column<int>(type: "int", nullable: false),
|
||||||
|
ReinforcedId = table.Column<int>(type: "int", nullable: false),
|
||||||
|
Count = table.Column<int>(type: "int", nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_LatheReinforcedes", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_LatheReinforcedes_Lathes_LatheId",
|
||||||
|
column: x => x.LatheId,
|
||||||
|
principalTable: "Lathes",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_LatheReinforcedes_Reinforceds_ReinforcedId",
|
||||||
|
column: x => x.ReinforcedId,
|
||||||
|
principalTable: "Reinforceds",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "PlanLathes",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "int", nullable: false)
|
||||||
|
.Annotation("SqlServer:Identity", "1, 1"),
|
||||||
|
PlanId = table.Column<int>(type: "int", nullable: false),
|
||||||
|
LatheId = table.Column<int>(type: "int", nullable: false),
|
||||||
|
Count = table.Column<int>(type: "int", nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_PlanLathes", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_PlanLathes_Lathes_LatheId",
|
||||||
|
column: x => x.LatheId,
|
||||||
|
principalTable: "Lathes",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_PlanLathes_Plans_PlanId",
|
||||||
|
column: x => x.PlanId,
|
||||||
|
principalTable: "Plans",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_LatheReinforcedes_LatheId",
|
||||||
|
table: "LatheReinforcedes",
|
||||||
|
column: "LatheId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_LatheReinforcedes_ReinforcedId",
|
||||||
|
table: "LatheReinforcedes",
|
||||||
|
column: "ReinforcedId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Lathes_BusyId",
|
||||||
|
table: "Lathes",
|
||||||
|
column: "BusyId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Lathes_MasterId",
|
||||||
|
table: "Lathes",
|
||||||
|
column: "MasterId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_PlanComponents_ComponentId",
|
||||||
|
table: "PlanComponents",
|
||||||
|
column: "ComponentId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_PlanComponents_PlanId",
|
||||||
|
table: "PlanComponents",
|
||||||
|
column: "PlanId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_PlanLathes_LatheId",
|
||||||
|
table: "PlanLathes",
|
||||||
|
column: "LatheId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_PlanLathes_PlanId",
|
||||||
|
table: "PlanLathes",
|
||||||
|
column: "PlanId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_ReinforcedComponents_ComponentId",
|
||||||
|
table: "ReinforcedComponents",
|
||||||
|
column: "ComponentId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_ReinforcedComponents_ReinforcedId",
|
||||||
|
table: "ReinforcedComponents",
|
||||||
|
column: "ReinforcedId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Reinforceds_EngenierId",
|
||||||
|
table: "Reinforceds",
|
||||||
|
column: "EngenierId");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "LatheReinforcedes");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "PlanComponents");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "PlanLathes");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "ReinforcedComponents");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Stages");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Lathes");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Plans");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Components");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Reinforceds");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "LatheBusies");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Masters");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Engeniers");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
473
FactoryView/FactoryDatabaseImplement/Migrations/20230402191341_initmigration1.Designer.cs
generated
Normal file
473
FactoryView/FactoryDatabaseImplement/Migrations/20230402191341_initmigration1.Designer.cs
generated
Normal file
@ -0,0 +1,473 @@
|
|||||||
|
// <auto-generated />
|
||||||
|
using System;
|
||||||
|
using FactoryDatabaseImplement;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||||
|
using Microsoft.EntityFrameworkCore.Metadata;
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace FactoryDatabaseImplement.Migrations
|
||||||
|
{
|
||||||
|
[DbContext(typeof(FactoryDatabase))]
|
||||||
|
[Migration("20230402191341_initmigration1")]
|
||||||
|
partial class initmigration1
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||||
|
{
|
||||||
|
#pragma warning disable 612, 618
|
||||||
|
modelBuilder
|
||||||
|
.HasAnnotation("ProductVersion", "7.0.4")
|
||||||
|
.HasAnnotation("Relational:MaxIdentifierLength", 128);
|
||||||
|
|
||||||
|
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Component", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("ComponentName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<double>("Cost")
|
||||||
|
.HasColumnType("float");
|
||||||
|
|
||||||
|
b.Property<int>("EnginierId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("Components");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Engenier", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("Email")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("Fio")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("Password")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("Engeniers");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Lathe", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("BusyId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<string>("LatheName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<int>("MasterId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("BusyId");
|
||||||
|
|
||||||
|
b.HasIndex("MasterId");
|
||||||
|
|
||||||
|
b.ToTable("Lathes");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.LatheBusy", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("Percent")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("LatheBusies");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.LatheReinforced", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("Count")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("LatheId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("ReinforcedId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("LatheId");
|
||||||
|
|
||||||
|
b.HasIndex("ReinforcedId");
|
||||||
|
|
||||||
|
b.ToTable("LatheReinforcedes");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Master", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("Email")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("Fio")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("Password")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("Masters");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Plan", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int?>("ComponentId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int?>("PlanId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<string>("PlanName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("ComponentId");
|
||||||
|
|
||||||
|
b.HasIndex("PlanId");
|
||||||
|
|
||||||
|
b.ToTable("Plans");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.PlanComponents", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("ComponentId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("Count")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("PlanId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("ComponentId");
|
||||||
|
|
||||||
|
b.HasIndex("PlanId");
|
||||||
|
|
||||||
|
b.ToTable("PlanComponents");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.PlanLathe", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("Count")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("LatheId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("PlanId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("LatheId");
|
||||||
|
|
||||||
|
b.HasIndex("PlanId");
|
||||||
|
|
||||||
|
b.ToTable("PlanLathes");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Reinforced", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("EngenierId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<double>("Price")
|
||||||
|
.HasColumnType("float");
|
||||||
|
|
||||||
|
b.Property<string>("ReinforcedName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("EngenierId");
|
||||||
|
|
||||||
|
b.ToTable("Reinforceds");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.ReinforcedComponent", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("ComponentId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("Count")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("ReinforcedId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("ComponentId");
|
||||||
|
|
||||||
|
b.HasIndex("ReinforcedId");
|
||||||
|
|
||||||
|
b.ToTable("ReinforcedComponents");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Stage", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("PlanId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("ReinforsedId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("Stages");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Lathe", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.LatheBusy", null)
|
||||||
|
.WithMany("Lathes")
|
||||||
|
.HasForeignKey("BusyId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Master", null)
|
||||||
|
.WithMany("LatheId")
|
||||||
|
.HasForeignKey("MasterId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.LatheReinforced", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Lathe", "Lathe")
|
||||||
|
.WithMany("Reinforceds")
|
||||||
|
.HasForeignKey("LatheId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Reinforced", "Reinforced")
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey("ReinforcedId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Lathe");
|
||||||
|
|
||||||
|
b.Navigation("Reinforced");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Plan", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Component", null)
|
||||||
|
.WithMany("Plans")
|
||||||
|
.HasForeignKey("ComponentId");
|
||||||
|
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Plan", null)
|
||||||
|
.WithMany("Plans")
|
||||||
|
.HasForeignKey("PlanId");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.PlanComponents", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Component", "Component")
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey("ComponentId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Plan", "Plan")
|
||||||
|
.WithMany("Components")
|
||||||
|
.HasForeignKey("PlanId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Component");
|
||||||
|
|
||||||
|
b.Navigation("Plan");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.PlanLathe", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Lathe", "Lathe")
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey("LatheId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Plan", "Plan")
|
||||||
|
.WithMany("Lathes")
|
||||||
|
.HasForeignKey("PlanId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Lathe");
|
||||||
|
|
||||||
|
b.Navigation("Plan");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Reinforced", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Engenier", null)
|
||||||
|
.WithMany("Reinforceds")
|
||||||
|
.HasForeignKey("EngenierId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.ReinforcedComponent", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Component", "Component")
|
||||||
|
.WithMany("ReinforcedComponents")
|
||||||
|
.HasForeignKey("ComponentId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Reinforced", "Reinforced")
|
||||||
|
.WithMany("Components")
|
||||||
|
.HasForeignKey("ReinforcedId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Component");
|
||||||
|
|
||||||
|
b.Navigation("Reinforced");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Component", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Plans");
|
||||||
|
|
||||||
|
b.Navigation("ReinforcedComponents");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Engenier", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Reinforceds");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Lathe", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Reinforceds");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.LatheBusy", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Lathes");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Master", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("LatheId");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Plan", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Components");
|
||||||
|
|
||||||
|
b.Navigation("Lathes");
|
||||||
|
|
||||||
|
b.Navigation("Plans");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Reinforced", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Components");
|
||||||
|
});
|
||||||
|
#pragma warning restore 612, 618
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,78 @@
|
|||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace FactoryDatabaseImplement.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class initmigration1 : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.AddColumn<int>(
|
||||||
|
name: "ComponentId",
|
||||||
|
table: "Plans",
|
||||||
|
type: "int",
|
||||||
|
nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<int>(
|
||||||
|
name: "PlanId",
|
||||||
|
table: "Plans",
|
||||||
|
type: "int",
|
||||||
|
nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Plans_ComponentId",
|
||||||
|
table: "Plans",
|
||||||
|
column: "ComponentId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Plans_PlanId",
|
||||||
|
table: "Plans",
|
||||||
|
column: "PlanId");
|
||||||
|
|
||||||
|
migrationBuilder.AddForeignKey(
|
||||||
|
name: "FK_Plans_Components_ComponentId",
|
||||||
|
table: "Plans",
|
||||||
|
column: "ComponentId",
|
||||||
|
principalTable: "Components",
|
||||||
|
principalColumn: "Id");
|
||||||
|
|
||||||
|
migrationBuilder.AddForeignKey(
|
||||||
|
name: "FK_Plans_Plans_PlanId",
|
||||||
|
table: "Plans",
|
||||||
|
column: "PlanId",
|
||||||
|
principalTable: "Plans",
|
||||||
|
principalColumn: "Id");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropForeignKey(
|
||||||
|
name: "FK_Plans_Components_ComponentId",
|
||||||
|
table: "Plans");
|
||||||
|
|
||||||
|
migrationBuilder.DropForeignKey(
|
||||||
|
name: "FK_Plans_Plans_PlanId",
|
||||||
|
table: "Plans");
|
||||||
|
|
||||||
|
migrationBuilder.DropIndex(
|
||||||
|
name: "IX_Plans_ComponentId",
|
||||||
|
table: "Plans");
|
||||||
|
|
||||||
|
migrationBuilder.DropIndex(
|
||||||
|
name: "IX_Plans_PlanId",
|
||||||
|
table: "Plans");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "ComponentId",
|
||||||
|
table: "Plans");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "PlanId",
|
||||||
|
table: "Plans");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
472
FactoryView/FactoryDatabaseImplement/Migrations/20230402191647_initmigration2.Designer.cs
generated
Normal file
472
FactoryView/FactoryDatabaseImplement/Migrations/20230402191647_initmigration2.Designer.cs
generated
Normal file
@ -0,0 +1,472 @@
|
|||||||
|
// <auto-generated />
|
||||||
|
using System;
|
||||||
|
using FactoryDatabaseImplement;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||||
|
using Microsoft.EntityFrameworkCore.Metadata;
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace FactoryDatabaseImplement.Migrations
|
||||||
|
{
|
||||||
|
[DbContext(typeof(FactoryDatabase))]
|
||||||
|
[Migration("20230402191647_initmigration2")]
|
||||||
|
partial class initmigration2
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||||
|
{
|
||||||
|
#pragma warning disable 612, 618
|
||||||
|
modelBuilder
|
||||||
|
.HasAnnotation("ProductVersion", "7.0.4")
|
||||||
|
.HasAnnotation("Relational:MaxIdentifierLength", 128);
|
||||||
|
|
||||||
|
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Component", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("ComponentName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<double>("Cost")
|
||||||
|
.HasColumnType("float");
|
||||||
|
|
||||||
|
b.Property<int>("EnginierId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("Components");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Engenier", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("Email")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("Fio")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("Password")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("Engeniers");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Lathe", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("BusyId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<string>("LatheName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<int>("MasterId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("BusyId");
|
||||||
|
|
||||||
|
b.HasIndex("MasterId");
|
||||||
|
|
||||||
|
b.ToTable("Lathes");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.LatheBusy", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("Percent")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("LatheBusies");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.LatheReinforced", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("Count")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("LatheId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("ReinforcedId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("LatheId");
|
||||||
|
|
||||||
|
b.HasIndex("ReinforcedId");
|
||||||
|
|
||||||
|
b.ToTable("LatheReinforcedes");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Master", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("Email")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("Fio")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("Password")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("Masters");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Plan", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("PlanName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("Plans");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.PlanComponents", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("ComponentId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("Count")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("PlanId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("ComponentId");
|
||||||
|
|
||||||
|
b.HasIndex("PlanId");
|
||||||
|
|
||||||
|
b.ToTable("PlanComponents");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.PlanLathe", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("Count")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("LatheId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("PlanId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("LatheId");
|
||||||
|
|
||||||
|
b.HasIndex("PlanId");
|
||||||
|
|
||||||
|
b.ToTable("PlanLathes");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Reinforced", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("EngenierId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<double>("Price")
|
||||||
|
.HasColumnType("float");
|
||||||
|
|
||||||
|
b.Property<string>("ReinforcedName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("EngenierId");
|
||||||
|
|
||||||
|
b.ToTable("Reinforceds");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.ReinforcedComponent", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("ComponentId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("Count")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("ReinforcedId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("ComponentId");
|
||||||
|
|
||||||
|
b.HasIndex("ReinforcedId");
|
||||||
|
|
||||||
|
b.ToTable("ReinforcedComponents");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Stage", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int?>("ComponentId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("PlanId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("ReinforsedId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("ComponentId");
|
||||||
|
|
||||||
|
b.HasIndex("PlanId");
|
||||||
|
|
||||||
|
b.ToTable("Stages");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Lathe", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.LatheBusy", null)
|
||||||
|
.WithMany("Lathes")
|
||||||
|
.HasForeignKey("BusyId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Master", null)
|
||||||
|
.WithMany("LatheId")
|
||||||
|
.HasForeignKey("MasterId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.LatheReinforced", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Lathe", "Lathe")
|
||||||
|
.WithMany("Reinforceds")
|
||||||
|
.HasForeignKey("LatheId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Reinforced", "Reinforced")
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey("ReinforcedId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Lathe");
|
||||||
|
|
||||||
|
b.Navigation("Reinforced");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.PlanComponents", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Component", "Component")
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey("ComponentId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Plan", "Plan")
|
||||||
|
.WithMany("Components")
|
||||||
|
.HasForeignKey("PlanId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Component");
|
||||||
|
|
||||||
|
b.Navigation("Plan");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.PlanLathe", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Lathe", "Lathe")
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey("LatheId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Plan", "Plan")
|
||||||
|
.WithMany("Lathes")
|
||||||
|
.HasForeignKey("PlanId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Lathe");
|
||||||
|
|
||||||
|
b.Navigation("Plan");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Reinforced", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Engenier", null)
|
||||||
|
.WithMany("Reinforceds")
|
||||||
|
.HasForeignKey("EngenierId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.ReinforcedComponent", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Component", "Component")
|
||||||
|
.WithMany("ReinforcedComponents")
|
||||||
|
.HasForeignKey("ComponentId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Reinforced", "Reinforced")
|
||||||
|
.WithMany("Components")
|
||||||
|
.HasForeignKey("ReinforcedId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Component");
|
||||||
|
|
||||||
|
b.Navigation("Reinforced");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Stage", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Component", null)
|
||||||
|
.WithMany("Stages")
|
||||||
|
.HasForeignKey("ComponentId");
|
||||||
|
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Plan", null)
|
||||||
|
.WithMany("Stages")
|
||||||
|
.HasForeignKey("PlanId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Component", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("ReinforcedComponents");
|
||||||
|
|
||||||
|
b.Navigation("Stages");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Engenier", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Reinforceds");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Lathe", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Reinforceds");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.LatheBusy", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Lathes");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Master", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("LatheId");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Plan", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Components");
|
||||||
|
|
||||||
|
b.Navigation("Lathes");
|
||||||
|
|
||||||
|
b.Navigation("Stages");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Reinforced", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Components");
|
||||||
|
});
|
||||||
|
#pragma warning restore 612, 618
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,129 @@
|
|||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace FactoryDatabaseImplement.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class initmigration2 : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropForeignKey(
|
||||||
|
name: "FK_Plans_Components_ComponentId",
|
||||||
|
table: "Plans");
|
||||||
|
|
||||||
|
migrationBuilder.DropForeignKey(
|
||||||
|
name: "FK_Plans_Plans_PlanId",
|
||||||
|
table: "Plans");
|
||||||
|
|
||||||
|
migrationBuilder.DropIndex(
|
||||||
|
name: "IX_Plans_ComponentId",
|
||||||
|
table: "Plans");
|
||||||
|
|
||||||
|
migrationBuilder.DropIndex(
|
||||||
|
name: "IX_Plans_PlanId",
|
||||||
|
table: "Plans");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "ComponentId",
|
||||||
|
table: "Plans");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "PlanId",
|
||||||
|
table: "Plans");
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<int>(
|
||||||
|
name: "ComponentId",
|
||||||
|
table: "Stages",
|
||||||
|
type: "int",
|
||||||
|
nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Stages_ComponentId",
|
||||||
|
table: "Stages",
|
||||||
|
column: "ComponentId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Stages_PlanId",
|
||||||
|
table: "Stages",
|
||||||
|
column: "PlanId");
|
||||||
|
|
||||||
|
migrationBuilder.AddForeignKey(
|
||||||
|
name: "FK_Stages_Components_ComponentId",
|
||||||
|
table: "Stages",
|
||||||
|
column: "ComponentId",
|
||||||
|
principalTable: "Components",
|
||||||
|
principalColumn: "Id");
|
||||||
|
|
||||||
|
migrationBuilder.AddForeignKey(
|
||||||
|
name: "FK_Stages_Plans_PlanId",
|
||||||
|
table: "Stages",
|
||||||
|
column: "PlanId",
|
||||||
|
principalTable: "Plans",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropForeignKey(
|
||||||
|
name: "FK_Stages_Components_ComponentId",
|
||||||
|
table: "Stages");
|
||||||
|
|
||||||
|
migrationBuilder.DropForeignKey(
|
||||||
|
name: "FK_Stages_Plans_PlanId",
|
||||||
|
table: "Stages");
|
||||||
|
|
||||||
|
migrationBuilder.DropIndex(
|
||||||
|
name: "IX_Stages_ComponentId",
|
||||||
|
table: "Stages");
|
||||||
|
|
||||||
|
migrationBuilder.DropIndex(
|
||||||
|
name: "IX_Stages_PlanId",
|
||||||
|
table: "Stages");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "ComponentId",
|
||||||
|
table: "Stages");
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<int>(
|
||||||
|
name: "ComponentId",
|
||||||
|
table: "Plans",
|
||||||
|
type: "int",
|
||||||
|
nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<int>(
|
||||||
|
name: "PlanId",
|
||||||
|
table: "Plans",
|
||||||
|
type: "int",
|
||||||
|
nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Plans_ComponentId",
|
||||||
|
table: "Plans",
|
||||||
|
column: "ComponentId");
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Plans_PlanId",
|
||||||
|
table: "Plans",
|
||||||
|
column: "PlanId");
|
||||||
|
|
||||||
|
migrationBuilder.AddForeignKey(
|
||||||
|
name: "FK_Plans_Components_ComponentId",
|
||||||
|
table: "Plans",
|
||||||
|
column: "ComponentId",
|
||||||
|
principalTable: "Components",
|
||||||
|
principalColumn: "Id");
|
||||||
|
|
||||||
|
migrationBuilder.AddForeignKey(
|
||||||
|
name: "FK_Plans_Plans_PlanId",
|
||||||
|
table: "Plans",
|
||||||
|
column: "PlanId",
|
||||||
|
principalTable: "Plans",
|
||||||
|
principalColumn: "Id");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,469 @@
|
|||||||
|
// <auto-generated />
|
||||||
|
using System;
|
||||||
|
using FactoryDatabaseImplement;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||||
|
using Microsoft.EntityFrameworkCore.Metadata;
|
||||||
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace FactoryDatabaseImplement.Migrations
|
||||||
|
{
|
||||||
|
[DbContext(typeof(FactoryDatabase))]
|
||||||
|
partial class FactoryDatabaseModelSnapshot : ModelSnapshot
|
||||||
|
{
|
||||||
|
protected override void BuildModel(ModelBuilder modelBuilder)
|
||||||
|
{
|
||||||
|
#pragma warning disable 612, 618
|
||||||
|
modelBuilder
|
||||||
|
.HasAnnotation("ProductVersion", "7.0.4")
|
||||||
|
.HasAnnotation("Relational:MaxIdentifierLength", 128);
|
||||||
|
|
||||||
|
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Component", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("ComponentName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<double>("Cost")
|
||||||
|
.HasColumnType("float");
|
||||||
|
|
||||||
|
b.Property<int>("EnginierId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("Components");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Engenier", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("Email")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("Fio")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("Password")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("Engeniers");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Lathe", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("BusyId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<string>("LatheName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<int>("MasterId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("BusyId");
|
||||||
|
|
||||||
|
b.HasIndex("MasterId");
|
||||||
|
|
||||||
|
b.ToTable("Lathes");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.LatheBusy", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("Percent")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("LatheBusies");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.LatheReinforced", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("Count")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("LatheId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("ReinforcedId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("LatheId");
|
||||||
|
|
||||||
|
b.HasIndex("ReinforcedId");
|
||||||
|
|
||||||
|
b.ToTable("LatheReinforcedes");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Master", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("Email")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("Fio")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("Password")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("Masters");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Plan", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("PlanName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("Plans");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.PlanComponents", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("ComponentId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("Count")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("PlanId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("ComponentId");
|
||||||
|
|
||||||
|
b.HasIndex("PlanId");
|
||||||
|
|
||||||
|
b.ToTable("PlanComponents");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.PlanLathe", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("Count")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("LatheId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("PlanId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("LatheId");
|
||||||
|
|
||||||
|
b.HasIndex("PlanId");
|
||||||
|
|
||||||
|
b.ToTable("PlanLathes");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Reinforced", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("EngenierId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<double>("Price")
|
||||||
|
.HasColumnType("float");
|
||||||
|
|
||||||
|
b.Property<string>("ReinforcedName")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("EngenierId");
|
||||||
|
|
||||||
|
b.ToTable("Reinforceds");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.ReinforcedComponent", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("ComponentId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("Count")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("ReinforcedId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("ComponentId");
|
||||||
|
|
||||||
|
b.HasIndex("ReinforcedId");
|
||||||
|
|
||||||
|
b.ToTable("ReinforcedComponents");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Stage", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int?>("ComponentId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("PlanId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("ReinforsedId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("ComponentId");
|
||||||
|
|
||||||
|
b.HasIndex("PlanId");
|
||||||
|
|
||||||
|
b.ToTable("Stages");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Lathe", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.LatheBusy", null)
|
||||||
|
.WithMany("Lathes")
|
||||||
|
.HasForeignKey("BusyId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Master", null)
|
||||||
|
.WithMany("LatheId")
|
||||||
|
.HasForeignKey("MasterId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.LatheReinforced", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Lathe", "Lathe")
|
||||||
|
.WithMany("Reinforceds")
|
||||||
|
.HasForeignKey("LatheId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Reinforced", "Reinforced")
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey("ReinforcedId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Lathe");
|
||||||
|
|
||||||
|
b.Navigation("Reinforced");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.PlanComponents", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Component", "Component")
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey("ComponentId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Plan", "Plan")
|
||||||
|
.WithMany("Components")
|
||||||
|
.HasForeignKey("PlanId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Component");
|
||||||
|
|
||||||
|
b.Navigation("Plan");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.PlanLathe", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Lathe", "Lathe")
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey("LatheId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Plan", "Plan")
|
||||||
|
.WithMany("Lathes")
|
||||||
|
.HasForeignKey("PlanId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Lathe");
|
||||||
|
|
||||||
|
b.Navigation("Plan");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Reinforced", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Engenier", null)
|
||||||
|
.WithMany("Reinforceds")
|
||||||
|
.HasForeignKey("EngenierId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.ReinforcedComponent", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Component", "Component")
|
||||||
|
.WithMany("ReinforcedComponents")
|
||||||
|
.HasForeignKey("ComponentId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Reinforced", "Reinforced")
|
||||||
|
.WithMany("Components")
|
||||||
|
.HasForeignKey("ReinforcedId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Component");
|
||||||
|
|
||||||
|
b.Navigation("Reinforced");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Stage", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Component", null)
|
||||||
|
.WithMany("Stages")
|
||||||
|
.HasForeignKey("ComponentId");
|
||||||
|
|
||||||
|
b.HasOne("FactoryDatabaseImplement.Models.Plan", null)
|
||||||
|
.WithMany("Stages")
|
||||||
|
.HasForeignKey("PlanId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Component", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("ReinforcedComponents");
|
||||||
|
|
||||||
|
b.Navigation("Stages");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Engenier", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Reinforceds");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Lathe", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Reinforceds");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.LatheBusy", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Lathes");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Master", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("LatheId");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Plan", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Components");
|
||||||
|
|
||||||
|
b.Navigation("Lathes");
|
||||||
|
|
||||||
|
b.Navigation("Stages");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("FactoryDatabaseImplement.Models.Reinforced", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("Components");
|
||||||
|
});
|
||||||
|
#pragma warning restore 612, 618
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
61
FactoryView/FactoryDatabaseImplement/Models/Component.cs
Normal file
61
FactoryView/FactoryDatabaseImplement/Models/Component.cs
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
|
||||||
|
using FactoryContracts.BindingModels;
|
||||||
|
using FactoryContracts.ViewModels;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using FactoryDataModels.Models;
|
||||||
|
|
||||||
|
namespace FactoryDatabaseImplement.Models
|
||||||
|
{
|
||||||
|
public class Component : IComponentModel
|
||||||
|
{
|
||||||
|
public int Id { get; private set; }
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public string ComponentName { get; private set; } = string.Empty;
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public double Cost { get; set; }
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public int EnginierId { get; set; }
|
||||||
|
|
||||||
|
[ForeignKey("ComponentId")]
|
||||||
|
public virtual List<ReinforcedComponent> ReinforcedComponents { get; set; } = new();
|
||||||
|
|
||||||
|
[ForeignKey("ComponentId")]
|
||||||
|
public virtual List<Stage> Stages { get; set; } = new();
|
||||||
|
|
||||||
|
|
||||||
|
public static Component Create(ComponentBindingModel model)
|
||||||
|
{
|
||||||
|
return new Component
|
||||||
|
{
|
||||||
|
Id = model.Id,
|
||||||
|
ComponentName = model.ComponentName,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Update(ComponentBindingModel model)
|
||||||
|
{
|
||||||
|
if (model == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ComponentName = model.ComponentName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ComponentViewModel GetViewModel => new()
|
||||||
|
{
|
||||||
|
Id = Id,
|
||||||
|
ComponentName = ComponentName,
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
58
FactoryView/FactoryDatabaseImplement/Models/Engenier.cs
Normal file
58
FactoryView/FactoryDatabaseImplement/Models/Engenier.cs
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
using FactoryContracts.BindingModels;
|
||||||
|
using FactoryContracts.ViewModels;
|
||||||
|
using FactoryDataModels.Models;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace FactoryDatabaseImplement.Models
|
||||||
|
{
|
||||||
|
public class Engenier : IEngenierModel
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public string Fio { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public string Email { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public string Password { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[ForeignKey("EngenierId")]
|
||||||
|
public virtual List<Reinforced> Reinforceds { get; set; } = new();
|
||||||
|
|
||||||
|
|
||||||
|
public EngenierViewModel GetViewModel => new()
|
||||||
|
{
|
||||||
|
Id = Id,
|
||||||
|
Fio = Fio,
|
||||||
|
Email = Email,
|
||||||
|
Password = Password
|
||||||
|
};
|
||||||
|
|
||||||
|
public static Engenier Create(EngenierBindingModel model)
|
||||||
|
{
|
||||||
|
return new Engenier()
|
||||||
|
{
|
||||||
|
Id = model.Id,
|
||||||
|
Fio = model.Fio,
|
||||||
|
Email = model.Email,
|
||||||
|
Password = model.Password
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Update(EngenierBindingModel model)
|
||||||
|
{
|
||||||
|
Fio = model.Fio;
|
||||||
|
Email = model.Email;
|
||||||
|
Password = model.Password;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
92
FactoryView/FactoryDatabaseImplement/Models/Lathe.cs
Normal file
92
FactoryView/FactoryDatabaseImplement/Models/Lathe.cs
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
using FactoryContracts.BindingModels;
|
||||||
|
using FactoryContracts.ViewModels;
|
||||||
|
using FactoryDataModels.Models;
|
||||||
|
using Microsoft.Data.SqlClient.DataClassification;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace FactoryDatabaseImplement.Models
|
||||||
|
{
|
||||||
|
public class Lathe : ILatheModel
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
[Required]
|
||||||
|
public string LatheName { get; set; } = String.Empty;
|
||||||
|
[Required]
|
||||||
|
public int MasterId { get; set; }
|
||||||
|
[Required]
|
||||||
|
public int BusyId { get; set; }
|
||||||
|
[Required]
|
||||||
|
private Dictionary<int, (IReinforcedModel, int)>? _latheReinforcedes = null;
|
||||||
|
|
||||||
|
[NotMapped]
|
||||||
|
public Dictionary<int, (IReinforcedModel, int)> LatheReinforcedes {
|
||||||
|
get {
|
||||||
|
if (_latheReinforcedes == null)
|
||||||
|
{
|
||||||
|
_latheReinforcedes = Reinforceds.ToDictionary(recLR => recLR.ReinforcedId, recLR =>
|
||||||
|
(recLR.Reinforced as IReinforcedModel, recLR.Count));
|
||||||
|
}
|
||||||
|
return _latheReinforcedes;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
[ForeignKey("LatheId")]
|
||||||
|
public virtual List<LatheReinforced> Reinforceds { get; set; } = new();
|
||||||
|
|
||||||
|
public static Lathe Create(FactoryDatabase context, LatheBindingModel model)
|
||||||
|
{
|
||||||
|
return new Lathe()
|
||||||
|
{
|
||||||
|
Id = model.Id,
|
||||||
|
LatheName = model.LatheName,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Update(LatheBindingModel model)
|
||||||
|
{
|
||||||
|
Id = model.Id;
|
||||||
|
LatheName = model.LatheName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LatheViewModel GetViewModel => new()
|
||||||
|
{
|
||||||
|
Id = Id,
|
||||||
|
LatheName = LatheName,
|
||||||
|
};
|
||||||
|
|
||||||
|
public void UpdateComponents(FactoryDatabase context, LatheBindingModel model)
|
||||||
|
{
|
||||||
|
var LatheReinforsed = context.LatheReinforcedes.Where(rec => rec.LatheId == model.Id).ToList();
|
||||||
|
if (LatheReinforsed != null && LatheReinforsed.Count > 0)
|
||||||
|
{
|
||||||
|
context.LatheReinforcedes.RemoveRange(LatheReinforsed.Where(rec => !model.LatheReinforcedes.ContainsKey(rec.LatheId)));
|
||||||
|
context.SaveChanges();
|
||||||
|
LatheReinforsed = context.LatheReinforcedes.Where(rec => rec.LatheId == model.Id).ToList();
|
||||||
|
foreach (var updateComponent in LatheReinforsed)
|
||||||
|
{
|
||||||
|
updateComponent.Count = model.LatheReinforcedes[updateComponent.LatheId].Item2;
|
||||||
|
model.LatheReinforcedes.Remove(updateComponent.LatheId);
|
||||||
|
}
|
||||||
|
context.SaveChanges();
|
||||||
|
}
|
||||||
|
var Lathe = context.Lathes.First(x => x.Id == Id);
|
||||||
|
foreach (var pc in model.LatheReinforcedes)
|
||||||
|
{
|
||||||
|
context.LatheReinforcedes.Add(new LatheReinforced
|
||||||
|
{
|
||||||
|
Lathe = Lathe,
|
||||||
|
Reinforced = context.Reinforceds.First(x => x.Id == pc.Key),
|
||||||
|
Count = pc.Value.Item2
|
||||||
|
});
|
||||||
|
context.SaveChanges();
|
||||||
|
}
|
||||||
|
_latheReinforcedes = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
51
FactoryView/FactoryDatabaseImplement/Models/LatheBusy.cs
Normal file
51
FactoryView/FactoryDatabaseImplement/Models/LatheBusy.cs
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
using FactoryContracts.BindingModels;
|
||||||
|
using FactoryContracts.ViewModels;
|
||||||
|
using FactoryDataModels.Models;
|
||||||
|
using Microsoft.Data.SqlClient.DataClassification;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace FactoryDatabaseImplement.Models
|
||||||
|
{
|
||||||
|
public class LatheBusy : ILatheBusyModel
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
[Required]
|
||||||
|
public int Percent { get; set; }
|
||||||
|
|
||||||
|
[ForeignKey("BusyId")]
|
||||||
|
public virtual List<Lathe> Lathes { get; set; } = new();
|
||||||
|
[Required]
|
||||||
|
public DateTime Date { get; set; }
|
||||||
|
|
||||||
|
public static LatheBusy Create(FactoryDatabase context, LatheBusyBindingModel model)
|
||||||
|
{
|
||||||
|
return new LatheBusy()
|
||||||
|
{
|
||||||
|
Id = model.Id,
|
||||||
|
Percent = model.Percent,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Update(LatheBusyBindingModel model)
|
||||||
|
{
|
||||||
|
Id = model.Id;
|
||||||
|
Id = model.Id;
|
||||||
|
Percent = model.Percent;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LatheBusyViewModel GetViewModel => new()
|
||||||
|
{
|
||||||
|
Id = Id,
|
||||||
|
Percent = Percent,
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,25 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace FactoryDatabaseImplement.Models
|
||||||
|
{
|
||||||
|
public class LatheReinforced
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
[Required]
|
||||||
|
public int LatheId { get; set; }
|
||||||
|
[Required]
|
||||||
|
public int ReinforcedId { get; set; }
|
||||||
|
[Required]
|
||||||
|
public int Count { get; set; }
|
||||||
|
|
||||||
|
public virtual Lathe Lathe { get; set; } = new();
|
||||||
|
|
||||||
|
public virtual Reinforced Reinforced { get; set; } = new();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
58
FactoryView/FactoryDatabaseImplement/Models/Master.cs
Normal file
58
FactoryView/FactoryDatabaseImplement/Models/Master.cs
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
using FactoryContracts.BindingModels;
|
||||||
|
using FactoryContracts.ViewModels;
|
||||||
|
using FactoryDataModels.Models;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace FactoryDatabaseImplement.Models
|
||||||
|
{
|
||||||
|
public class Master : IMasterModel
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public string Password { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public string Fio { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public string Email { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[ForeignKey("MasterId")]
|
||||||
|
public virtual List<Lathe> LatheId { get; set; } = new();
|
||||||
|
|
||||||
|
public static Master Create(FactoryDatabase context, MasterBindingModel model)
|
||||||
|
{
|
||||||
|
return new Master()
|
||||||
|
{
|
||||||
|
Id = model.Id,
|
||||||
|
Fio = model.Fio,
|
||||||
|
Email = model.Email,
|
||||||
|
Password = model.Password
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Update(MasterBindingModel model)
|
||||||
|
{
|
||||||
|
Id = model.Id;
|
||||||
|
Fio = model.Fio;
|
||||||
|
Email = model.Email;
|
||||||
|
Password = model.Password;
|
||||||
|
}
|
||||||
|
|
||||||
|
public MasterViewModel GetViewModel => new()
|
||||||
|
{
|
||||||
|
Id = Id,
|
||||||
|
Fio = Fio,
|
||||||
|
Email = Email,
|
||||||
|
Password = Password
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
147
FactoryView/FactoryDatabaseImplement/Models/Plan.cs
Normal file
147
FactoryView/FactoryDatabaseImplement/Models/Plan.cs
Normal file
@ -0,0 +1,147 @@
|
|||||||
|
using FactoryContracts.BindingModels;
|
||||||
|
using FactoryContracts.ViewModels;
|
||||||
|
using FactoryDataModels.Models;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace FactoryDatabaseImplement.Models
|
||||||
|
{
|
||||||
|
public class Plan : IPlanModel
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
[Required]
|
||||||
|
public string PlanName { get; set; } = String.Empty;
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public DateTime date { get; set; }
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
private Dictionary<int, (ILatheModel, int)>? _planLathes { get; set; } = null;
|
||||||
|
|
||||||
|
|
||||||
|
[NotMapped]
|
||||||
|
public Dictionary<int, (ILatheModel, int)> PlanLathes
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (_planLathes == null)
|
||||||
|
{
|
||||||
|
_planLathes = Lathes.ToDictionary(recPL => recPL.LatheId, recPL =>
|
||||||
|
(recPL.Lathe as ILatheModel, recPL.Count));
|
||||||
|
}
|
||||||
|
return _planLathes;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[ForeignKey("PlanId")]
|
||||||
|
public virtual List<PlanLathe> Lathes { get; set; } = new();
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
private Dictionary<int, (IComponentModel, int)> _planComponents { get; set; } = null;
|
||||||
|
|
||||||
|
[NotMapped]
|
||||||
|
public Dictionary<int, (IComponentModel, int)> PlanComponents
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (_planComponents == null)
|
||||||
|
{
|
||||||
|
_planComponents = Components.ToDictionary(recPL => recPL.ComponentId, recPL =>
|
||||||
|
(recPL.Component as IComponentModel, recPL.Count));
|
||||||
|
}
|
||||||
|
return _planComponents;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[ForeignKey("PlanId")]
|
||||||
|
public virtual List<PlanComponents> Components { get; set; } = new();
|
||||||
|
|
||||||
|
public static Plan Create(FactoryDatabase context, PlanBindingModel model)
|
||||||
|
{
|
||||||
|
return new Plan()
|
||||||
|
{
|
||||||
|
Id = model.Id,
|
||||||
|
PlanName = model.PlanName,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
[ForeignKey("PlanId")]
|
||||||
|
public virtual List<Stage> Stages { get; set; } = new();
|
||||||
|
|
||||||
|
public void Update(PlanBindingModel model)
|
||||||
|
{
|
||||||
|
|
||||||
|
PlanName = model.PlanName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PlanViewModel GetViewModel => new()
|
||||||
|
{
|
||||||
|
Id = Id,
|
||||||
|
PlanName = PlanName,
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public void UpdateLathes(FactoryDatabase context, PlanBindingModel model)
|
||||||
|
{
|
||||||
|
var PlanLathes = context.PlanLathes.Where(rec => rec.PlanId == model.Id).ToList();
|
||||||
|
if (PlanLathes != null && PlanLathes.Count > 0)
|
||||||
|
{
|
||||||
|
context.PlanLathes.RemoveRange(PlanLathes.Where(rec => !model.PlanLathes.ContainsKey(rec.LatheId)));
|
||||||
|
context.SaveChanges();
|
||||||
|
foreach (var updateComponent in PlanLathes)
|
||||||
|
{
|
||||||
|
updateComponent.Count = model.PlanLathes[updateComponent.LatheId].Item2;
|
||||||
|
model.PlanLathes.Remove(updateComponent.LatheId);
|
||||||
|
}
|
||||||
|
context.SaveChanges();
|
||||||
|
}
|
||||||
|
var Plans = context.Plans.First(x => x.Id == Id);
|
||||||
|
foreach (var pc in model.PlanLathes)
|
||||||
|
{
|
||||||
|
context.PlanLathes.Add(new PlanLathe
|
||||||
|
{
|
||||||
|
Plan = Plans,
|
||||||
|
Lathe = context.Lathes.First(x => x.Id == pc.Key),
|
||||||
|
Count = pc.Value.Item2
|
||||||
|
});
|
||||||
|
context.SaveChanges();
|
||||||
|
}
|
||||||
|
_planLathes = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void UpdateComponents(FactoryDatabase context, PlanBindingModel model)
|
||||||
|
{
|
||||||
|
var PlanComponents = context.PlanComponents.Where(rec => rec.PlanId == model.Id).ToList();
|
||||||
|
if (PlanComponents != null && PlanComponents.Count > 0)
|
||||||
|
{
|
||||||
|
context.PlanComponents.RemoveRange(PlanComponents.Where(rec => !model.PlanComponents.ContainsKey(rec.ComponentId)));
|
||||||
|
context.SaveChanges();
|
||||||
|
PlanComponents = context.PlanComponents.Where(rec => rec.PlanId == model.Id).ToList();
|
||||||
|
foreach (var updateComponent in PlanComponents)
|
||||||
|
{
|
||||||
|
updateComponent.Count = model.PlanComponents[updateComponent.ComponentId].Item2;
|
||||||
|
model.PlanComponents.Remove(updateComponent.ComponentId);
|
||||||
|
}
|
||||||
|
context.SaveChanges();
|
||||||
|
}
|
||||||
|
var Plans = context.Plans.First(x => x.Id == Id);
|
||||||
|
foreach (var pc in model.PlanComponents)
|
||||||
|
{
|
||||||
|
context.PlanComponents.Add(new PlanComponents
|
||||||
|
{
|
||||||
|
Plan = Plans,
|
||||||
|
Component = context.Components.First(x => x.Id == pc.Key),
|
||||||
|
Count = pc.Value.Item2
|
||||||
|
});
|
||||||
|
context.SaveChanges();
|
||||||
|
}
|
||||||
|
_planComponents = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,27 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace FactoryDatabaseImplement.Models
|
||||||
|
{
|
||||||
|
public class PlanComponents
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public int PlanId { get; set; }
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public int ComponentId { get; set; }
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public int Count { get; set; }
|
||||||
|
|
||||||
|
public virtual Component Component { get; set; } = new();
|
||||||
|
|
||||||
|
public virtual Plan Plan { get; set; } = new();
|
||||||
|
}
|
||||||
|
}
|
27
FactoryView/FactoryDatabaseImplement/Models/PlanLathe.cs
Normal file
27
FactoryView/FactoryDatabaseImplement/Models/PlanLathe.cs
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace FactoryDatabaseImplement.Models
|
||||||
|
{
|
||||||
|
public class PlanLathe
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public int PlanId { get; set; }
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public int LatheId { get; set; }
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public int Count { get; set; }
|
||||||
|
|
||||||
|
public virtual Plan Plan { get; set; } = new();
|
||||||
|
|
||||||
|
public virtual Lathe Lathe { get; set; } = new();
|
||||||
|
}
|
||||||
|
}
|
102
FactoryView/FactoryDatabaseImplement/Models/Reinforced.cs
Normal file
102
FactoryView/FactoryDatabaseImplement/Models/Reinforced.cs
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
using FactoryDataModels.Models;
|
||||||
|
using FactoryContracts.BindingModels;
|
||||||
|
using FactoryContracts.ViewModels;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace FactoryDatabaseImplement.Models
|
||||||
|
{
|
||||||
|
public class Reinforced : IReinforcedModel
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public string ReinforcedName { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public double Price { get; set; }
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public int EngenierId { get; set; }
|
||||||
|
|
||||||
|
private Dictionary<int, (IComponentModel, int)>? _reinforcedComponents = null;
|
||||||
|
|
||||||
|
[NotMapped]
|
||||||
|
public Dictionary<int, (IComponentModel, int)> ReinforcedComponents
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (_reinforcedComponents == null)
|
||||||
|
{
|
||||||
|
_reinforcedComponents = Components
|
||||||
|
.ToDictionary(recPC => recPC.ComponentId, recPC => (recPC.Component as IComponentModel, recPC.Count));
|
||||||
|
}
|
||||||
|
return _reinforcedComponents;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[ForeignKey("ReinforcedId")]
|
||||||
|
public virtual List<ReinforcedComponent> Components { get; set; } = new();
|
||||||
|
|
||||||
|
|
||||||
|
public static Reinforced Create(FactoryDatabase context, ReinforcedBindingModel model)
|
||||||
|
{
|
||||||
|
return new Reinforced()
|
||||||
|
{
|
||||||
|
Id = model.Id,
|
||||||
|
ReinforcedName = model.ReinforcedName,
|
||||||
|
Components = model.ReinforcedComponents.Select(x => new ReinforcedComponent
|
||||||
|
{
|
||||||
|
Component = context.Components.First(y => y.Id == x.Key),
|
||||||
|
Count = x.Value.Item2
|
||||||
|
}).ToList()
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Update(ReinforcedBindingModel model)
|
||||||
|
{
|
||||||
|
ReinforcedName = model.ReinforcedName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ReinforcedViewModel GetViewModel => new()
|
||||||
|
{
|
||||||
|
Id = Id,
|
||||||
|
ReinforcedName = ReinforcedName,
|
||||||
|
ReinforcedComponents = ReinforcedComponents
|
||||||
|
};
|
||||||
|
|
||||||
|
public void UpdateComponents(FactoryDatabase context, ReinforcedBindingModel model)
|
||||||
|
{
|
||||||
|
var ReinforcedComponents = context.ReinforcedComponents.Where(rec => rec.ReinforcedId == model.Id).ToList();
|
||||||
|
if (ReinforcedComponents != null && ReinforcedComponents.Count > 0)
|
||||||
|
{
|
||||||
|
context.ReinforcedComponents.RemoveRange(ReinforcedComponents.Where(rec => !model.ReinforcedComponents.ContainsKey(rec.ComponentId)));
|
||||||
|
context.SaveChanges();
|
||||||
|
ReinforcedComponents = context.ReinforcedComponents.Where(rec => rec.ReinforcedId == model.Id).ToList();
|
||||||
|
foreach (var updateComponent in ReinforcedComponents)
|
||||||
|
{
|
||||||
|
updateComponent.Count = model.ReinforcedComponents[updateComponent.ComponentId].Item2;
|
||||||
|
model.ReinforcedComponents.Remove(updateComponent.ComponentId);
|
||||||
|
}
|
||||||
|
context.SaveChanges();
|
||||||
|
}
|
||||||
|
var Reinforced = context.Reinforceds.First(x => x.Id == Id);
|
||||||
|
foreach (var pc in model.ReinforcedComponents)
|
||||||
|
{
|
||||||
|
context.ReinforcedComponents.Add(new ReinforcedComponent
|
||||||
|
{
|
||||||
|
Reinforced = Reinforced,
|
||||||
|
Component = context.Components.First(x => x.Id == pc.Key),
|
||||||
|
Count = pc.Value.Item2
|
||||||
|
});
|
||||||
|
context.SaveChanges();
|
||||||
|
}
|
||||||
|
_reinforcedComponents = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,27 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace FactoryDatabaseImplement.Models
|
||||||
|
{
|
||||||
|
public class ReinforcedComponent
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public int ReinforcedId { get; set; }
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public int ComponentId { get; set; }
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public int Count { get; set; }
|
||||||
|
|
||||||
|
public virtual Component Component { get; set; } = new();
|
||||||
|
|
||||||
|
public virtual Reinforced Reinforced { get; set; } = new();
|
||||||
|
}
|
||||||
|
}
|
47
FactoryView/FactoryDatabaseImplement/Models/Stage.cs
Normal file
47
FactoryView/FactoryDatabaseImplement/Models/Stage.cs
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
using FactoryContracts.BindingModels;
|
||||||
|
using FactoryContracts.ViewModels;
|
||||||
|
using FactoryDataModels.Models;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace FactoryDatabaseImplement.Models
|
||||||
|
{
|
||||||
|
public class Stage : IStageModel
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public int PlanId { get; set; }
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public int ReinforsedId { get; set; }
|
||||||
|
|
||||||
|
public static Stage Create(FactoryDatabase context, StageBindingModel model)
|
||||||
|
{
|
||||||
|
return new Stage()
|
||||||
|
{
|
||||||
|
Id = model.Id,
|
||||||
|
ReinforsedId = model.ReinforsedId,
|
||||||
|
PlanId = model.PlanId
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Update(StageBindingModel model)
|
||||||
|
{
|
||||||
|
ReinforsedId = model.ReinforsedId;
|
||||||
|
PlanId = model.PlanId;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public StageViewModel GetViewModel => new()
|
||||||
|
{
|
||||||
|
Id = Id,
|
||||||
|
ReinforsedId = ReinforsedId,
|
||||||
|
PlanId = PlanId
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
46
FactoryView/FactoryView/Form1.Designer.cs
generated
Normal file
46
FactoryView/FactoryView/Form1.Designer.cs
generated
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
namespace Factory
|
||||||
|
{
|
||||||
|
partial class Form1
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
SuspendLayout();
|
||||||
|
//
|
||||||
|
// Form1
|
||||||
|
//
|
||||||
|
AutoScaleDimensions = new SizeF(8F, 20F);
|
||||||
|
AutoScaleMode = AutoScaleMode.Font;
|
||||||
|
ClientSize = new Size(800, 450);
|
||||||
|
Name = "Form1";
|
||||||
|
Text = "Form1";
|
||||||
|
Load += Form1_Load;
|
||||||
|
ResumeLayout(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
15
FactoryView/FactoryView/Form1.cs
Normal file
15
FactoryView/FactoryView/Form1.cs
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
namespace Factory
|
||||||
|
{
|
||||||
|
public partial class Form1 : Form
|
||||||
|
{
|
||||||
|
public Form1()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Form1_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
60
FactoryView/FactoryView/Form1.resx
Normal file
60
FactoryView/FactoryView/Form1.resx
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
<root>
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
</root>
|
41
FactoryView/FactoryView/Program.cs
Normal file
41
FactoryView/FactoryView/Program.cs
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
using Factory;
|
||||||
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
|
using NLog.Extensions.Logging;
|
||||||
|
using System;
|
||||||
|
|
||||||
|
namespace FactoryView
|
||||||
|
{
|
||||||
|
internal static class Program
|
||||||
|
{
|
||||||
|
private static ServiceProvider? _serviceProvider;
|
||||||
|
|
||||||
|
public static ServiceProvider? ServiceProvider => _serviceProvider;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The main entry point for the application.
|
||||||
|
/// </summary>
|
||||||
|
[STAThread]
|
||||||
|
static void Main()
|
||||||
|
{
|
||||||
|
// To customize application configuration such as set high DPI settings or default font;
|
||||||
|
// see https://aka.ms/applicationconfiguration.
|
||||||
|
ApplicationConfiguration.Initialize();
|
||||||
|
var services = new ServiceCollection();
|
||||||
|
ConfigureServices(services);
|
||||||
|
_serviceProvider = services.BuildServiceProvider();
|
||||||
|
Application.Run(_serviceProvider.GetRequiredService<Form1>());
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void ConfigureServices(ServiceCollection services)
|
||||||
|
{
|
||||||
|
services.AddLogging(option =>
|
||||||
|
{
|
||||||
|
option.SetMinimumLevel(LogLevel.Information);
|
||||||
|
option.AddNLog("nlog.config");
|
||||||
|
});
|
||||||
|
|
||||||
|
services.AddTransient<Form1>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user