Example #1
0
        public ActionResult SavePayrollSetupData(int FranchiseeId, string method, string multiplier, string start)
        {
            int     franchiseID        = FranchiseeId;
            decimal overtimeStarts     = decimal.Parse(start);
            int     overtimeMethod     = int.Parse(method);
            decimal overtimeMultiplier = decimal.Parse(multiplier);

            PayrollSetupService payrollSetupService = PayrollSetupService.Create <PayrollSetupService>(UserInfo.UserKey);
            OperationResult <SiteBlue.Business.PayrollSetup.PayrollSetup> result = payrollSetupService.SavePayrollSetup(franchiseID, overtimeStarts, overtimeMethod, overtimeMultiplier);

            var toReturn = (result.Success == true) ?
                           new { Success = result.Success, Message = "Payroll Setup saved" }
                                : new { Success = result.Success, Message = "Error: " + result.Message };

            return(Json(toReturn));
        }
        public void PayrollSetup_005_SavePayrollSetup_ExistingPayrollSetup()
        {
            // Arrange
            SQLHelper.RunSetupScript("UnitTest_PayrollSetup", "A5");
            int     franchiseID             = 39;
            decimal overtimeStarts          = 100M;
            int     overtimeMethod          = 2;
            decimal overtimeMultiplier      = 3.5M;
            string  reportingOvertimeMethod = "Daily";

            // Pre-validation, ensure one payrollsetup DOES alredy exist
            ReportingService rs = ReportingService.Create <ReportingService>(Guid.NewGuid());

            SiteBlue.Business.Reporting.PayrollSetup[] arrPayrollSetup = rs.GetPayrollSetupData(franchiseID);
            Assert.AreEqual <int>(1, arrPayrollSetup.Length);

            // Act
            // call save payroll setup on business entity
            PayrollSetupService payrollSetupService = PayrollSetupService.Create <PayrollSetupService>(Guid.NewGuid());
            OperationResult <SiteBlue.Business.PayrollSetup.PayrollSetup> result = payrollSetupService.SavePayrollSetup(franchiseID, overtimeStarts, overtimeMethod, overtimeMultiplier);

            // Assert
            // Check the POCO object returned
            Assert.IsTrue(result.Success);
            Assert.IsNotNull(result.ResultData);
            Assert.AreEqual <int>(franchiseID, result.ResultData.FranchiseID);
            Assert.AreEqual <decimal>(overtimeStarts, result.ResultData.OvertimeStarts);
            Assert.AreEqual <int>(overtimeMethod, result.ResultData.OvertimeMethodID);
            Assert.AreEqual <decimal>(overtimeMultiplier, result.ResultData.OTMultiplier);

            // Can also check the data saved
            arrPayrollSetup = rs.GetPayrollSetupData(franchiseID);
            Assert.AreEqual <int>(1, arrPayrollSetup.Length);
            SiteBlue.Business.Reporting.PayrollSetup reportingPayrollSetup = arrPayrollSetup[0];
            Assert.AreEqual <int>(franchiseID, reportingPayrollSetup.FranchiseID);
            Assert.AreEqual <decimal>(overtimeStarts, (decimal)reportingPayrollSetup.OvertimeStarts);
            Assert.AreEqual <int>(overtimeMethod, reportingPayrollSetup.OvertimeMethodID);
            Assert.AreEqual <decimal>(overtimeMultiplier, (decimal)reportingPayrollSetup.OTMultiplier);
            Assert.AreEqual <string>(reportingOvertimeMethod, reportingPayrollSetup.OvertimeMethod);
        }
        public void PayrollSetup_007_SavePayrollSetup_BusinessException_OvertimeMultiplier()
        {
            // Arrange
            SQLHelper.RunSetupScript("UnitTest_PayrollSetup", "A7");
            int     franchiseID        = 39;
            decimal overtimeStarts     = -10M;
            int     overtimeMethod     = 2;
            decimal overtimeMultiplier = -2.5M; // Expect this to cause an argument exception

            // Act
            // call save payroll setup on business entity
            Exception caughtException = null;

            try
            {
                PayrollSetupService payrollSetupService = PayrollSetupService.Create <PayrollSetupService>(Guid.NewGuid());
                OperationResult <SiteBlue.Business.PayrollSetup.PayrollSetup> result = payrollSetupService.SavePayrollSetup(franchiseID, overtimeStarts, overtimeMethod, overtimeMultiplier);
            }
            catch (Exception ex)
            {
                caughtException = ex;
            }


            // Assert
            Assert.IsNotNull(caughtException);
            Assert.IsInstanceOfType(caughtException, typeof(ArgumentException));
        }