Diplom_B/DB/WorkDB.cs
2021-07-17 22:32:53 +05:00

682 lines
13 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Diplom_B.DB
{
public static class WorkDB
{
public static void Init()
{
using (var DB = new MainDB())
{
{
var usr = (from u in DB.Users
where u.Name == "admin"
select u).ToArray();
if (usr.Length < 1)
{
DB.Users.Add(new DB.User()
{
Name = "admin",
Pass = "admin",
Dog = 3,
Doc = 3,
Izv = 3,
Post = 3,
Izd = 3,
Zak = 3,
Set = 3,
Default = 6
});
}
}
{
var stat = (from u in DB.Statusy
select u).ToArray();
if (stat.Length < 1)
{
DB.Statusy.Add(new Status() {Stat = "Без статуса." });
}
}
DB.SaveChanges();
}
}
public static User[] ListUser(string filter = "")
{
var f = filter.ToLower();
try
{
using (var db = new MainDB())
{
if (string.IsNullOrEmpty(filter))
{
var tmp = (from a in db.Users
select a).ToArray();
return tmp;
}
else
{
var tmp = (from a in db.Users
where
a.Id.ToString().ToLower().Contains(f) ||
a.Name.ToLower().Contains(f)
select a).ToArray();
return tmp;
}
}
}
catch { throw; }
}
public static User GetUser(int id)
{
try
{
using (var db = new MainDB())
{
var res = (from a in db.Users
where a.Id == id
select a).ToArray();
if (res.Length != 1)
return null;
else
return res[0];
}
}
catch { throw; }
}
public static void AddUser(User usr)
{
try
{
using (var db = new MainDB())
{
db.Users.Add(usr);
db.SaveChanges();
}
}
catch { throw; }
}
public static void ChangeUser(User usr)
{
try
{
using (var db = new MainDB())
{
db.Users.Update(usr);
db.SaveChanges();
}
}
catch { throw; }
}
public static void DeleteUser(User usr)
{
try
{
using (var db = new MainDB())
{
db.Users.Remove(usr);
db.SaveChanges();
}
}
catch { throw; }
}
public static string[] GetUserList()
{
try
{
using (var db = new MainDB())
{
var usrName = (from a in db.Users
select a.Name).ToArray();
return usrName;
}
}
catch { throw; }
}
public static Izdelie[] ListIzdelie(string filter = "")
{
var f = filter.ToLower();
try
{
using (var db = new MainDB())
{
if (string.IsNullOrEmpty(filter))
{
var tmp = (from a in db.Izdeliya
select a).ToArray();
return tmp;
}
else
{
var tmp = (from a in db.Izdeliya
where
a.Id.ToString().ToLower().Contains(f) ||
a.Name.ToLower().Contains(f) ||
a.DecNum.ToLower().Contains(f) ||
a.Shifr.ToLower().Contains(f) ||
a.Litera.ToLower().Contains(f) ||
a.Cena.ToString("F2").ToLower().Contains(f) ||
a.OtdelRazrab.ToString().ToLower().Contains(f) ||
a.Ved.ToLower().Contains(f) ||
a.GlavKonstr.ToLower().Contains(f)
select a).ToArray();
return tmp;
}
}
}
catch { throw; }
}
public static Izdelie GetIzdelie(int id)
{
try
{
using (var db = new MainDB())
{
var res = (from a in db.Izdeliya
where a.Id == id
select a).ToArray();
if (res.Length != 1)
return null;
else
return res[0];
}
}
catch { throw; }
}
public static void AddIzdelie(Izdelie izd)
{
try
{
using (var db = new MainDB())
{
db.Izdeliya.Add(izd);
db.SaveChanges();
}
}
catch { throw; }
}
public static void ChangeIzdelie(Izdelie izd)
{
try
{
using (var db = new MainDB())
{
db.Izdeliya.Update(izd);
db.SaveChanges();
}
}
catch { throw; }
}
public static void DeleteIzdelie(Izdelie izd)
{
try
{
using (var db = new MainDB())
{
db.Izdeliya.Remove(izd);
db.SaveChanges();
}
}
catch { throw; }
}
public static Postavka[] GetPostavkyFromIzdeliya(int id)
{
try
{
using (var db = new MainDB())
{
var post = (from a in db.Postavki
where a.IzdelieId == id
select a).ToArray();
return post;
}
}
catch { throw; }
}
public static Dogovor[] GetDogovoryFromIzdeliya(int id)
{
try
{
using (var db = new MainDB())
{
var post = (from a in db.DogIzds
where a.IzdelieId == id
select a.Dogovor).ToList();
for (var i = 0; i < post.Count; i++)
while ((post.FindAll(x => x.Id == post[i].Id).Count > 1))
post.RemoveAt(i);
return post.ToArray();
}
}
catch { throw; }
}
public static Izveschenie[] ListIzveschenie(string filter = "")
{
var f = filter.ToLower();
try
{
using (var db = new MainDB())
{
if (string.IsNullOrEmpty(filter))
{
var tmp = (from a in db.Izvescheniya
select a).ToArray();
return tmp;
}
else
{
var tmp = (from a in db.Izvescheniya
where
a.Id.ToString().ToLower().Contains(f) ||
a.IzvNum.ToLower().Contains(f) ||
a.InvNum.ToString().ToLower().Contains(f) ||
a.IzmNum.ToString().ToLower().Contains(f) ||
a.UkazZad.ToLower().Contains(f) ||
a.UkazVnedr.ToLower().Contains(f) ||
a.FileName.ToLower().Contains(f)
select a).ToArray();
return tmp;
}
}
}
catch { throw; }
}
public static Izveschenie GetIzveschenie(int id)
{
try
{
using (var db = new MainDB())
{
var res = (from a in db.Izvescheniya
where a.Id == id
select a).ToArray();
if (res.Length != 1)
return null;
else
return res[0];
}
}
catch { throw; }
}
public static void AddIzveschenie(Izveschenie izv)
{
try
{
using (var db = new MainDB())
{
db.Izvescheniya.Add(izv);
db.SaveChanges();
}
}
catch { throw; }
}
public static void ChangeIzveschenie(Izveschenie izv)
{
try
{
using (var db = new MainDB())
{
db.Izvescheniya.Update(izv);
db.SaveChanges();
}
}
catch { throw; }
}
public static void DeleteIzveschenie(Izveschenie izv)
{
try
{
using (var db = new MainDB())
{
db.Izvescheniya.Remove(izv);
db.SaveChanges();
}
}
catch { throw; }
}
public static Document[] GetDocumentyFromIzvechenie(int id)
{
try
{
using (var db = new MainDB())
{
var doc = (from a in db.Documenty
where a.DocIzvs.FindAll(x => x.IzveschenieId == id).Count > 0
select a).ToArray();
return doc;
}
}
catch { throw; }
}
public static Zakazchik[] ListZakazchik(string filter = "")
{
var f = filter.ToLower();
try
{
using (var db = new MainDB())
{
if (string.IsNullOrEmpty(filter))
{
var tmp = (from a in db.Zakazchiki
select a).ToArray();
return tmp;
}
else
{
var tmp = (from a in db.Zakazchiki
where
a.Id.ToString().ToLower().Contains(f) ||
a.Name.ToLower().Contains(f) ||
a.Adress.ToLower().Contains(f) ||
a.Phone.ToLower().Contains(f) ||
a.Email.ToLower().Contains(f)
select a).ToArray();
return tmp;
}
}
}
catch { throw; }
}
public static Zakazchik GetZakazchik(int id)
{
try
{
using (var db = new MainDB())
{
var res = (from a in db.Zakazchiki
where a.Id == id
select a).ToArray();
if (res.Length != 1)
return null;
else
return res[0];
}
}
catch { throw; }
}
public static void AddZakazchik(Zakazchik zak)
{
try
{
using (var db = new MainDB())
{
db.Zakazchiki.Add(zak);
db.SaveChanges();
}
}
catch { throw; }
}
public static void ChangeZakazchik(Zakazchik zak)
{
try
{
using (var db = new MainDB())
{
db.Zakazchiki.Update(zak);
db.SaveChanges();
}
}
catch { throw; }
}
public static void DeleteZakazchik(Zakazchik zak)
{
try
{
using (var db = new MainDB())
{
db.Zakazchiki.Remove(zak);
db.SaveChanges();
}
}
catch { throw; }
}
public static string[] GetZakazchikList()
{
try
{
using (var db = new MainDB())
{
var usrName = (from a in db.Zakazchiki
select a.Name).ToArray();
return usrName;
}
}
catch { throw; }
}
public static Dogovor[] GetDogovoryFromZakazchik(int id)
{
try
{
using (var db = new MainDB())
{
var dog = (from a in db.Dogovory
where a.ZakazchikId == id
select a).ToArray();
return dog;
}
}
catch { throw; }
}
public static Status[] ListStatus()
{
try
{
using (var db = new MainDB())
{
var tmp = (from a in db.Statusy
select a).ToArray();
return tmp;
}
}
catch { throw; }
}
public static Status GetStatus(int id)
{
try
{
using (var db = new MainDB())
{
var res = (from a in db.Statusy
where a.Id == id
select a).ToArray();
if (res.Length != 1)
return null;
else
return res[0];
}
}
catch { throw; }
}
public static void AddStatus(Status stat)
{
try
{
using (var db = new MainDB())
{
db.Statusy.Add(stat);
db.SaveChanges();
}
}
catch { throw; }
}
public static void ChangeStatus(Status stat)
{
try
{
using (var db = new MainDB())
{
db.Statusy.Update(stat);
db.SaveChanges();
}
}
catch { throw; }
}
public static void DeleteStatus(Status stat)
{
try
{
using (var db = new MainDB())
{
db.Statusy.Remove(stat);
db.SaveChanges();
}
}
catch { throw; }
}
public static Postavka[] GetPostavkyFromStatus(int id)
{
try
{
using (var db = new MainDB())
{
var post = (from a in db.Postavki
where a.StatusId == id
select a).ToArray();
return post;
}
}
catch { throw; }
}
public static string[] GetStatusList()
{
try
{
using (var db = new MainDB())
{
var tmp = (from a in db.Statusy
select a.Stat).ToArray();
return tmp;
}
}
catch { throw; }
}
public static int? GetIdStatus(string name)
{
try
{
using (var db = new MainDB())
{
var tmp = (from a in db.Statusy
where a.Stat == name
select a.Id).ToArray();
if (tmp.Length == 1)
return tmp[0];
else
return null;
}
}
catch { throw; }
}
public static Postavka[] ListPostavka(string filter = "")
{
var f = filter.ToLower();
try
{
using (var db = new MainDB())
{
if (string.IsNullOrEmpty(filter))
{
var tmp = (from a in db.Postavki
select a).ToArray();
return tmp;
}
else
{
var tmp = (from a in db.Postavki
where
a.Id.ToString().ToLower().Contains(f) ||
a.ZavNum.ToLower().Contains(f) ||
a.DataPostavki.ToString("yyyy.MM.dd").ToLower().Contains(f) ||
a.Status.Stat.ToString().ToLower().Contains(f) ||
a.Primechanie.ToLower().Contains(f)
select a).ToArray();
return tmp;
}
}
}
catch { throw; }
}
public static Postavka GetPostavka(int id)
{
try
{
using (var db = new MainDB())
{
var res = (from a in db.Postavki
where a.Id == id
select a).ToArray();
if (res.Length != 1)
return null;
else
return res[0];
}
}
catch { throw; }
}
public static void AddPostavka(Postavka post)
{
try
{
using (var db = new MainDB())
{
db.Postavki.Add(post);
db.SaveChanges();
}
}
catch { throw; }
}
public static void ChangePostavka(Postavka post)
{
try
{
using (var db = new MainDB())
{
db.Postavki.Update(post);
db.SaveChanges();
}
}
catch { throw; }
}
public static void DeletePostavka(Postavka post)
{
try
{
using (var db = new MainDB())
{
db.Postavki.Remove(post);
db.SaveChanges();
}
}
catch { throw; }
}
public static string[] GetPostavkiZavNum()
{
try
{
using (var db = new MainDB())
{
var post = (from a in db.Postavki
select a.ZavNum).ToArray();
return post;
}
}
catch { throw; }
}
}
}