Example #1
0
        public void isPropertiesSameLibraryMembersTest()
        {
            // Arrange
            LibraryMember L1 = new LibraryMember();

            LibraryMember L2 = new LibraryMember()
            {
                MemberID        = 1000,
                NameFirst       = "John",
                NameInitial     = "J",
                NameLast        = "smith",
                Username        = "******",
                Password        = "******",
                ConfirmPassword = "******",
                Address         = "Donegal",
                Street          = "Donegal",
                Town            = "Donegal",
                County          = "Donegal",
                Country         = "Ireland",
                Postcode        = "PPP ppp",
                Classification  = 1
            };

            // Assert
            Assert.IsTrue(areObjectPropertiesEqual(L1, L2));
        }
        private void btnUpdate_Click(object sender, RoutedEventArgs e)
        {
            LibraryMember updatemember = (from library in dc.LibraryMembers
                                          where library.MemberID == Id
                                          select library).Single();

            updatemember.MemberID        = int.Parse(this.tbxMemberID.Text);
            updatemember.NameFirst       = tbxNameFirst.Text;
            updatemember.NameInitial     = tbxNameInitial.Text;
            updatemember.NameLast        = tbxNameLast.Text;
            updatemember.Username        = tbxUsername.Text;
            updatemember.Password        = tbxPassword.Text;
            updatemember.ConfirmPassword = tbxConfirmPassword.Text;
            updatemember.Address         = tbxAddress.Text;
            updatemember.Street          = tbxStreet.Text;
            updatemember.Town            = tbxTown.Text;
            updatemember.County          = tbxCounty.Text;
            updatemember.Country         = tbxCountry.Text;
            updatemember.Postcode        = tbxPostcode.Text;
            updatemember.Classification  = int.Parse(this.tbxMemberID.Text);

            dc.SubmitChanges();
            viewlibrarymember.datagrid.ItemsSource = dc.LibraryMembers.ToList();
            this.Hide();
        }
Example #3
0
        public void areNotTheSameLoginTest()
        {
            // Arrange
            // from above - call L1
            LibraryMember L1 = new LibraryMember();

            LibraryMember L2 = new LibraryMember()
            {
                MemberID        = 1000,
                NameFirst       = "John",
                NameInitial     = "J",
                NameLast        = "smith",
                Username        = "******",
                Password        = "******",
                ConfirmPassword = "******",
                Address         = "Donegal",
                Street          = "Donegal",
                Town            = "Donegal",
                County          = "Donegal",
                Country         = "Ireland",
                Postcode        = "PPP ppp",
                Classification  = 1
            };

            // Act
            L1 = L2;

            // Assert
            Assert.AreNotSame(L1, L2, "L1 is the same as L2");
        }
Example #4
0
        public void areTheSameLoginTest()
        {
            // Arrange
            // from above - call L1
            LibraryMember L1 = new LibraryMember();

            LibraryMember L2 = new LibraryMember()
            {
                MemberID        = 1000,
                NameFirst       = "John",
                NameInitial     = "J",
                NameLast        = "Smith",
                Username        = "******",
                Password        = "******",
                ConfirmPassword = "******",
                Address         = "Donegal",
                Street          = "Donegal",
                Town            = "Donegal",
                County          = "Donegal",
                Country         = "Ireland",
                Postcode        = "PPP ppp",
                Classification  = 1
            };

            // Act
            // this points L1 and L2 to the same place in memory - statemrnt shoult be 'AreSame'
            L1 = L2;

            // Assert
            Assert.AreSame(L1, L2);
        }
Example #5
0
        public void functionToLoadLibraryMembersTest()
        {
            // Arrange
            // L1 from above
            LibraryMember L1 = new LibraryMember();

            LibraryMember L2 = new LibraryMember()
            {
                MemberID        = 1000,
                NameFirst       = "John",
                NameInitial     = "J",
                NameLast        = "smith",
                Username        = "******",
                Password        = "******",
                ConfirmPassword = "******",
                Address         = "Donegal",
                Street          = "Donegal",
                Town            = "Donegal",
                County          = "Donegal",
                Country         = "Ireland",
                Postcode        = "PPP ppp",
                Classification  = 1
            };

            // Assert
            Assert.AreNotSame(L1, L2, "L1 and L2 are not the same");
        }
        //*************************************************************************************************
        // buttons here
        //*************************************************************************************************
        public void btnInsert_Click(object sender, RoutedEventArgs e)
        {
            librarymember_insert functionToAddRowOfDataToDataGrid = new librarymember_insert();

            dc.SubmitChanges();

            LibraryMember newLibraryMemberObject = new LibraryMember()
            {
                MemberID        = int.Parse(this.tbxMemberID.Text),
                NameFirst       = tbxNameFirst.Text,
                NameInitial     = tbxNameInitial.Text,
                NameLast        = tbxNameLast.Text,
                Username        = tbxUsername.Text,
                Password        = tbxPassword.Text,
                ConfirmPassword = tbxConfirmPassword.Text,
                Address         = tbxAddress.Text,
                Street          = tbxStreet.Text,
                Town            = tbxTown.Text,
                County          = tbxCounty.Text,
                Country         = tbxCountry.Text,
                Postcode        = tbxPostcode.Text,
                Classification  = int.Parse(this.tbxClassification.Text)
            };

            dc.LibraryMembers.InsertOnSubmit(newLibraryMemberObject);
            dc.SubmitChanges();
            viewlibrarymember.datagrid.ItemsSource = dc.LibraryMembers.ToList();
            this.Hide();
        }
 protected void Requestbtn_Click(object sender, EventArgs e)
 {
     DBFunctions db = new DBFunctions();
     int stid = int.Parse(Session["userid"].ToString());
     LibraryMember member = new LibraryMember { UserID = stid, Status = 0,JoinDate=DateTime.Now.Date };
     db.requestlibrarymembership(member);
 }
Example #8
0
 /**************************************************************************************************
  * (8)
  * functionToPopulateLibraryMemberDetails
  * this method will populate the Library Member information within the DockPanel
  *************************************************************************************************/
 private void functionToPopulateLibraryMemberDetails(LibraryMember selectedLibraryMember)
 {
     dockUserPanel.Visibility = Visibility.Visible;
     tbxMemberID.Text         = selectedLibraryMember.MemberID.ToString();
     tbxNameFirst.Text        = selectedLibraryMember.NameFirst;
     tbxNameInitial.Text      = selectedLibraryMember.NameInitial;
     tbxNameLast.Text         = selectedLibraryMember.NameLast;
     tbxUsername.Text         = selectedLibraryMember.Username;
     tbxPassword.Text         = selectedLibraryMember.Password;
     tbxConfirmPassword.Text  = selectedLibraryMember.ConfirmPassword;
     tbxAddress.Text          = selectedLibraryMember.Address;
     tbxStreet.Text           = selectedLibraryMember.Street;
     tbxTown.Text             = selectedLibraryMember.Town;
     tbxCounty.Text           = selectedLibraryMember.County;
     tbxCountry.Text          = selectedLibraryMember.Country;
     tbxPostcode.Text         = selectedLibraryMember.Postcode;
     {
         //setting the index of the compo box
         if (selectedLibraryMember.Classification == 1)
         {
             cboClassification.SelectedIndex = 0;
         }
         if (selectedLibraryMember.Classification == 2)
         {
             cboClassification.SelectedIndex = 1;
         }
     }
 }
Example #9
0
        /**************************************************************************************************
        *  (6)
        *  buttons here
        *       - instance of librarymember class, called _libraryMemberDetails
        *       - gets the username from the tbxUsername and remove unnecessary spaces
        *       - gets the password from the tbxPassword and remove unnecessary spaces
        *       - runs 'functionToVerifyLibraryMemberDetails' method with the inputted username and password information
        *
        **************************************************************************************************/
        private void btnLogin_Click(object sender, RoutedEventArgs e)
        {
            LibraryMember _libraryMemberDetails = new LibraryMember();
            string        currentUsername       = tbxUsername.Text.Trim();
            string        currentPassword       = tbxPassword.Password;

            //Check if credentials are in Azure SQL Database
            _libraryMemberDetails = functionToVerifyLibraryMemberDetails(currentUsername, currentPassword);

            if (_libraryMemberDetails.Classification > 0)
            {
                this.Hide();
                //new instance of the Dashboard page
                dashboard.dashboard dashboard = new dashboard.dashboard();
                dashboard.Owner = this;

                //_instanceLibraryMember links user to the Dashboard
                dashboard._instanceLibraryMember = _libraryMemberDetails;
                dashboard.ShowDialog();
            }
            else
            {
                //output message if details are incorrect and clear out boxes
                MessageBox.Show("Your user details are invalid, please try again");
                tbxUsername.Text     = "";
                tbxPassword.Password = "";
                tbxUsername.Focus();
            }
        }
Example #10
0
 public List <BookTransaction> Transactions(LibraryMember libraryMember)
 {
     using (var conn = _db.CreateDbContext())
     {
         return(conn.Transactions.Where(t => t.LibraryMemberId == libraryMember.Id).ToList());
     }
 }
 protected void Requestbtn_Click(object sender, EventArgs e)
 {
     DBFunctions db = new DBFunctions();
     DatabaseFunctions d = new DatabaseFunctions();
  
     LibraryMember member = new LibraryMember { UserID = stid, Status = 0,JoinDate=DateTime.Now.Date };
     db.requestlibrarymembership(member);
 }
Example #12
0
        public void isInstanceOfTypeLibraryMembersTest2()
        {
            // Arrange
            LibraryMember L1 = new LibraryMember();

            // Assert
            Assert.IsInstanceOfType(L1, typeof(LibraryMember));
        }
 public void Delete(LibraryMember member)
 {
     using (ApplicationDbContext dbContext = _db.CreateDbContext())
     {
         dbContext.Entry(member).State = EntityState.Deleted;
         dbContext.SaveChanges();
     }
 }
 public void Add(LibraryMember member)
 {
     using (ApplicationDbContext dbContext = _db.CreateDbContext())
     {
         dbContext.LibraryMembers.Add(member);
         dbContext.SaveChanges();
     }
 }
Example #15
0
    protected void Requestbtn_Click(object sender, EventArgs e)
    {
        DBFunctions   db     = new DBFunctions();
        int           stid   = int.Parse(Session["userid"].ToString());
        LibraryMember member = new LibraryMember {
            UserID = stid, Status = 0, JoinDate = DateTime.Now.Date
        };

        db.requestlibrarymembership(member);
    }
Example #16
0
        public void CheckInBook(Book book, LibraryMember libraryMember)
        {
            _transactionService.Delete(book, libraryMember);

            book.CopiesLeft += 1;
            if (book.CopiesLeft <= book.Copies)
            {
                _booksService.Update(book);
            }
        }
Example #17
0
 /**************************************************************************************************
  * (7)
  * myViewList_SelectedChanged
  * this selects the library member at its position in myListView
  *************************************************************************************************/
 private void myListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     //see if user exists in the database
     if (_libraryMemberList.Count > 0)
     {
         //get the library member from _libraryMemberList at the same position it is in the myViewList
         _currentLibraryMember = _libraryMemberList.ElementAt(this.myListView.SelectedIndex);
         functionToPopulateLibraryMemberDetails(_currentLibraryMember);
     }
 }
Example #18
0
    protected void Requestbtn_Click(object sender, EventArgs e)
    {
        DBFunctions       db = new DBFunctions();
        DatabaseFunctions d  = new DatabaseFunctions();

        LibraryMember member = new LibraryMember {
            UserID = stid, Status = 0, JoinDate = DateTime.Now.Date
        };

        db.requestlibrarymembership(member);
    }
Example #19
0
        public int CopiesCheckedOut(LibraryMember libraryMember)
        {
            int count = 0;

            using (var conn = _db.CreateDbContext())
            {
                count = conn.Transactions.Where(t => t.LibraryMemberId == libraryMember.Id).Count();
            }

            return(count);
        }
        public LibraryMember GetMember(int id)
        {
            LibraryMember member = new LibraryMember();

            using (ApplicationDbContext dbContext = _db.CreateDbContext())
            {
                member = dbContext.LibraryMembers.Where(member => member.Id == id).FirstOrDefault();
                dbContext.SaveChanges();
            }

            return(member);
        }
Example #21
0
        /**************************************************************************************************
         * (5)
         * functionToGetUserDetails
         *      - authenticate librarymember information
         *      - function that will take in the username and password and verify if the
         *          librarymember exists in global _libraryMemberList
         *      - initialises '_libraryMemberDetails'
         *      - check each username and password in the global _libraryMemberList
         *      - if there is a match then add the details to the local librarymember account
         *      - return the library members details
         *
         *************************************************************************************************/
        private LibraryMember functionToVerifyLibraryMemberDetails(string username, string password)
        {
            LibraryMember _libraryMemberDetails = new LibraryMember();

            foreach (var _member in _libraryMemberList)
            {
                if (username == _member.Username && password == _member.Password)
                {
                    _libraryMemberDetails = _member;
                }
            }
            return(_libraryMemberDetails);
        }
        public async Task <LibraryMember> FindMember(int id)
        {
            LibraryMember member = new LibraryMember();

            using (ApplicationDbContext dbContext = _db.CreateDbContext())
            {
                member = await dbContext.LibraryMembers.Where(member => member.Id == id).FirstOrDefaultAsync();

                dbContext.SaveChanges();
            }

            return(member);
        }
Example #23
0
        public void CheckInBooks(List <Book> books, LibraryMember libraryMember)
        {
            foreach (Book b in books)
            {
                _transactionService.Delete(b, libraryMember);

                b.CopiesLeft += 1;
                if (b.CopiesLeft <= b.Copies)
                {
                    _booksService.Update(b);
                }
            }
        }
        public IActionResult Upsert(int?id)
        {
            LibraryMember member = new LibraryMember();

            if (id == null)
            {
                return(View(member));
            }
            member = _unitOfWork.LibraryMember.Get(id.GetValueOrDefault());
            if (member == null)
            {
                return(NotFound());
            }
            return(View(member));
        }
 //*************************************************************************************************
 // functions here
 //*************************************************************************************************
 private void functionPopulateLibraryMemberDetails(LibraryMember selectedLibraryMember)
 {
     tbxNameFirst.Text       = selectedLibraryMember.NameFirst;
     tbxNameInitial.Text     = selectedLibraryMember.NameFirst;
     tbxNameLast.Text        = selectedLibraryMember.NameLast;
     tbxUsername.Text        = selectedLibraryMember.Username;
     tbxPassword.Text        = selectedLibraryMember.Password;
     tbxConfirmPassword.Text = selectedLibraryMember.ConfirmPassword;
     tbxAddress.Text         = selectedLibraryMember.Address;
     tbxStreet.Text          = selectedLibraryMember.Street;
     tbxTown.Text            = selectedLibraryMember.Town;
     tbxCounty.Text          = selectedLibraryMember.County;
     tbxCountry.Text         = selectedLibraryMember.County;
     tbxPostcode.Text        = selectedLibraryMember.Postcode;
 }
Example #26
0
        public void Delete(Book book, LibraryMember libraryMember)
        {
            BookTransaction transaction = new BookTransaction();

            using (var conn = _db.CreateDbContext())
            {
                transaction = conn.Transactions.Where(t => t.LibraryMemberId == libraryMember.Id && t.BookId == book.Id).FirstOrDefault();

                if (transaction != null)
                {
                    conn.Entry(transaction).State = EntityState.Deleted;
                    conn.SaveChanges();
                }
            }
        }
Example #27
0
        /**************************************************************************************************
         * (10)
         * functionToUpdateLibraryMember
         *
         *************************************************************************************************/
        private void functionToUpdateLibraryMember(LibraryMember _librarymember, string modifyState)
        {
            try
            {
                if (modifyState == "Add")
                {
                    _librarymember.MemberID = new Int32();
                    dc.Configuration.AutoDetectChangesEnabled = false;
                    dc.Configuration.ValidateOnSaveEnabled    = false;
                    dc.Entry(_librarymember).State            = System.Data.Entity.EntityState.Added;
                    MessageBox.Show("New Library Member Added");
                }
                if (modifyState == "Modify")
                {
                    foreach (var _LibraryMemberRecord in dc.LibraryMembers.Where(t => t.MemberID == _librarymember.MemberID))
                    {
                        _LibraryMemberRecord.NameFirst       = _librarymember.NameFirst;
                        _LibraryMemberRecord.NameInitial     = _librarymember.NameInitial;
                        _LibraryMemberRecord.NameLast        = _librarymember.NameLast;
                        _LibraryMemberRecord.Username        = _librarymember.Username;
                        _LibraryMemberRecord.Password        = _librarymember.Password;
                        _LibraryMemberRecord.ConfirmPassword = _librarymember.ConfirmPassword;
                        _LibraryMemberRecord.Address         = _librarymember.Address;
                        _LibraryMemberRecord.Street          = _librarymember.Street;
                        _LibraryMemberRecord.Town            = _librarymember.Town;
                        _LibraryMemberRecord.County          = _librarymember.County;
                        _LibraryMemberRecord.Country         = _librarymember.Country;
                        _LibraryMemberRecord.Postcode        = _librarymember.Postcode;
                        _LibraryMemberRecord.Classification  = _librarymember.Classification;

                        MessageBox.Show("Library Member Modified");
                    }
                }
                if (modifyState == "Delete")
                {
                    dc.LibraryMembers.RemoveRange(
                        dc.LibraryMembers.Where(t => t.MemberID == _librarymember.MemberID));
                    MessageBox.Show("Library Member Deleted");
                }
                dc.SaveChanges();
                dc.Configuration.AutoDetectChangesEnabled = true;
                dc.Configuration.ValidateOnSaveEnabled    = true;
            }
            catch (Exception)
            {
                MessageBox.Show("Problem writing to database");
            }
        }
 public IActionResult Upsert(LibraryMember member)
 {
     if (ModelState.IsValid)
     {
         if (member.id == 0)
         {
             member.JoinDate = DateTime.Now;
             _unitOfWork.LibraryMember.Add(member);
         }
         else
         {
             _unitOfWork.LibraryMember.Update(member);
         }
         _unitOfWork.Save();
         return(RedirectToAction(nameof(Index)));
     }
     return(View(member));
 }
Example #29
0
 // this method will return true of false
 private static bool areObjectPropertiesEqual(LibraryMember expected, LibraryMember actual)
 {
     return
         (expected.MemberID == actual.MemberID &&
          expected.NameFirst == actual.NameFirst &&
          expected.NameInitial == actual.NameInitial &&
          expected.NameLast == actual.NameLast &&
          expected.Username == actual.Username &&
          expected.Password == actual.Password &&
          expected.ConfirmPassword == actual.ConfirmPassword &&
          expected.Address == actual.Address &&
          expected.Street == actual.Street &&
          expected.Town == actual.Town &&
          expected.County == actual.County &&
          expected.Country == actual.Country &&
          expected.Postcode == actual.Postcode &&
          expected.Classification == actual.Classification);
 }
Example #30
0
        public void functionTestDataForLibraryMember()
        {
            LibraryMember L1 = new LibraryMember();

            L1.MemberID        = Convert.ToInt32(1000);
            L1.NameFirst       = "John";
            L1.NameFirst       = "J";
            L1.NameLast        = "Smith";
            L1.Username        = "******";
            L1.Password        = "******";
            L1.ConfirmPassword = "******";
            L1.Address         = "Donegal";
            L1.Street          = "Donegal";
            L1.Town            = "Donegal";
            L1.County          = "Donegal";
            L1.County          = "Ireland";
            L1.Postcode        = "PPP ppp";
            L1.Classification  = Convert.ToInt32(1);
        }
        public IActionResult PayLateFee(LibraryMember member, double PaidFee)
        {
            double change = 0;

            //If member pays more than required amount, give out change and invert LateFees. When passed to UpdateLateFee, this will subtract full total and set member.LateFee to 0 in Database
            if (member.LateFees - PaidFee < 0)
            {
                change          = member.LateFees - PaidFee;
                member.LateFees = member.LateFees * -1;
            }
            //Set Late Fee to inversion of PaidFee. When passed to UpdateLateFee, this will subtract paid amount from member.LateFee and save to DB
            else
            {
                member.LateFees = PaidFee * -1;
            }

            _unitOfWork.LibraryMember.UpdateLateFee(member);
            _unitOfWork.Save();
            return(RedirectToAction(nameof(ConfirmPayment), change));
        }
Example #32
0
        public List <Book> GetMembersBooks(LibraryMember libraryMember)
        {
            List <BookTransaction> transactions = new List <BookTransaction>();

            using (ApplicationDbContext dbContext = _db.CreateDbContext())
            {
                transactions = dbContext.Transactions.Where(b => b.LibraryMemberId == libraryMember.Id).ToList();
            }

            List <Book> books = new List <Book>();

            using (ApplicationDbContext dbContext = _db.CreateDbContext())
            {
                foreach (var T in transactions)
                {
                    books.Add(dbContext.Books.Where(b => b.Id == T.BookId).FirstOrDefault());
                }
            }
            return(books);
        }
Example #33
0
    public void requestlibrarymembership(LibraryMember member)
    {
        db = new CollegeERPDBEntities();
        db.LibraryMembers.Add(member);
        db.SaveChanges();
        var candidate = db.Candidate_tbl.Where(x => x.ID == member.UserID).FirstOrDefault();
     // var course = db.Courses_tbl.Where(x => x.ID == member.CourseID).FirstOrDefault();
      
        AdminMails_tbl mail = new AdminMails_tbl { Date = DateTime.Now.Date, Subject = "Library Membership Request", SenderID =member.UserID, Status = 0, Message = candidate.Name + " Requested Library Membership.  <br/><br> <a href='../Library/MemberRequest.aspx' class='btn btn-primary'>View Membership Requests</a>" };
        addadminmail(mail);

    }