Esempio n. 1
0
        public ActionResult GetAll(string name, int deptId, string kind, string dateFrom, string dateTo, string sortdatafield, string sortorder, int pagesize, int pagenum)
        {
            //string name, int deptId, string kind, DateTime? dateFrom, DateTime? dateTo
            var fromDate = string.IsNullOrEmpty(dateFrom) ? DateTime.MinValue : (new DateTime(int.Parse(dateFrom.Split('.')[0]), int.Parse(dateFrom.Split('.')[1]), int.Parse(dateFrom.Split('.')[2])));
            var toDate   = string.IsNullOrEmpty(dateTo) ? DateTime.MaxValue : ((new DateTime(int.Parse(dateTo.Split('.')[0]), int.Parse(dateTo.Split('.')[1]), int.Parse(dateTo.Split('.')[2]))));

            string empId      = User.GetClaimValue(ClaimTypes.PrimarySid);
            var    repository = new ApplicationMasterRepository();
            var    list       = repository.GetAllMaster(string.IsNullOrEmpty(name) ? null : name, deptId, string.IsNullOrEmpty(kind) ? null : kind, fromDate, toDate, empId);
            var    total      = list.Count();

            if (!string.IsNullOrEmpty(sortorder))
            {
                list = sortorder == "asc" ? list.OrderBy(o => o.GetType().GetProperty(sortdatafield).GetValue(o, null)) :
                       list.OrderByDescending(o => o.GetType().GetProperty(sortdatafield).GetValue(o, null));
            }
            list = list.Skip(pagesize * pagenum).Take(pagesize);
            var result = new
            {
                TotalRows = total,
                Rows      = list
            };

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