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); } }
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); } } }
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(); } } }
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); } }
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(); } } }
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); }
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(); } } }