private void refreshDisplayFromDatabase()
        {
            this.dataGridView1.Rows.Clear();

            TimeCardRepository timeCardRepository = new TimeCardRepository();
            IList<TimeCard> timeCards = timeCardRepository.GetCurrentTimeCards(user, payrollStartDate, payrollEndDate);

            foreach (TimeCard timeCard in timeCards)
            {
                int index = this.dataGridView1.Rows.Add();

                dataGridView1.Rows[index].Cells["TimeInColumn"].Value = timeCard.TimeIn.ToString();
                DateTime timeOut = timeCard.TimeOut;
                if (!timeOut.Equals(DateTime.MinValue))
                {
                    dataGridView1.Rows[index].Cells["TimeOutColumn"].Value = timeCard.TimeOut.ToString();
                }
            }
        }
Ejemplo n.º 2
0
        public void Can_add_new_timeCard()
        {
            DateTime timeIn = DateTime.Now;
            // Set the Milliseconds to 0 since MySQL DATETIME does not support milliseconds.
            timeIn = DateTime.ParseExact(timeIn.ToString(), "M/d/yyyy h:mm:ss tt", null);
            DateTime timeOut = timeIn.AddHours(8);
            var timeCard = new TimeCard { TimeIn = timeIn, TimeOut = timeOut, User = _user };
            ITimeCardRepository repository = new TimeCardRepository();
            repository.Add(timeCard);

            // use session to try to load the timeCard
            using (ISession session = _sessionFactory.OpenSession())
            {
                var fromDb = session.Get<TimeCard>(timeCard.TimeCardId);
                // Test that the timeCard was successfully inserted
                Assert.IsNotNull(fromDb);
                Assert.AreNotSame(timeCard, fromDb);
                Assert.AreEqual(timeCard.TimeIn, fromDb.TimeIn);
                Assert.AreEqual(timeCard.TimeOut, fromDb.TimeOut);
                Assert.AreEqual(timeCard.User, fromDb.User);
            }

            repository.Remove(timeCard);
        }
        private void timeOutButton_Click(object sender, System.EventArgs e)
        {
            TimeCardRepository timeCardRepository = new TimeCardRepository();
            TimeCard timeCard = timeCardRepository.GetMostRecentTimeIn(session.GetUser(), session.GetPayrollStartDate(), session.GetPayrollEndDate());
            timeCard.TimeOut = DateTime.Now;
            timeCardRepository.Update(timeCard);

            // disable time out button now that time out has been
            // entered, and enable time in button.
            this.timeOutButton.Visible = false;
            this.timeInButton.Visible = true;

            // call the time card user control's time in
            // button clicked method.
            timeCardUserControl.PayrollTracker_TimeInButtonClickedEventHandler(this, e);
        }
        private void dasboardTabControl_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            TabPage selectedTab = dashboardTabControl.SelectedTab;

            if (TIME_CARD_TAB_NAME.Equals(selectedTab.Name))
            {
                this.deleteButton.Visible = false;
                this.saveButton.Visible = false;

                TimeCardRepository timeCardRepository = new TimeCardRepository();

                TimeCard mostRecentTimeCard = timeCardRepository.GetMostRecentTimeIn(
                    session.GetUser(),
                    session.GetPayrollStartDate(),
                    session.GetPayrollEndDate());

                // check if the most recent time card has a time out.
                if (mostRecentTimeCard != null && mostRecentTimeCard.TimeOut == DateTime.MinValue)
                {
                    // most recent time out is null, so disable time in button,
                    // and enable time out button.
                    this.timeInButton.Visible = false;
                    this.timeOutButton.Visible = true;
                }
                else
                {
                    // most recent time out has a value, so the user has signed
                    // out her or his timecard and can now sign in a new time card
                    // entry.
                    this.timeOutButton.Visible = false;
                    this.timeInButton.Visible = true;
                }
            }
            else if (ADD_DOG_TAB_NAME.Equals(selectedTab.Name))
            {
                this.timeInButton.Visible = false;
                this.timeOutButton.Visible = false;
                this.deleteButton.Visible = false;
                this.saveButton.Visible = true;
            }
            else
            {
                this.timeInButton.Visible = false;
                this.timeOutButton.Visible = false;
                this.deleteButton.Visible = true;
                this.saveButton.Visible = true;
            }
        }
Ejemplo n.º 5
0
        private void DeleteInitialData()
        {
            ITimeCardRepository timeCardRepository = new TimeCardRepository();
            foreach (var timeCard in _timeCards)
            {
                TimeCard fromDb = timeCardRepository.GetById(timeCard.TimeCardId);
                if (fromDb != null)
                {
                    timeCardRepository.Remove(timeCard);
                }
            }

            IUserRepository userRepository = new UserRepository();
            userRepository.Remove(_user);
        }
Ejemplo n.º 6
0
        public void Can_update_existing_timeCard()
        {
            var timeCard = _timeCards[1];
            timeCard.TimeOut = timeCard.TimeOut.AddHours(4);
            ITimeCardRepository repository = new TimeCardRepository();
            repository.Update(timeCard);

            // use session to try to load the timeCard
            using (ISession session = _sessionFactory.OpenSession())
            {
                var fromDb = session.Get<TimeCard>(timeCard.TimeCardId);
                Assert.AreEqual(timeCard.TimeOut, fromDb.TimeOut);
            }
        }
Ejemplo n.º 7
0
        public void Can_remove_existing_timeCard()
        {
            var timeCard = _timeCards[0];
            ITimeCardRepository repository = new TimeCardRepository();
            repository.Remove(timeCard);

            using (ISession session = _sessionFactory.OpenSession())
            {
                var fromDb = session.Get<TimeCard>(timeCard.TimeCardId);
                Assert.IsNull(fromDb);
            }
        }
Ejemplo n.º 8
0
 public void Can_get_existing_timeCard_by_id()
 {
     ITimeCardRepository repository = new TimeCardRepository();
     var fromDb = repository.GetById(_timeCards[1].TimeCardId);
     Assert.IsNotNull(fromDb);
     Assert.AreNotSame(_timeCards[1], fromDb);
     Assert.AreEqual(_timeCards[1].TimeIn, fromDb.TimeIn);
     Assert.AreEqual(_timeCards[1].TimeOut, fromDb.TimeOut);
     Assert.AreEqual(_timeCards[1].User, fromDb.User);
 }
Ejemplo n.º 9
0
        public void Can_get_existing_timeCards_by_user()
        {
            ITimeCardRepository repository = new TimeCardRepository();
            var fromDb = repository.GetByUser(_timeCards[1].User);

            Assert.AreEqual(5, fromDb.Count);
            Assert.IsTrue(IsInCollection(_timeCards[1], fromDb));
        }