Exemple #1
0
        private void BtnAddedViewer_OnClick(object sender, RoutedEventArgs e)
        {
            try
            {
                Logger.Info("Getting started: BtnAddedViewer_OnClick");
                VIEWER viewer = GetWindowFields();

                ThreadPool.QueueUserWorkItem(obj =>
                {
                    Manager.Entity = viewer;

                    Manager.AddNewRow();

                    if (Manager.IsOk)
                    {
                        this.GuiSync(Close);
                    }
                });
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                MessageBox.Show(ex.Message, "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
Exemple #2
0
        public void WithViewerTest()
        {
            using (LibraryDb db = LibraryDb.GetDbContext())
            {
                VIEWER viewer = new VIEWER {
                    ADDRESS = "test", EMAIL = "*****@*****.**", NAME = "test", PHONE = "testtest"
                };

                using (DbManager <VIEWER> manager = new DbManager <VIEWER>(new ManagerViewer(), viewer))
                {
                    //add viewer test
                    manager.AddNewRow();
                    VIEWER dbViewer = db.VIEWERS.SingleOrDefault(v => v.ID == viewer.ID);
                    Assert.IsNotNull(dbViewer);

                    //Change VIEWER test
                    dbViewer.MIDDLE_NAME = someText;
                    manager.Entity       = dbViewer;
                    manager.UpdateRow();
                    dbViewer = db.VIEWERS.SingleOrDefault(b => b.ID == viewer.ID);
                    Assert.AreEqual(true, dbViewer?.MIDDLE_NAME == someText);

                    //deleted test VIEWER
                    manager.RemoveRow();
                    dbViewer = db.VIEWERS.SingleOrDefault(b => b.ID == viewer.ID);
                    Assert.IsNull(dbViewer);
                }
            }
        }
Exemple #3
0
        public static void UpdateViewer(VIEWER viewer, LibraryDb dbContext = null)
        {
            using (LibraryDb db = LibraryDb.GetDbContext(dbContext))
            {
                using (TransactionScope transaction = new TransactionScope())
                {
                    if (viewer == null)
                    {
                        throw new ArgumentNullException($"book: {nameof(viewer)}");
                    }

                    VIEWER dbViewer = db.VIEWERS.SingleOrDefault(v => v.ID == viewer.ID);
                    if (dbViewer == null)
                    {
                        throw new Exception($"Книга с {viewer.ID} не найдена!");
                    }

                    dbViewer.NAME        = viewer.NAME;
                    dbViewer.SURNAME     = viewer.SURNAME;
                    dbViewer.MIDDLE_NAME = viewer.MIDDLE_NAME;
                    dbViewer.ADDRESS     = viewer.ADDRESS;
                    dbViewer.PHONE       = viewer.PHONE;
                    dbViewer.EMAIL       = viewer.EMAIL;

                    db.SaveChanges();
                    transaction.Complete();
                }
            }
        }
Exemple #4
0
        public void TestViewer()
        {
            using (LibraryDb db = LibraryDb.GetDbContext())
            {
                var viewers = ViewerBl.GetViewers();

                //add viewer test
                VIEWER viewer = new VIEWER {
                    ADDRESS = "test", EMAIL = "*****@*****.**", NAME = "test", PHONE = "testtest"
                };
                ViewerBl.AddNewViewer(viewer);
                VIEWER dbViewer = db.VIEWERS.SingleOrDefault(v => v.ID == viewer.ID);
                Assert.IsNotNull(dbViewer);

                //Change VIEWER test
                dbViewer.MIDDLE_NAME = someText;
                ViewerBl.UpdateViewer(dbViewer);
                dbViewer = db.VIEWERS.SingleOrDefault(b => b.ID == viewer.ID);
                Assert.AreEqual(true, dbViewer?.MIDDLE_NAME == someText);

                //deleted test VIEWER
                ViewerBl.ViewersRemove(new[] { viewer.ID });
                dbViewer = db.VIEWERS.SingleOrDefault(b => b.ID == viewer.ID);
                Assert.IsNull(dbViewer);
            }
        }
Exemple #5
0
        public static void AddNewViewer(VIEWER viewer, LibraryDb dbContext = null)
        {
            using (LibraryDb db = LibraryDb.GetDbContext(dbContext))
            {
                using (TransactionScope transaction = new TransactionScope())
                {
                    db.VIEWERS.Add(viewer);

                    db.SaveChanges();

                    transaction.Complete();
                }
            }
        }
Exemple #6
0
        private VIEWER GetWindowFields()
        {
            VIEWER viewer = new VIEWER
            {
                ID          = SelectedViewer?.ID ?? 0,
                NAME        = txtName.Text,
                SURNAME     = txtSurname.Text,
                MIDDLE_NAME = txtMiddleName.Text,
                ADDRESS     = txtAddress.Text,
                PHONE       = txtPhone.Text,
                EMAIL       = txtEmail.Text
            };

            if (!string.IsNullOrWhiteSpace(viewer.EMAIL) && !new[] { "@", "." }.All(v => viewer.EMAIL.Contains(v)))
            {
                throw new Exception($"Почта {viewer.SURNAME} введена не верно!");
            }

            return(viewer);
        }
Exemple #7
0
        public static void ViewersRemove(decimal[] idViewers, LibraryDb dbContext = null)
        {
            using (LibraryDb db = LibraryDb.GetDbContext(dbContext))
            {
                using (TransactionScope transaction = new TransactionScope())
                {
                    foreach (decimal id in idViewers)
                    {
                        VIEWER viewer = db.VIEWERS.SingleOrDefault(b => b.ID == id);

                        if (viewer != null)
                        {
                            db.VIEWERS.Remove(viewer);
                        }
                    }

                    db.SaveChanges();

                    transaction.Complete();
                }
            }
        }