Example #1
0
        public ContentResult GetEmployeeListByName(string q)
        {
            if (!string.IsNullOrEmpty(q))
            {
                q = q.Trim().ToUpper();
            }
            else
            {
                return(Content(string.Empty));
            }
            var           empList  = new EmployeeRule().QueryEmployee(q);
            StringBuilder sbresult = new StringBuilder();

            foreach (dynamic p in empList)
            {
                sbresult.Append(p.NAME);
                sbresult.Append("|");
                sbresult.Append(p.ID);
                sbresult.Append("|");
                sbresult.Append(p.DEPTID);
                sbresult.Append("|");
                sbresult.Append(p.DEPTNAME);
                sbresult.Append("\n");
            }
            return(Content(sbresult.ToString()));
        }
Example #2
0
        public JsonResult AnalysisEmpCharge(string beginDate, string endDate)
        {
            List <dynamic> mepChargeList = new EmployeeRule().EmpChargeAnalysis(beginDate, endDate);
            var            showList      = from empc in mepChargeList
                                           select new
            {
                name = empc.NAME,
                y    = Convert.ToDouble(string.IsNullOrEmpty(empc.FEECOUNT) ? 0 : empc.FEECOUNT)
            };

            return(Json(showList, JsonRequestBehavior.AllowGet));
        }
Example #3
0
        public ActionResult GetEmployeesByName(string q)
        {
            List <dynamic> emps    = new EmployeeRule().QueryEmployee(q);
            var            empList = from emp in emps
                                     select new
            {
                id   = emp.ID,
                text = emp.NAME
            };

            return(Json(empList, JsonRequestBehavior.AllowGet));
        }
Example #4
0
        public ActionResult ModifyEmployee(Employee emp)
        {
            AjaxResult result = new AjaxResult();

            try
            {
                emp.PY = Pinyin.GetPinyin(emp.Name);
                bool flag = new EmployeeRule().Update(emp);
                if (flag)
                {
                    result.Success = true;
                    result.Message = "客户信息更新成功。";
                }
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.Message = "客户信息更新失败:" + ex.Message;
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Example #5
0
        public ActionResult Search(EasyUIGridParamModel param, Employee emp)
        {
            int            ItemCount  = 0;
            List <dynamic> list       = new EmployeeRule().GetSearchJson(param, emp, out ItemCount);
            var            listResult = from m in list.ToList()
                                        select new
            {
                ID            = m.ID,
                NAME          = m.NAME,
                SEX           = m.SEX,
                BIRTHDATE     = m.BIRTHDATE,
                CARDTYPE      = m.CARDTYPE,
                CARDID        = m.CARDID,
                ADDRESS       = m.ADDRESS,
                OfficePhone   = m.OFFICEPHONE,
                DEPTNAME      = m.DEPTNAME,
                CURRENTSTATUS = m.STATUS.Replace("1", "在职").Replace("3", "停职")
            };

            return(Json(new { total = ItemCount, rows = listResult.ToList() }, JsonRequestBehavior.AllowGet));
        }
Example #6
0
        public void DiscountApplied(string employeeName, int numDependents)
        {
            //Arrange
            int     employeeCost  = 1000;
            decimal discount      = .1m;
            decimal dependentCost = 10;

            Mock <ICalculatorRule <DependentModel> > mockDependentRule = new Mock <ICalculatorRule <DependentModel> >();

            mockDependentRule.Setup(c =>
                                    c.Calculate(
                                        It.IsAny <DependentModel>(),
                                        It.IsAny <CalculatorResult>()
                                        )
                                    ).Callback((DependentModel dependentModel, CalculatorResult result) =>
            {
                result.Results.Add(new RuleResult(CostCodeEnum.DependentBaseCost, dependentCost));
                result.Total += dependentCost;
            });

            List <ICalculatorRule <DependentModel> > dependentCalculatorRules = new List <ICalculatorRule <DependentModel> >()
            {
                mockDependentRule.Object
            };

            ICalculator <DependentModel> dependentCalculator = new Calculator <DependentModel>(dependentCalculatorRules);

            var rule = new EmployeeRule(
                employeeCost: employeeCost,
                discount: discount,
                dependentCalculator: dependentCalculator
                );

            EmployeeModel employeeModel = new EmployeeModel()
            {
                Name = employeeName
            };

            for (int i = 0; i < numDependents; i++)
            {
                employeeModel.Dependents.Add(new DependentModel());
            }

            CalculatorResult result = new CalculatorResult();


            //Act
            rule.Calculate(employeeModel, result);


            //Assert
            decimal expectedTotalCost = employeeCost * (1 - discount);

            expectedTotalCost += numDependents * dependentCost;

            Assert.AreEqual(expectedTotalCost, result.Total);

            Assert.AreEqual(2, result.Results.Count);

            Assert.AreEqual(CostCodeEnum.EmployeeBaseCost, result.Results[0].CostCode);
            Assert.AreEqual(employeeCost, result.Results[0].Value);

            Assert.AreEqual(CostCodeEnum.EmployeeFirstLetterADiscount, result.Results[1].CostCode);
            Assert.AreEqual(employeeCost * discount, result.Results[1].Value);

            Assert.AreEqual(numDependents, result.SubResults.Count);

            for (int i = 0; i < numDependents; i++)
            {
                var dependentModel = employeeModel.Dependents[i];

                var dependentResults = result.SubResults[dependentModel.Id];
                Assert.AreEqual(1, dependentResults.Results.Count);

                Assert.AreEqual(CostCodeEnum.DependentBaseCost, dependentResults.Results[0].CostCode);
                Assert.AreEqual(dependentCost, dependentResults.Results[0].Value);

                Assert.AreEqual(dependentCost, dependentResults.Total);

                Assert.AreEqual(0, dependentResults.SubResults.Count);
            }
        }
Example #7
0
        public ActionResult GetEmployee(string empID)
        {
            object empObj = new EmployeeRule().GetEmployee(empID);

            return(Json(empObj, JsonRequestBehavior.AllowGet));
        }