Exemple #1
0
        public ActionResult ClockOut(string username)
        {
            TimeCard finishProject = new TimeCard();

            finishProject.Username = username;
            return(View("ClockOut", finishProject));
        }
        public async Task <IActionResult> Edit(int id, [Bind("TimeCardID,UserID,GroupID,ClockIn,ClockOut")] TimeCard timeCard)
        {
            if (id != timeCard.TimeCardID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(timeCard);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!TimeCardExists(timeCard.TimeCardID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(timeCard));
        }
Exemple #3
0
        public void TestTimeCardTransaction()
        {
            int empId = 31;
            var t     = new AddHourlyEmployee(empId, "Bill", "Home", 15.25, database);

            t.Execute();

            var today = DateTime.UtcNow;
            var tct   = new TimeCardTransaction(today, 8.0, empId, database);

            tct.Execute();

            Employee e = database.GetEmployee(empId);

            Assert.IsNotNull(e);

            PaymentClassification pc = e.Classification;

            Assert.IsTrue(pc is HourlyClassification);
            HourlyClassification hc = pc as HourlyClassification;

            TimeCard tc = hc.GetTimeCard(today);

            Assert.IsNotNull(tc);
            Assert.AreEqual(8.0, tc.Hours);
        }
Exemple #4
0
        private TimeCard GetTimeCard(TimeCard request)
        {
            var      id    = request?.Id;
            TimeCard ret   = null;
            var      query = DocQuery.ActiveQuery ?? Execute;

            DocPermissionFactory.SetSelect <TimeCard>(currentUser, "TimeCard", request.Select);

            DocEntityTimeCard entity = null;

            if (id.HasValue)
            {
                entity = DocEntityTimeCard.Get(id.Value);
            }
            if (null == entity)
            {
                throw new HttpError(HttpStatusCode.NotFound, $"No TimeCard found for Id {id.Value}");
            }

            if (!DocPermissionFactory.HasPermission(entity, currentUser, DocConstantPermission.VIEW))
            {
                throw new HttpError(HttpStatusCode.Forbidden, "You do not have VIEW permission for this route.");
            }

            ret = entity?.ToDto();
            return(ret);
        }
Exemple #5
0
        public string AddTimeCard()
        {
            TimeCard newtimecard = new TimeCard();

            TimeCardViewModel timecardVM = new TimeCardViewModel()
            {
                WorkedHours = 0
            };

            try
            {
                newtimecard.UpdateTimeCard(timecardVM);

                //{ WorkedHours=0};

                //pr.TimeCard.Add(newTimeCard);
                //pr.Commit();
                //
                _timecardRepository.Add(newtimecard);
                _unitOfWork.Commit();

                return("New TimeCard added");
            }
            catch (DbUpdateException ex)
            {
                return(ex.InnerException.Message);
            }

            catch (Exception ex)
            {
                LogError(ex);
                return("No Timecard added" + ex.ToString());
            }
        }
Exemple #6
0
        public static GenericStatusChainHandler GenerateStatus(TimeCard timeCard, DateTime now)
        {
            var immutableStatusHandler     = new ImmutableStatusChainHandler(timeCard, now);
            var unexcusedAbsenceHandler    = new UnexcusedAbsenceChainHandler(timeCard, now);
            var notYetAtWorkHandler        = new NotYetAtWorkChainHandler(timeCard, now);
            var todayInvalidLogsHandler    = new TodayInvalidLogsStatusHandler(timeCard, now);
            var presentHandler             = new PresentChainHandler(timeCard, now);
            var breakHandler               = new BreakChainHandler(timeCard, now);
            var notTodayInvalidLogsHandler = new NotTodayInvalidLogsChainHandler(timeCard, now);
            var fulltimeHandler            = new FulltimeDayChainHandler(timeCard, now);
            var undertimeHandler           = new UndertimeDayChainHandler(timeCard, now);
            var overtimeHandler            = new OvertimeDayChainHandler(timeCard, now);
            var invalidStatusHandler       = new FallbackStatusChainHandler(timeCard, now);

            var firstHandler = immutableStatusHandler;

            firstHandler
            .SetNext(unexcusedAbsenceHandler)
            .SetNext(notYetAtWorkHandler)
            .SetNext(todayInvalidLogsHandler)
            .SetNext(presentHandler)
            .SetNext(breakHandler)
            .SetNext(notTodayInvalidLogsHandler)
            .SetNext(fulltimeHandler)
            .SetNext(undertimeHandler)
            .SetNext(overtimeHandler)
            .SetNext(invalidStatusHandler);

            return(firstHandler);
        }
Exemple #7
0
        private double CalculatePayForTimeCard(TimeCard timeCard)
        {
            double overtimeHours = Math.Max(0.0, timeCard.Hours - 8);
            double normalHours   = timeCard.Hours - overtimeHours;

            return(HourlyRate * normalHours + HourlyRate * 1.5 * overtimeHours);
        }
Exemple #8
0
        public async Task GetAllTimeCards_ShouldAddEventsToCreatedAttendances_WhenUpdatedWithEndOfWork()
        {
            var userId     = Guid.NewGuid();
            var timeCardId = Guid.NewGuid();

            var card = new TimeCard {
                Id = timeCardId, UserId = userId,
            };

            TheSession.Store(card);

            var date1  = DateTime.Now;
            var start1 = new GettingWorkStarted(attendanceId1, userId, date1);
            var end1   = new EndOfWork(attendanceId2, userId, date1.AddHours(1));
            var start2 = new GettingWorkStarted(attendanceId3, userId, date1.AddHours(2));
            var end2   = new EndOfWork(attendanceId4, userId, date1.AddHours(3));

            TheSession.Events.Append(timeCardId, start1, end1, start2, end2);
            TheSession.SaveChanges();

            var repo      = new TimeCardsRepository(TheStore);
            var timeCards = await repo.GetAllTimeCards(userId, default);

            timeCards.Should().HaveCount(1);
        }
Exemple #9
0
        public void ClockOut(TimeCard tc)
        {
            try
            {
                using (SqlConnection conn = new SqlConnection(connectionString))
                {
                    conn.Open();

                    SqlCommand cmd = new SqlCommand(SQL_ClockOut, conn);
                    cmd.Parameters.AddWithValue("@user_name", tc.Username);
                    cmd.Parameters.AddWithValue("@project", tc.Project);
                    cmd.Parameters.AddWithValue("@end_datetime", DateTime.Now);
                    cmd.Parameters.AddWithValue("@notes", tc.Notes);


                    cmd.ExecuteNonQuery();

                    return;
                }
            }
            catch (SqlException ex)
            {
                throw;
            }
        }
        public IActionResult SaveTime([FromBody] Object json)
        {
            String JsonString = json.ToString();

            TimeCard timecard = JsonConvert.DeserializeObject <TimeCard>(JsonString);

            //  Checks the time input on the server side to stop any manual posts that are not valid.
            DateTime timeIn, timeOut;

            //  Is time in a date?,  is time out a date?
            //  are hours negative?, is time out a future date?
            if ((!DateTime.TryParse(timecard.timeIn, out timeIn) || !DateTime.TryParse(timecard.timeOut, out timeOut) ||
                 (timeOut.CompareTo(timeIn) < 0) || timeOut > DateTime.Now || timeIn > DateTime.Now))
            {
                return(BadRequest("Invalid time entered"));
            }

            else if (IsAdmin() || GetUserID() == timecard.userID || IsInstructorForCourse(GetCourseForGroup(timecard.groupID)))
            {
                if (DBHelper.SaveTime(timecard))
                {
                    return(Ok());
                }
                return(StatusCode(500));
            }
            return(Unauthorized());
        }
        public void TestTimeCardTransaction()
        {
            int empId           = 5;
            var name            = "Łukasz";
            var hourlyRate      = 15.25;
            var date            = new DateTime(2005, 7, 31);
            var hours           = 8.0;
            AddHourlyEmployee t = new AddHourlyEmployee(empId, name, "Home", hourlyRate);

            t.Execute();

            TimeCardTransaction tct = new TimeCardTransaction(date, hours, empId);

            tct.Execute();

            Employee e = PayrollDatabase.GetEmployee(empId);

            Assert.IsNotNull(e);

            IPaymentClassification pc = e.Classification;

            Assert.IsTrue(pc is HourlyClassification);
            HourlyClassification hc = pc as HourlyClassification;

            TimeCard tc = hc.GetTimeCard(date);

            Assert.IsNotNull(tc);
            Assert.AreEqual(hours, tc.Hours);
        }
Exemple #12
0
        public void TestNumberOfHoursWorked()
        {
            DateTime startingDay = new DateTime(2016, 7, 3);
            TimeCard t           = new TimeCard(startingDay);

            t.PayPeriod[4].SetHours(Day.TimeCodes.REGULAR, 15.0f);
            t.PayPeriod[6].SetHours(Day.TimeCodes.REGULAR, 8.0f);
            t.PayPeriod[2].SetHours(Day.TimeCodes.REGULAR, 20.0f);
            t.PayPeriod[3].SetHours(Day.TimeCodes.REGULAR, 5.0f);
            t.PayPeriod[10].SetHours(Day.TimeCodes.REGULAR, 12.0f);
            t.CaluclateHoursWorked();
            float expectedRegular = 60.0f;

            Assert.AreEqual(expectedRegular, t.totalHoursWorked[0]);

            t.PayPeriod[5].SetHours(Day.TimeCodes.SICK, 12.0f);
            t.PayPeriod[1].SetHours(Day.TimeCodes.SICK, 5.0f);
            t.CaluclateHoursWorked();
            float expectedSick = 17.0f;

            Assert.AreEqual(expectedSick, t.totalHoursWorked[1]);


            t.PayPeriod[12].SetHours(Day.TimeCodes.VACATION, 10.0f);
            t.PayPeriod[11].SetHours(Day.TimeCodes.VACATION, 10.0f);
            t.CaluclateHoursWorked();
            float expectedVacation = 20.0f;

            Assert.AreEqual(expectedVacation, t.totalHoursWorked[2]);
        }
        private double CalculatePayForTimeCard(TimeCard tc)
        {
            var overTimeHours = Math.Max(0.0, tc.Hours - 8);
            var normalHours   = tc.Hours - overTimeHours;

            return(HourlyRate * normalHours + HourlyRate * overTimeHours * 1.5);
        }
Exemple #14
0
        public void ShouldReturnFalseWhenIsInPeriod()
        {
            var timeCard = new TimeCard(new DateTime(2020, 2, 1, 10, 0, 0), 8);
            var period   = new Period(2020, 1);

            Assert.IsFalse(timeCard.IsIn(period));
        }
Exemple #15
0
        public TimeCard Post(TimeCard request)
        {
            if (request == null)
            {
                throw new HttpError(HttpStatusCode.NotFound, "Request cannot be null.");
            }

            request.Select = request.Select ?? new List <string>();

            TimeCard ret = null;

            using (Execute)
            {
                Execute.Run(ssn =>
                {
                    if (!DocPermissionFactory.HasPermissionTryAdd(currentUser, "TimeCard"))
                    {
                        throw new HttpError(HttpStatusCode.Forbidden, "You do not have ADD permission for this route.");
                    }

                    ret = _AssignValues(request, DocConstantPermission.ADD, ssn);
                });
            }
            return(ret);
        }
Exemple #16
0
        public void Delete(TimeCard request)
        {
            using (Execute)
            {
                Execute.Run(ssn =>
                {
                    if (!(request?.Id > 0))
                    {
                        throw new HttpError(HttpStatusCode.NotFound, $"No Id provided for delete.");
                    }

                    var en = DocEntityTimeCard.Get(request?.Id);
                    if (null == en)
                    {
                        throw new HttpError(HttpStatusCode.NotFound, $"No TimeCard could be found for Id {request?.Id}.");
                    }
                    if (en.IsRemoved)
                    {
                        return;
                    }

                    if (!DocPermissionFactory.HasPermission(en, currentUser, DocConstantPermission.DELETE))
                    {
                        throw new HttpError(HttpStatusCode.Forbidden, "You do not have DELETE permission for this route.");
                    }

                    en.Remove();

                    DocCacheClient.RemoveSearch(DocConstantModelName.TIMECARD);
                    DocCacheClient.RemoveById(request.Id);
                });
            }
        }
Exemple #17
0
        public long DeleteTimeCard(TimeCard timeCard)
        {
            _context.TimeCards.Remove(timeCard);
            _context.SaveChanges();

            return(0);
        }
        private bool CheckTimeCardContainsErrors(TimeCard timecard)
        {
            bool containsErrors = false;

            //Check if entry contains errors
            //Flag if there is not matched rostered shift
            if (timecard.Shift == null)
            {
                containsErrors = true;
            }
            if (!timecard.ClockOut.HasValue) //Flag if the user has not clocked out.
            {
                containsErrors = true;
            }
            if (!containsErrors &&
                timecard.Shift != null)
            {
                var dtStartMinTime = timecard.Shift.StartTime.AddMinutes(-WebUI.Common.Constants.TimeCardShiftVariance);
                var dtStartMaxTime = timecard.Shift.StartTime.AddMinutes(WebUI.Common.Constants.TimeCardShiftVariance);

                var dtFinishMinTime = timecard.Shift.FinishTime.AddMinutes(-WebUI.Common.Constants.TimeCardShiftVariance);
                var dtFinishMaxTime = timecard.Shift.FinishTime.AddMinutes(WebUI.Common.Constants.TimeCardShiftVariance);

                if ((timecard.ClockIn < dtStartMinTime || dtStartMaxTime < timecard.ClockIn) ||//If the clockin is earlier than set period before shit or later than period after rostered start then error
                    (timecard.ClockOut < dtFinishMinTime || timecard.ClockOut > dtFinishMaxTime))    //Or the clock out is more than set time early or later
                {
                    containsErrors = true;
                }
            }

            return(containsErrors);
        }
Exemple #19
0
        public void TestTimeCardTransaction()
        {
            int empId           = 5;
            AddHourlyEmployee t =
                new AddHourlyEmployee(empId, "Bill", "Home", 15.25, database);

            t.Execute();
            TimeCardTransaction tct =
                new TimeCardTransaction(
                    new DateTime(2005, 7, 31), 8.0, empId, database);

            tct.Execute();

            Employee e = database.GetEmployee(empId);

            Assert.IsNotNull(e);

            PaymentClassification pc = e.Classification;

            Assert.IsTrue(pc is HourlyClassification);
            HourlyClassification hc = pc as HourlyClassification;

            TimeCard tc = hc.GetTimeCard(new DateTime(2005, 7, 31));

            Assert.IsNotNull(tc);
            Assert.AreEqual(8.0, tc.Hours);
        }
        public void RemoveHoursTest()
        {
            DateTime dateTime = new DateTime(2016, 8, 21);
            Day      test     = new Day(dateTime);
            TimeCard time     = new TimeCard(dateTime);

            time.AddHour(0, Day.TimeCodes.REGULAR, 8);
            time.RemoveHours(0, Day.TimeCodes.REGULAR, 8);//should negate what is added.
            string expected = ("Day: " + test.dateTime + " Reg: " + 0 + " Sick: " + 0 + " Vac: " + 0 + " Total: " + 0 + "\n" +
                               "Day: " + test.dateTime.AddDays(1) + " Reg: " + 0 + " Sick: " + 0 + " Vac: " + 0 + " Total: " + 0 + "\n" +
                               "Day: " + test.dateTime.AddDays(2) + " Reg: " + 0 + " Sick: " + 0 + " Vac: " + 0 + " Total: " + 0 + "\n" +
                               "Day: " + test.dateTime.AddDays(3) + " Reg: " + 0 + " Sick: " + 0 + " Vac: " + 0 + " Total: " + 0 + "\n" +
                               "Day: " + test.dateTime.AddDays(4) + " Reg: " + 0 + " Sick: " + 0 + " Vac: " + 0 + " Total: " + 0 + "\n" +
                               "Day: " + test.dateTime.AddDays(5) + " Reg: " + 0 + " Sick: " + 0 + " Vac: " + 0 + " Total: " + 0 + "\n" +
                               "Day: " + test.dateTime.AddDays(6) + " Reg: " + 0 + " Sick: " + 0 + " Vac: " + 0 + " Total: " + 0 + "\n" +
                               "Day: " + test.dateTime.AddDays(7) + " Reg: " + 0 + " Sick: " + 0 + " Vac: " + 0 + " Total: " + 0 + "\n" +
                               "Day: " + test.dateTime.AddDays(8) + " Reg: " + 0 + " Sick: " + 0 + " Vac: " + 0 + " Total: " + 0 + "\n" +
                               "Day: " + test.dateTime.AddDays(9) + " Reg: " + 0 + " Sick: " + 0 + " Vac: " + 0 + " Total: " + 0 + "\n" +
                               "Day: " + test.dateTime.AddDays(10) + " Reg: " + 0 + " Sick: " + 0 + " Vac: " + 0 + " Total: " + 0 + "\n" +
                               "Day: " + test.dateTime.AddDays(11) + " Reg: " + 0 + " Sick: " + 0 + " Vac: " + 0 + " Total: " + 0 + "\n" +
                               "Day: " + test.dateTime.AddDays(12) + " Reg: " + 0 + " Sick: " + 0 + " Vac: " + 0 + " Total: " + 0 + "\n" +
                               "Day: " + test.dateTime.AddDays(13) + " Reg: " + 0 + " Sick: " + 0 + " Vac: " + 0 + " Total: " + 0 + "\n");//reverts everything back to zero
            string result = time.ToString();

            Assert.AreEqual(expected, result);
        }
Exemple #21
0
        public void TestAddTimeCard()
        {
            #region Arrange
            int employeeId      = 7;
            AddHourlyEmployee t = new AddHourlyEmployee(employeeId, "user", "home", 97.5);
            t.Execute();

            DateTime            workingDay = new DateTime(2019, 4, 21);
            TimeCardTransaction tct        = new TimeCardTransaction(
                employeeId, workingDay, 8.0
                );
            #endregion

            #region Action
            tct.Execute();
            #endregion

            #region Assert
            Employee e = PayrollRepository.GetEmployee(employeeId);
            e.Should().NotBeNull();

            e.Classification.Should().BeOfType <HourlyClassification>();
            HourlyClassification hc = e.Classification as HourlyClassification;

            TimeCard tc = hc.GetTimeCard(workingDay);
            tc.Should().NotBeNull();
            tc.Hours.Should().Be(8.0);
            #endregion
        }
        public ActionResult Index()
        {
            var card = new TimeCard();

            this.Session["card"] = card;
            return(View(card));
        }
        /// <summary>
        /// Creates a TimeCard and returns the timeSlotID
        /// </summary>
        /// <param name="json"></param>
        /// <returns></returns>
        public IActionResult CreateTimeCard([FromBody] Object json)
        {
            String JsonString = json.ToString();

            TimeCard timeCard = JsonConvert.DeserializeObject <TimeCard>(JsonString);
            int      courseID = GetCourseForGroup(timeCard.groupID);

            if (IsAdmin() || IsInstructorForCourse(courseID) || IsStudentInCourse(courseID))
            {
                if (GetUserType() == 'S' && GetUserID() == timeCard.userID)
                {
                    timeCard.timeslotID = (int)DBHelper.CreateTimeCard(timeCard);
                }
                else
                {
                    timeCard.timeslotID = (int)DBHelper.CreateTimeCard(timeCard);
                }
                if (timeCard.timeslotID > 0)
                {
                    return(Ok(timeCard.timeslotID));
                }
                return(StatusCode(500));
            }
            return(Unauthorized());
        }
        public void TestNumberOfHoursWorked()
        {
            DateTime startingDay = new DateTime(2016, 7, 3);
            TimeCard t = new TimeCard(startingDay);
            t.PayPeriod[4].SetHours(Day.TimeCodes.REGULAR, 15.0f);
            t.PayPeriod[6].SetHours(Day.TimeCodes.REGULAR, 8.0f);
            t.PayPeriod[2].SetHours(Day.TimeCodes.REGULAR, 20.0f);
            t.PayPeriod[3].SetHours(Day.TimeCodes.REGULAR, 5.0f);
            t.PayPeriod[10].SetHours(Day.TimeCodes.REGULAR, 12.0f);
            t.CaluclateHoursWorked();
            float expectedRegular = 60.0f;
            Assert.AreEqual(expectedRegular, t.totalHoursWorked[0]);

            t.PayPeriod[5].SetHours(Day.TimeCodes.SICK, 12.0f);
            t.PayPeriod[1].SetHours(Day.TimeCodes.SICK, 5.0f);
            t.CaluclateHoursWorked();
            float expectedSick = 17.0f;
            Assert.AreEqual(expectedSick, t.totalHoursWorked[1]);

            t.PayPeriod[12].SetHours(Day.TimeCodes.VACATION, 10.0f);
            t.PayPeriod[11].SetHours(Day.TimeCodes.VACATION, 10.0f);
            t.CaluclateHoursWorked();
            float expectedVacation = 20.0f;
            Assert.AreEqual(expectedVacation, t.totalHoursWorked[2]);
        }
Exemple #25
0
        public async Task Seed(string migrationName)
        {
            Employee sam = new Employee {
                Name = "Sam", TimeCards = new List <TimeCard>()
            };
            Employee melinda = new Employee {
                Name = "Melinda", TimeCards = new List <TimeCard>()
            };

            TimeCard t1 = new TimeCard {
                Employee = sam, HoursWorked = 12, WorkDate = DateTime.Now
            };
            TimeCard t2 = new TimeCard {
                Employee = sam, HoursWorked = 10, WorkDate = DateTime.Now.AddDays(-7)
            };

            TimeCard t3 = new TimeCard {
                Employee = melinda, HoursWorked = 12, WorkDate = DateTime.Now
            };
            TimeCard t4 = new TimeCard {
                Employee = melinda, HoursWorked = 9, WorkDate = DateTime.Now.AddDays(-7)
            };

            db.Entry(sam).State     = EntityState.Added;
            db.Entry(melinda).State = EntityState.Added;
            db.Entry(t1).State      = EntityState.Added;
            db.Entry(t2).State      = EntityState.Added;
            db.Entry(t3).State      = EntityState.Added;
            db.Entry(t4).State      = EntityState.Added;

            await db.SaveChangesAsync();
        }
        public ActionResult DeleteConfirmed(int id)
        {
            TimeCard timecard = db.TimeCards.Find(id);

            db.TimeCards.Remove(timecard);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemple #27
0
        public TimeCard AddTimeCard(TimeCard time)
        {
            var ctx         = HttpContext.Current;
            var currentData = ((TimeCard[])ctx.Cache[CacheKey]).ToList();

            currentData.Add(time);
            ctx.Cache[CacheKey] = currentData.ToArray();
            return(time);
        }
        private void btnSave_Click(object sender, EventArgs e)
        {
            DialogResult retval = MessageBox.Show("Are you sure you want to replace the time file with these changes?", "Overrite Time File", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (retval == DialogResult.Yes)
            {
                TimeCard.Save();
                MinimizeToTray();
            }
        }
 public static void Run(
     [QueueTrigger("timecard-writer")] TimeCard input,
     [CosmosDB(
          databaseName: "TimeRecorder",
          collectionName: "TimeCard",
          ConnectionStringSetting = "CosmosDBConnection")] out TimeCard output
     )
 {
     output = input;
 }
        public ActionResult Submit(TimeCard card)
        {
            if (this.ModelState.IsValid)
            {
                this.Session["card"] = card;
                X.Msg.Notify("Submit", "The card was successfully saved").Show();
            }

            return(this.FormPanel(this.ModelState));
        }
Exemple #31
0
        public MonthlyRecord GetMonthlyRecordOrDefault(TimeCard timeCard)
        {
            var targetMonth = new DateTime(timeCard.RecordDate.Year, timeCard.RecordDate.Month, 1);

            return(_container.GetItemLinqQueryable <MonthlyRecord>(allowSynchronousQueryExecution: true, requestOptions: new QueryRequestOptions {
                PartitionKey = new Microsoft.Azure.Cosmos.PartitionKey(timeCard.UserId)
            })
                   .AsEnumerable()
                   .FirstOrDefault(r => r.ReportMonth == targetMonth) ?? new MonthlyRecord(targetMonth, timeCard.UserId));
        }
 public ActionResult Submit(TimeCard card)
 {
     if (this.ModelState.IsValid)
     {
         this.Session["card"] = card;
         X.Msg.Notify("Submit", "The card was successfully saved").Show();
     }
     
     return this.FormPanel(this.ModelState);
 }
 public void TestStartsOnSunday()
 {
     try {
         DateTime startingDay = new DateTime(2016, 6, 30);
         TimeCard t = new TimeCard(startingDay);
     }
     catch(Exception e)
     {
         Assert.IsInstanceOfType(e, typeof(ArgumentOutOfRangeException));
     }
 }
 public void Test2WeekPayPeriod()
 {
     DateTime startingDay = new DateTime(2016, 7, 3);
     TimeCard t = new TimeCard(startingDay);
     int arraySize = 0;
     for(int i = 0; i < t.PayPeriod.Length; i++)
     {
         Assert.AreEqual(t.PayPeriod[i].dateTime, startingDay.AddDays(i));
         ++arraySize;
     }
 }
        public ActionResult Submit(TimeCard card)
        {
            if (this.ModelState.IsValid)
            {
                X.Msg.Notify("Submit", "The card was successfully saved").Show();
            }
            else
            {
                this.GetCmp<ModelStateStore>("ModelStateStore1").DataBind();
            }

            return this.FormPanel(this.ModelState);
        }
 public void TestOverTime()
 {
     DateTime startingDay = new DateTime(2016, 7, 3);
     TimeCard t = new TimeCard(startingDay);
     t.PayPeriod[4].SetHours(Day.TimeCodes.REGULAR, 15.0f);
     t.PayPeriod[6].SetHours(Day.TimeCodes.REGULAR, 8.0f);
     t.PayPeriod[2].SetHours(Day.TimeCodes.REGULAR, 20.0f);
     t.PayPeriod[3].SetHours(Day.TimeCodes.REGULAR, 5.0f);
     t.PayPeriod[10].SetHours(Day.TimeCodes.REGULAR, 12.0f);
     t.CalculateOverTime();
     float expected = 8.0f;
     Assert.AreEqual(expected, t.OverTime);
 }
Exemple #37
0
        private void clockInBtn_Click(object sender, EventArgs e)
        {
            if (validateFormData())
            {
                try
                {
                    TimeCard tc = new TimeCard();
                    tc.Employee = this.currEmp;
                    tc.WorkSite = (WorkSite)this.workSiteCmbo.SelectedItem;
                    tc.Job = (Job)this.jobCmbo.SelectedItem;
                    LaborService.LaborServiceClient proxy = new LaborService.LaborServiceClient();
                    //proxy.ClientCredentials.UserName.UserName = "******";
                    //proxy.ClientCredentials.UserName.Password = "******";
                    proxy.doClockIn(tc);
                }
                catch (FaultException ex)
                {
                    MessageBox.Show(this, "Server Error occurred during processing of Clock In.  See Server logs for details (i.e. Call Jim and cry for help!)", "Server Error");
                }

                this.Close();
            }
        }
Exemple #38
0
 public TimeSheetWindow()
 {
     card = new TimeCard(start);
     InitializeComponent();
     SetupDays(0);
 }
 public ActionResult Index()
 {
     var card = new TimeCard();
     this.Session["card"] = card;
     return View(card);
 }