예제 #1
0
        public ActionResult GroupList(PagedSearch model)
        {
            PagedData <GroupModel> groups = null;

            if (this.Me.GroupSort != GroupSort.Super)
            {
                groups = this.permissionQuery.GetPageGroup(model, this.Me.DepartmentId);
            }
            else
            {
                groups = this.permissionQuery.GetPageGroup(model);
            }

            if (groups == null)
            {
                groups = new PagedData <GroupModel>();
            }

            var grid = new JsonGridModel()
            {
                TotalCount = groups.TotalCount,
                PageNow    = groups.PageNow,
                PageSize   = groups.PageSize,
                Records    = groups.Records
            };

            return(this.Json(ApiStatus.Success, grid));
        }
        public ActionResult CalcList(CalcSearchModel model)
        {
            if (!this.TryValidateModel(model))
            {
                return(this.Json(ApiStatus.Error, string.Empty, this.ModelErrorMessage));
            }

            IEnumerable <RepaymentModel> list = null;

            try
            {
                var calc = model.RepayType.GetCalc(model.TimeUnitType, model.StartTime, model.Period);
                list = calc.GetRepayments(model.Principal, (RepaymentRateType)model.RateType, model.Rate / 100m, model.Duration, model.Period, model.FixPrincipalPoint);
            }
            catch (Exception ex)
            {
                return(this.Json(ApiStatus.Error, ex.GetInnerException().Message));
            }

            var page = new PagedData <RepaymentModel>(1, model.Period, list);
            var grid = new JsonGridModel()
            {
                TotalCount = page.TotalCount,
                PageNow    = page.PageNow,
                PageSize   = page.TotalCount,
                Records    = page.Records.Select(r =>
                {
                    r.Interest  = r.Interest.FormatC(2);
                    r.Principal = r.Principal.FormatC(2);
                    return(r);
                }),
            };

            return(this.Json(ApiStatus.Success, grid));
        }
예제 #3
0
        public void should_build_grid_from_grid_service()
        {
            var grid  = new JsonGridModel();
            var query = new JsonGridQuery <BehaviorGraph>();

            MockFor <IGridService <BehaviorGraph, BehaviorChain> >()
            .Expect(s => s.GridFor(_graph, query))
            .Return(grid);

            ClassUnderTest
            .Execute(query)
            .ShouldEqual(grid);
        }
예제 #4
0
        public void should_build_grid_from_debug_report()
        {
            var model = new RequestCacheModel();
            var query = new JsonGridQuery <RequestCacheModel>();
            var grid  = new JsonGridModel();

            MockFor <IRequestCacheModelBuilder>()
            .Expect(b => b.Build())
            .Return(model);

            MockFor <IGridService <RequestCacheModel, RecordedRequestModel> >()
            .Expect(s => s.GridFor(model, query))
            .Return(grid);

            ClassUnderTest
            .Post(query)
            .ShouldEqual(grid);
        }
예제 #5
0
        public ActionResult DepartmentList(PagedSearch model)
        {
            var departments = this.permissionQuery.GetPageDeparement(model);

            if (departments == null)
            {
                departments = new PagedData <DepartmentModel>();
            }

            var grid = new JsonGridModel()
            {
                TotalCount = departments.TotalCount,
                PageNow    = departments.PageNow,
                PageSize   = departments.PageSize,
                Records    = departments.Records
            };

            return(this.Json(ApiStatus.Success, grid));
        }
예제 #6
0
        public ActionResult EmployeeList(PagedSearch model)
        {
            PagedData <EmployeeModel> employees = null;

            if (this.Me.GroupSort != GroupSort.Super)
            {
                employees = this.permissionQuery.GetPageEmployee(model, this.Me.DepartmentId);
            }
            else
            {
                employees = this.permissionQuery.GetPageEmployee(model);
            }

            if (employees == null)
            {
                employees = new PagedData <EmployeeModel>();
            }

            var alldepartments = this.permissionQuery.GetAllDepartment();

            if (alldepartments != null)
            {
                if (employees.Records != null)
                {
                    foreach (var i in employees.Records)
                    {
                        if (i.GroupSort == GroupSort.Super)
                        {
                            if (i.AggregateId != this.Me.AggregateId)
                            {
                                i.Id           = -1;
                                i.AggregateId  = "";
                                i.UserName     = "******";
                                i.NickName     = "地球很危险";
                                i.DepartmentId = "神秘部门";
                            }
                        }
                        else
                        {
                            i.DepartmentId = alldepartments.Any(t => t.AggregateId == i.DepartmentId) ? alldepartments.First(t => t.AggregateId == i.DepartmentId).Name : "未知部门";
                        }
                    }
                }
            }
            else if (employees.Records != null)
            {
                foreach (var i in employees.Records)
                {
                    if (i.GroupSort == GroupSort.Super)
                    {
                        if (i.AggregateId != this.Me.AggregateId)
                        {
                            i.Id           = -1;
                            i.AggregateId  = "";
                            i.UserName     = "******";
                            i.NickName     = "地球很危险";
                            i.DepartmentId = "神秘部门";
                        }
                    }
                    else
                    {
                        i.DepartmentId = alldepartments.Any(t => t.AggregateId == i.DepartmentId) ? alldepartments.First(t => t.AggregateId == i.DepartmentId).Name : "未知部门";
                    }
                }
            }

            var grid = new JsonGridModel()
            {
                TotalCount = employees.TotalCount,
                PageNow    = employees.PageNow,
                PageSize   = employees.PageSize,
                Records    = employees.Records
            };

            return(this.Json(ApiStatus.Success, grid));
        }