コード例 #1
0
 public void AddCitizen(string name, string surname, string patronym)
 {
     if (!(string.IsNullOrEmpty(name) && string.IsNullOrWhiteSpace(name))
         &&
         !(string.IsNullOrEmpty(surname) && string.IsNullOrWhiteSpace(surname))
         &&
         !(string.IsNullOrEmpty(patronym) && string.IsNullOrWhiteSpace(patronym)))
     {
         Citizen ctz = new Citizen()
         {
             Name     = name,
             Surname  = surname,
             Patronym = patronym
         };
         using (var db = new CitizenDbContext())
         {
             db.Citizens.Add(ctz);
             db.SaveChanges();
         }
     }
     else
     {
         throw new System.InvalidOperationException("Fields are empty");
     }
 }
コード例 #2
0
 public AddDocumentModel()
 {
     using (var db = new CitizenDbContext())
     {
         ObservableCollection <Citizen> citizens = new ObservableCollection <Citizen>(db.Citizens);
         Citizens = new ReadOnlyObservableCollection <Citizen>(citizens);
     }
 }
コード例 #3
0
 public void AddCitizen(Citizen ctz)
 {
     if (ctz != null)
     {
         _citizens.Add(ctz);
         using (var db = new CitizenDbContext())
         {
             db.Citizens.Add(ctz);
             db.SaveChanges();
         }
     }
 }
コード例 #4
0
        public void RefreshTables()
        {
            _citizens.Clear();
            _persons.Clear();
            _documents.Clear();

            using (var db = new CitizenDbContext())
            {
                _citizens.AddRange(db.Citizens);
                _persons.AddRange(db.Persons);
                _documents.AddRange(db.Documents);
            }
        }
コード例 #5
0
        public MainWindowModel()
        {
            Citizens  = new ReadOnlyObservableCollection <Citizen>(_citizens);
            Persons   = new ReadOnlyObservableCollection <Person>(_persons);
            Documents = new ReadOnlyObservableCollection <Document>(_documents);

            using (var db = new CitizenDbContext())
            {
                _citizens.AddRange(db.Citizens);
                _persons.AddRange(db.Persons);
                _documents.AddRange(db.Documents);
            }
        }
コード例 #6
0
        public void AddDocument(string name, int?serial, string whereIssued, DateTime date, Citizen ctz)
        {
            Document doc = new Document()
            {
                Name        = name,
                Serial      = serial.Value,
                WhereIssued = whereIssued,
                DateIssued  = date,
                CitizenId   = ctz.Id
            };

            using (var db = new CitizenDbContext())
            {
                db.Documents.Add(doc);
                db.SaveChanges();
            }
        }
コード例 #7
0
        public void AddPerson(int cypher, int inn, string type, DateTime date, Citizen ctz)
        {
            Person prs = new Person()
            {
                Cypher    = cypher,
                Inn       = inn,
                Type      = type,
                Date      = date,
                CitizenId = ctz.Id
            };

            using (var db = new CitizenDbContext())
            {
                db.Persons.Add(prs);
                db.SaveChanges();
            }
        }
コード例 #8
0
 //не используется
 public void EditCitizen(string name, string surname, string patronym)
 {
     using (var db = new CitizenDbContext())
     {
         Citizen ctz = new Citizen()
         {
             Name     = name,
             Surname  = surname,
             Patronym = patronym
         };
         var citizen = (from i in db.Citizens where i.Id == ctz.Id select i).First();
         citizen.Name     = ctz.Name;
         citizen.Surname  = ctz.Surname;
         citizen.Patronym = ctz.Patronym;
         db.SaveChanges();
         Debug.WriteLine("Изменение завершено");
     }
 }
コード例 #9
0
 private void Button_Click(object sender, RoutedEventArgs e)
 {
     using (var db = new CitizenDbContext())
     {
         if (int.TryParse(tbCypher.Text, out int cypherToFind))
         {
             try
             {
                 var person   = (from i in db.Persons where i.Cypher == cypherToFind select i).First();
                 var citizen  = (from i in db.Citizens where i.Id == person.CitizenId select i).First();
                 var document = (from i in db.Documents where i.CitizenId == person.CitizenId select i).First();
                 MessageBox.Show(citizen + "\n" + person + "\n" + document);
             }
             catch (Exception)
             {
                 MessageBox.Show("Ничего не найдено");
             }
         }
     }
 }
コード例 #10
0
        public MainWindowVM()
        {
            _model.PropertyChanged += (sender, args) => { RaisePropertyChanged(args.PropertyName); };

            RefreshCitizenTable = new DelegateCommand(() =>
            {
                _model.RefreshTables();
            });

            AddCitizen = new DelegateCommand(() =>
            {
                AddCitizenWindow acw = new AddCitizenWindow();
                acw.ShowDialog();
                _model.RefreshTables();
            });

            EditCitizen = new DelegateCommand(() =>
            {
                EditCitizenWindow ecw = new EditCitizenWindow();
                ecw.DataContext       = SelectedCitizen;
                Citizen ctz           = SelectedCitizen;
                if (ecw.ShowDialog() == true)
                {
                    using (var db = new CitizenDbContext())
                    {
                        var citizen      = (from i in db.Citizens where i.Id == ctz.Id select i).First();
                        citizen.Name     = ctz.Name;
                        citizen.Surname  = ctz.Surname;
                        citizen.Patronym = ctz.Patronym;
                        db.SaveChanges();
                    }
                    _model.RefreshTables();
                }
            });

            DeleteCitizen = new DelegateCommand(() =>
            {
                using (var db = new CitizenDbContext())
                {
                    var citizen = (from i in db.Citizens where i.Id == SelectedCitizen.Id select i).First();
                    db.Citizens.Remove(citizen);
                    db.SaveChanges();
                }
                _model.RefreshTables();
            });

            AddPerson = new DelegateCommand(() =>
            {
                AddPersonWindow apw = new AddPersonWindow();
                apw.ShowDialog();
                _model.RefreshTables();
            });

            EditPerson = new DelegateCommand(() =>
            {
                EditPersonWindow epw = new EditPersonWindow();
                Person prs           = SelectedPerson;
                epw.DataContext      = prs;
                if (epw.ShowDialog() == true)
                {
                    using (var db = new CitizenDbContext())
                    {
                        var person       = (from i in db.Persons where i.Id == prs.Id select i).First();
                        person.Cypher    = prs.Cypher;
                        person.Inn       = prs.Inn;
                        person.Type      = prs.Type;
                        person.Date      = prs.Date;
                        person.CitizenId = prs.CitizenId;
                        db.SaveChanges();
                    }
                    _model.RefreshTables();
                }
            });

            DeletePerson = new DelegateCommand(() =>
            {
                using (var db = new CitizenDbContext())
                {
                    var person = (from i in db.Persons where i.Id == SelectedPerson.Id select i).First();
                    db.Persons.Remove(person);
                    db.SaveChanges();
                }
                _model.RefreshTables();
            });

            AddDocument = new DelegateCommand(() =>
            {
                AddDocumentWindow adw = new AddDocumentWindow();
                adw.ShowDialog();
                _model.RefreshTables();
            });

            EditDocument = new DelegateCommand(() =>
            {
                EditDocumentWindow edw = new EditDocumentWindow();
                Document doc           = SelectedDocument;
                edw.DataContext        = doc;
                if (edw.ShowDialog() == true)
                {
                    using (var db = new CitizenDbContext())
                    {
                        var document         = (from i in db.Documents where i.Id == doc.Id select i).First();
                        document.Name        = doc.Name;
                        document.Serial      = doc.Serial;
                        document.WhereIssued = doc.WhereIssued;
                        document.DateIssued  = doc.DateIssued;
                        document.CitizenId   = doc.CitizenId;
                        db.SaveChanges();
                    }
                    _model.RefreshTables();
                }
            });

            DeleteDocument = new DelegateCommand(() =>
            {
                using (var db = new CitizenDbContext())
                {
                    var document = (from i in db.Documents where i.Id == SelectedDocument.Id select i).First();
                    db.Documents.Remove(document);
                    db.SaveChanges();
                }
                _model.RefreshTables();
            });

            FindByCypher = new DelegateCommand(() =>
            {
                FindByCypherWindow fbc = new FindByCypherWindow();
                fbc.Show();
            });

            SaveToJSON = new DelegateCommand(() =>
            {
                _model.SaveToJSON(Citizens, Persons, Documents);
                MessageBox.Show("Все сохранено");
            });
        }