public IEnumerable<ArithmeticModel> Arithmetics(string sort = "create_date_asc", int page = 1, int pageSize = 10)
        {
            ValidateUsersArgs(sort, page, pageSize);

            var model = new ArithmeticsModel { Sort = sort, Page = page, PageSize = pageSize, SortItems = UserSortItems };
            var arithmetics = ProViewContext.Arithmetics.Paged(out model.TotalRows, where: "RowId <> @0", orderBy: sort.Replace("_", " "), page: page, pageSize: pageSize);
            model.Items = Mapper.Map<IEnumerable<Arithmetic>, IEnumerable<ArithmeticModel>>(arithmetics);

            return model.Items;
        }
        public ActionResult Arithmetics(string sort = "CreateDate_ASC", int page = 1, int pageSize = 10, bool layout = true)
        {
            ValidateArithmeticsArgs(sort, page, pageSize);

            var model = new ArithmeticsModel { Sort = sort, Page = page, PageSize = pageSize, SortItems = ArithmeticSortItems };
            var arithmetics = ProViewContext.Arithmetics.Paged(out model.TotalRows, where: "", orderBy: sort.Replace("_", " "), page: page, pageSize: pageSize);
            model.Items = Mapper.Map<IEnumerable<Arithmetic>, IEnumerable<ArithmeticModel>>(arithmetics);

            // exclude layout when browser history is recalled
            if (!layout && Request.IsAjaxRequest())
            {
                ViewBag.Layout = "No";  // return page without layout.
                return View(model);
            }

            if (Request.IsAjaxRequest())
                return PartialView("_Arithmetics", model);
            else
                return View(model);
        }
        public JsonResult GetArithmetics(string sort = "CreateDate_ASC", int page = 1, int pageSize = 10)
        {
            ValidateArithmeticsArgs(sort, page, pageSize);

            var model = new ArithmeticsModel { Sort = sort, Page = page, PageSize = pageSize, SortItems = ArithmeticSortItems };
            var arithmetics = ProViewContext.Arithmetics.Paged(out model.TotalRows, where: "", orderBy: sort.Replace("_", " "), page: page, pageSize: pageSize);
            model.Items = Mapper.Map<IEnumerable<Arithmetic>, IEnumerable<ArithmeticModel>>(arithmetics);
            return this.Json(model, JsonRequestBehavior.AllowGet);
        }