public JsonResult RoleList()
        {
            var request = new DataTablesRequest <ManagementService.Model.ViewModel.RoleViewModel>(Request?.QueryString.Value);
            IPagedList <ManagementService.Model.ViewModel.RoleViewModel> model = _userService.GetRoles(request);

            return(JsonDataTable(model, request.Draw));
        }
        public JsonResult list()
        {
            var request = new DataTablesRequest <Model.ViewModel.UserViewModel>(Request?.QueryString.Value);
            IPagedList <Model.ViewModel.UserViewModel> model = _userService.GetUsers(request);

            return(JsonDataTable(model, request.Draw)); //new Model.ViewModel.DataTabaleAjaxViewModel<List<Model.ViewModel.UserViewModel>>() { Data = model };
        }
Esempio n. 3
0
        // for display datatable
        public ActionResult GetCategoryList(DataTablesRequest param)
        {
            //http://www.justinmichaels.net/using-jquery-datatables-with-asp-net-mvc-for-serverside-filtering-sorting-and-paging
            var categoryList = _db.Categories.AsEnumerable();

            var viewCategoryList = categoryList;

            IEnumerable <Category> filteredCategoryList;

            if (!string.IsNullOrEmpty(param.sSearch))
            {
                filteredCategoryList = viewCategoryList.Where(cat => (cat.Name ?? "").Contains(param.sSearch)).ToList();
            }
            else
            {
                filteredCategoryList = viewCategoryList;
            }

            var viewDataList = filteredCategoryList.Skip(param.iDisplayStart).Take(param.iDisplayLength).ToList();

            string[] data = viewDataList.ConvertAll(x => x.ToString()).ToArray();

            var result = DataTablesResponse.CreateResponse(param, categoryList.Count(), filteredCategoryList.Count(), data);

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Esempio n. 4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="dataRequest"></param>
        /// <returns></returns>
        public IActionResult GetOrderList([DataTablesRequest] DataTablesRequest dataRequest)
        {
            IEnumerable <OrderRequest> orders = _orderProxy.GetAll();
            int recordsTotal   = orders.Count();
            int recordsFilterd = recordsTotal;

            //if (!string.IsNullOrEmpty(dataRequest.Search?.Value))
            //{
            //    orders = orders.Where(e => e.OrderNo.Contains(dataRequest.Search.Value));
            //    recordsFilterd = orders.Count();
            //}
            orders = orders.Skip(dataRequest.Start).Take(dataRequest.Length);
            var json = Json(orders
                            .Select(e => new
            {
                Id            = e.Id,
                OrderNo       = e.OrderNo,
                OrderDate     = e.OrderDate,
                TotalAmount   = e.TotalAmount,
                TotalDiscount = e.TotalDiscount,
                Status        = e.Status.ToString()
            })
                            .ToDataTablesResponse(dataRequest, recordsTotal, recordsFilterd));

            return(json);
        }
Esempio n. 5
0
        protected Query ProcessColumnSearch(DataTablesRequest request, Query baseQuery)
        {
            //Apply column search. Always check the column configuration
            //to validate that the column is actually searchable
            var searchColumns = request.Columns.Where(sc => sc.HasSearch && (Configuration.Column(sc.Name)?.Searchable ?? false));

            if (searchColumns.Any())
            {
                foreach (var col in searchColumns)
                {
                    var colConfig     = Configuration.Column(col.Name);
                    var convertToType = Nullable.GetUnderlyingType(colConfig.Type) ?? colConfig.Type;
                    var searchValue   = Convert.ChangeType(col.Search.Value, convertToType);
                    //TODO use operators to generate the WHERE clause
                    if (colConfig.Type == typeof(string))
                    {
                        baseQuery.WhereStarts(colConfig.Column, searchValue.ToString());
                    }
                    else
                    {
                        baseQuery.Where(col.Name, searchValue);
                    }
                }
            }
            return(baseQuery);
        }
Esempio n. 6
0
        public async Task <IActionResult> BenefitUploadListByClient([DataTablesRequest] DataTablesRequest dataRequest, string EnrollmentHdrID)
        {
            int.TryParse(EnrollmentHdrID.Trim(), out int _clientID);
            var query = string.Format(@"SELECT bu.ID,bu.PlanId,bu.CorpCode,cc.ShortName CoverageCode,bu.BenefitCode,bc.Code BenefitShortName,
                                    bc.Description BenefitDescription,bu.ActiveFlag,bu.ConditionDescription,bu.LOA_Description,bu.ClientBenefitcode,
                                    lc.Description LimitCode,fc.Description FrequencyCode,bu.MaxValue,bu.MultipleCondition,
                                    CONCAT(CONVERT(VARCHAR(30),bu.UploadDate,106),' ',CONVERT(VARCHAR(30),bu.UploadDate,108)) UploadDate,bu.UserUpload,
                                    CONCAT(bu.errPlanId+'<br>',bu.errCorpCode+'<br>',bu.errCoverageCode+'<br>',bu.errBenefitCode+'<br>',bu.errConditionDescription+'<br>',
                                    bu.errLOA_Description+'<br>',bu.errActiveFlag+'<br>',bu.errClientBenefitcode+'<br>',bu.errLimitCode+'<br>',bu.errFrequencyCode+'<br>',
                                    bu.errMaxValue+'<br>') ErrorMessage
                                FROM stg.BenefitUpload bu
                                LEFT JOIN dbo.CoverageCodes cc ON cc.ID = bu.CoverageCode
                                LEFT JOIN dbo.BenefitCodes bc ON bc.ID = bu.BenefitCode
                                LEFT JOIN FrequencyCodes fc ON fc.ID = bu.FrequencyCode
                                LEFT JOIN LimitCodes lc ON lc.ID = bu.LimitCode
                                    WHERE bu.EnrollmentHdrID=@EnrollmentHdrID ");
            var ls    = new List <BenefitUploadVM>();

            try
            {
                var _params = new SqlParameter {
                    ParameterName = "@EnrollmentHdrID", SqlDbType = SqlDbType.Int, Value = _clientID
                };
                ls = await _context.Set <BenefitUploadVM>().FromSql(query, _params).ToListAsync();
            }
            catch (Exception ex)
            {
                flashMessage.Danger("Error Paging benefit : " + ex.Message);
                throw new Exception();
            }

            return(Json(ls.ToDataTablesResponse(dataRequest, ls.Count, ls.Count)));
        }
Esempio n. 7
0
        public IActionResult GetUserList([DataTablesRequest] DataTablesRequest dataRequest)
        {
            IEnumerable <ApplicationUserRequest> users = _proxy.GetAllUser();
            int recordsTotal   = users.Count();
            int recordsFilterd = recordsTotal;

            //if (!string.IsNullOrEmpty(dataRequest.Search?.Value))
            //{
            //    users = users.Where(e => e.Email.Contains(dataRequest.Search.Value));
            //    recordsFilterd = users.Count();
            //}
            users = users.Skip(dataRequest.Start).Take(dataRequest.Length);
            var json = Json(users
                            .Select(e => new
            {
                Id        = e.Id,
                UserName  = e.UserName,
                Email     = e.Email,
                Role      = e.Role,
                ContactNo = e.ContactNo,
                IsLocked  = e.IsLocked
            })
                            .ToDataTablesResponse(dataRequest, recordsTotal, recordsFilterd));

            return(json);
        }
Esempio n. 8
0
        protected object Bind()
        {
            var request = new DataTablesRequest();

            request.Challenge        = GetRequired <int>("sEcho");
            request.DisplayedColumns = GetRequired <int>("iColumns");
            request.DisplayStart     = GetRequired <int>("iDisplayStart");
            request.DisplayLength    = GetRequired <int>("iDisplayLength");

            request.GlobalSearch        = GetRequired <string>("sSearch");
            request.IsGlobalSearchRegex = GetRequired <bool>("bRegex");
            request.SortedColumns       = GetRequired <int>("iSortingCols");

            for (int i = 0; i < request.DisplayedColumns; i++)
            {
                var column = new DataTablesColumnSearchRequest();
                column.ColumnIndex   = i;
                column.IsSearchable  = GetRequired <bool>("bSearchable_" + i);
                column.IsSortable    = GetRequired <bool>("bSortable_" + i);
                column.Search        = GetRequired <string>("sSearch_" + i);
                column.IsSearchRegex = GetRequired <bool>("bRegex_" + i);

                request.SearchColumns.Add(column);
            }

            for (int i = 0; i < request.SortedColumns; i++)
            {
                var column = new DataTablesColumnSortRequest();
                column.ColumnIndex = GetRequired <int>("iSortCol_" + i);;
                column.Direction   = GetRequired <string>("sSortDir_" + i) == "asc" ? SortingDirection.Ascending : SortingDirection.Descending;
                request.SortColumns.Add(column);
            }

            return(request);
        }
Esempio n. 9
0
        /// <summary>
        /// Applies the given <see cref="DataTablesRequest{TEntity, TEntityViewModel}"/> to the given
        /// <see cref="IQueryable{T}"/> by performing a few consecutive steps. The method will apply
        /// the global filter predicate, global search, column search and column ordering.
        /// </summary>
        /// <typeparam name="TEntity">The type of the entity.</typeparam>
        /// <typeparam name="TEntityViewModel">The type of the entity view model.</typeparam>
        /// <param name="queryable">The queryable.</param>
        /// <param name="request">The request.</param>
        public static IDataTablesQueryable <TEntity, TEntityViewModel> Apply <TEntity, TEntityViewModel>(
            this IQueryable <TEntity> queryable, DataTablesRequest <TEntity, TEntityViewModel> request)
        {
            queryable = queryable.AsDataTablesQueryable(request)
                        .ApplyGlobalSearchFilter()
                        .ApplyColumnSearchFilter()
                        .ApplyOrder();

            if (request.Log != null)
            {
                var sb = new StringBuilder("DataTables.Queryable -> Incoming request:\n");

                foreach (string key in request.OriginalRequest.AllKeys)
                {
                    string value = request.OriginalRequest[key];
                    sb.AppendLine($"{key} = {$"\"{value}\""}");
                }

                sb.AppendLine();
                sb.AppendLine($"DataTables.Queryable -> Resulting queryable:\n{queryable}\n");

                request.Log.Invoke(sb.ToString());
            }

            return((IDataTablesQueryable <TEntity, TEntityViewModel>)queryable);
        }
Esempio n. 10
0
        public IEnumerable <VisitViewModel> GetVisitsByFilter(DataTablesRequest dataTablesRequest, VisitFilter visitFilter, out int totalRecordsNumber)
        {
            IQueryable <Visite> query = db.Visites.AsQueryable <Visite>();

            if (!String.IsNullOrEmpty(visitFilter.VisitDate))
            {
                DateTime date = DateTime.Parse(visitFilter.VisitDate);
                query = query.Where(x => x.VisiteDate.Year == date.Year).Where(x => x.VisiteDate.Month == date.Month).Where(x => x.VisiteDate.Day == date.Day);
            }
            if (visitFilter.DoctorName != "-1")
            {
                query = query.Where(x => (x.Doctor.FirstName + " " + x.Doctor.LastName == visitFilter.DoctorName));
            }
            totalRecordsNumber = query.Count();

            query = query.OrderBy(x => x.DoctorId).Skip(dataTablesRequest.iDisplayStart).Take(dataTablesRequest.iDisplayLength);

            var visistTableList = query.ToList <Visite>().Select(v => new VisitViewModel()
            {
                Description          = v.Description,
                City                 = v.Patient.City.CityName,
                DoctorName           = v.Doctor.FirstName + " " + v.Doctor.LastName,
                DoctorSpecialization = v.Doctor.MedicalSpecialization.Specialization,
                PatientName          = v.Patient.FirstName + " " + v.Patient.LastName,
                VisitDate            = v.VisiteDate.ToString()
            });

            return(visistTableList);
        }
Esempio n. 11
0
        public async Task <IActionResult> PlanUploadListByClient([DataTablesRequest] DataTablesRequest dataRequest, string EnrollmentHdrID)
        {
            int.TryParse(EnrollmentHdrID.Trim(), out int _clientID);
            var query = string.Format(@"SELECT pu.ID,pu.PayorCode,pu.PlanId,pu.CorpCode,pu.EffectiveDate,pu.TerminationDate,pu.ActiveFlag,
                            pu.ShortName,pu.LongName,pu.Remarks,pu.PolicyNo,fc.Description FrequencyCode,lc.Description LimitCode,pu.MaxValue,
                            pu.FamilyMaxValue,pu.PrintText,CONCAT(CONVERT(VARCHAR(30),pu.UploadDate,106),' ',CONVERT(VARCHAR(30),pu.UploadDate,108)) UploadDate,
                            pu.UserUpload,CONCAT(pu.errPayorCode+'<br>',pu.errPlanId+'<br>',pu.errCorpCode+'<br>',pu.errEffectiveDate+'<br>',pu.errTerminationDate+'<br>',pu.errActiveFlag+'<br>',
                            pu.errFrequencyCode+'<br>',pu.errLimitCode+'<br>',pu.errMaxValue+'<br>',pu.errFamilyMaxValue) ErrorMessage 
                        FROM stg.PlanUpload pu
                            LEFT JOIN FrequencyCodes fc ON fc.ID = pu.FrequencyCode
                            LEFT JOIN LimitCodes lc ON lc.ID = pu.LimitCode
                            WHERE pu.EnrollmentHdrID=@EnrollmentHdrID ");

            var ls = new List <PlanUploadVM>();

            try
            {
                var _params = new SqlParameter {
                    ParameterName = "@EnrollmentHdrID", SqlDbType = SqlDbType.Int, Value = _clientID
                };
                ls = await _context.Set <PlanUploadVM>().FromSql(query, _params).ToListAsync();
            }
            catch (Exception ex) { throw new Exception(ex.Message); }

            return(Json(ls.ToDataTablesResponse(dataRequest, ls.Count, ls.Count)));
        }
Esempio n. 12
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="dataRequest"></param>
        /// <returns></returns>
        public IActionResult GetProductList([DataTablesRequest] DataTablesRequest dataRequest)
        {
            IEnumerable <ProductRequest> products = _productProxy.GetAll();
            int recordsTotal   = products.Count();
            int recordsFilterd = recordsTotal;

            //if (!string.IsNullOrEmpty(dataRequest.Search?.Value))
            //{
            //    products = products.Where(e => e.ProductName.Contains(dataRequest.Search.Value));
            //    recordsFilterd = products.Count();
            //}
            products = products.Skip(dataRequest.Start).Take(dataRequest.Length);
            var json = Json(products
                            .Select(e => new
            {
                Id                = e.Id,
                ProductName       = e.ProductName,
                UnitPrice         = e.UnitPrice,
                AvailableDiscount = e.AvailableDiscount,
                CategoryName      = e.CategoryName,
                UnitName          = e.UnitName,
                Status            = e.Status.ToString(),
                IsActive          = e.IsActive
            })
                            .ToDataTablesResponse(dataRequest, recordsTotal, recordsFilterd));

            return(json);
        }
Esempio n. 13
0
        public IActionResult Get([DataTablesRequest] DataTablesRequest dataRequest)
        {
            IEnumerable <Product> products = Products.GetProducts();
            int recordsTotal   = products.Count();
            int recordsFilterd = recordsTotal;

            if (!string.IsNullOrEmpty(dataRequest.Search?.Value))
            {
                products       = products.Where(e => e.Name.Contains(dataRequest.Search.Value));
                recordsFilterd = products.Count();
            }
            products = products.Skip(dataRequest.Start).Take(dataRequest.Length);

            return(Json(products
                        .Select(e => new
            {
                Id = e.Id,
                Name = e.Name,
                Created = e.Created,
                Salary = e.Salary,
                Position = e.Position,
                Office = e.Office
            })
                        .ToDataTablesResponse(dataRequest, recordsTotal, recordsFilterd)));
            //return Json(new {
            //    draw = dataRequest.Draw,
            //    recordsTotal = products.Count(),
            //    recordsFiltered = products.Count(),
            //    data = products.Select(e => new {  Id = e.Id, Name = e.Name, Created = e.Created, Price = 10 })
            //});
        }
Esempio n. 14
0
        public dynamic ToDataTableResponse<T>(IQueryable<T> data)
        {
            var drawString = Request.Query["draw"];
            if (data != null)
            {
                var request = new DataTablesRequest<T>(Request.QueryString.ToString());
                var filtered = data.ToPagedList(request);
                int draw = Convert.ToInt32(drawString);

                return new
                {
                    draw,
                    recordsFiltered = filtered.TotalCount,
                    recordsTotal = filtered.TotalCount,
                    data = filtered
                };
            }
            else
            {
                return new
                {
                    draw = drawString,
                    recordsFiltered = 0,
                    recordsTotal = 0,
                    data = new List<T>()
                };
            }
        }
Esempio n. 15
0
        private Result get_page(HttpContext context)
        {
            DataTablesRequest param = new DataTablesRequest(context.Request);
            int    region           = Convert.ToInt32(context.Request["region"]);
            int    restype          = Convert.ToInt32(context.Request["restype"]);
            int    projectsource    = Convert.ToInt32(context.Request["projectsource"]);
            string positionid       = context.Request["position"];
            string positionname     = context.Request["positionname"];
            string pagename         = context.Request["pagename"];
            string pagetype         = context.Server.UrlDecode(context.Request["pagetype"]);
            int    downtype         = Convert.ToInt32(context.Request["downtype"]);
            int    checkistag       = Convert.ToInt32(context.Request["checkistag"]);
            int    pagesize         = param.iDisplayLength;
            int    pageIndex        = (param.iDisplayStart + 1) / param.iDisplayLength + 1;
            int    recordcount      = 0;

            B_BaseTool_DataAccess basetool = new B_BaseTool_DataAccess();
            int softid2 = basetool.getSoftid2byProjectsource(projectsource, region);

            var list = B_BaseDownPositionService.Instance.GetB_DownPositionListByCache((ProjectSourceTypeOptions)region, downtype, checkistag,
                                                                                       restype, projectsource, positionid,
                                                                                       positionname, pagename, pagetype, (pageIndex - 1) * pagesize,
                                                                                       pagesize, softid2, out recordcount);


            JQueryDataTableData dt = new JQueryDataTableData();

            dt.sEcho         = param.sEcho;
            dt.iTotalRecords = dt.iTotalDisplayRecords = recordcount;
            dt.aaData        = GetDataStrList(list);
            return(Result.GetSuccessedResult(dt, false));
        }
Esempio n. 16
0
        public async Task <IActionResult> CoverageUploadListByClient([DataTablesRequest] DataTablesRequest dataRequest, string EnrollmentHdrID)
        {
            int.TryParse(EnrollmentHdrID.Trim(), out int _clientID);
            var query = string.Format(@"SELECT cu.ID,cu.PlanId,cu.CorpCode,cu.CoverageCode,cu.ActiveFlag,
                                        cu.ClientCoverageCode,lc.Description LimitCode,fc.Description FrequencyCode,cu.MinValue,cu.MaxValue,
                                        cu.FamilyValue,CONCAT(CONVERT(VARCHAR(30),cu.UploadDate,106),' ',CONVERT(VARCHAR(30),cu.UploadDate,108)) UploadDate,
                                        cu.UserUpload,CONCAT(cu.errPlanId+'<br>',cu.errCorpCode+'<br>',cu.errCoverageCode+'<br>',cu.errActiveFlag+'<br>',cu.errClientCoverageCode+'<br>',
                                        cu.errLimitCode+'<br>',cu.errFrequencyCode+'<br>',cu.errMaxValue+'<br>',cu.errFamilyValue+'<br>') ErrorMessage 
                                    FROM stg.CoverageUpload cu
                                    LEFT JOIN FrequencyCodes fc ON fc.ID = cu.FrequencyCode
                                    LEFT JOIN LimitCodes lc ON lc.ID = Cu.LimitCode
                                    WHERE cu.EnrollmentHdrID=@EnrollmentHdrID ");

            var ls = new List <CoverageUploadVM>();

            try
            {
                var _params = new SqlParameter {
                    ParameterName = "@EnrollmentHdrID", SqlDbType = SqlDbType.Int, Value = _clientID
                };
                ls = await _context.Set <CoverageUploadVM>().FromSql(query, _params).ToListAsync();
            }
            catch (Exception ex)
            {
                flashMessage.Danger("Error Paging Coverage : " + ex.Message);
            }

            return(Json(ls.ToDataTablesResponse(dataRequest, ls.Count, ls.Count)));
        }
Esempio n. 17
0
        public IActionResult Get([DataTablesRequest] DataTablesRequest dataRequest)
        {
            //var users = _context.User.ToList();
            IEnumerable <Users> users = _context.User.ToList();
            int recordsTotal          = users.Count();
            int recordsFilterd        = recordsTotal;

            if (!string.IsNullOrEmpty(dataRequest.Search?.Value))
            {
                users          = users.Where(e => e.Name.Contains(dataRequest.Search.Value) || e.Email.Contains(dataRequest.Search.Value) || e.SelectedEvents.Contains(dataRequest.Search.Value));
                recordsFilterd = users.Count();
            }
            users = users.Skip(dataRequest.Start).Take(dataRequest.Length).AsQueryable().OrderBy(dataRequest.Columns.ToList()[dataRequest.Orders.First().Column].Data + " " + dataRequest.Orders.First().Dir);

            return(Json(users
                        .Select(e => new
            {
                Id = e.Id,
                Name = e.Name,
                Email = e.Email,
                RegisteredDate = e.RegisteredDate.ToShortDateString(),
                Gender = e.Gender,
                SelectedEvents = e.SelectedEvents,
                AdditionalRequest = e.AdditionalRequest
            })
                        .ToDataTablesResponse(dataRequest, recordsTotal, recordsFilterd)));
        }
        public object BindModel(ControllerContext controllerContext, System.Web.Mvc.ModelBindingContext bindingContext)
        {
            var pageRequest = new DataTablesRequest
            {
                Echo          = BindDataTablesRequestParam <Int32>(bindingContext, "sEcho"),
                DisplayStart  = BindDataTablesRequestParam <Int32>(bindingContext, "iDisplayStart"),
                DisplayLength = BindDataTablesRequestParam <Int32>(bindingContext, "iDisplayLength"),
                ColumnNames   = BindDataTablesRequestParam <string>(bindingContext, "sColumns"),
                Columns       = BindDataTablesRequestParam <Int32>(bindingContext, "iColumns"),
                Search        = BindDataTablesRequestParam <string>(bindingContext, "sSearch"),
                Regex         = BindDataTablesRequestParam <bool>(bindingContext, "bRegex"),
                SortingCols   = BindDataTablesRequestParam <Int32>(bindingContext, "iSortingCols"),
                DataProp      = BindDataTablesRequestParam <string>(controllerContext.HttpContext.Request, "mDataProp_"),
                RegexColumns  = BindDataTablesRequestParam <bool>(controllerContext.HttpContext.Request, "bRegex_"),
                Searchable    = BindDataTablesRequestParam <bool>(controllerContext.HttpContext.Request, "bSearchable_"),
                Sortable      = BindDataTablesRequestParam <bool>(controllerContext.HttpContext.Request, "bSortable_"),
                SortCol       = BindDataTablesRequestParam <Int32>(controllerContext.HttpContext.Request, "iSortCol_"),
                SearchColumns = BindDataTablesRequestParam <string>(controllerContext.HttpContext.Request, "sSearch_"),
                SortDir       = BindDataTablesRequestParam <string>(controllerContext.HttpContext.Request, "sSortDir_"),

                CategoryId = BindDataTablesRequestParamstring(bindingContext, "CategoryId"),
                VendorId   = BindDataTablesRequestParamstring(bindingContext, "VendorId")
            };

            return(pageRequest);
        }
        protected override Result GetDetailTable <T>(HttpContext context)
        {
            var lists = GetData <T>(context, true);
            var list  = lists.Count != 0 ? lists[0] : new List <T>();
            DataTablesRequest   param = new DataTablesRequest(context.Request);
            JQueryDataTableData dt    = new JQueryDataTableData();

            dt.sEcho         = param.sEcho;
            dt.iTotalRecords = dt.iTotalDisplayRecords = list.Count;
            dt.aaData        = ObjectParseListFillDetailTable(list);

            DateTime restime = Convert.ToDateTime(context.Request["begintime"]);
            int      period  = Convert.ToInt32(context.Request["period"]);

            if (1 == period)
            {
                dt.begintime = restime.ToString("yyyy-MM-dd");
                dt.endtime   = restime.ToString("yyyy-MM-dd");
            }
            if (3 == period)
            {
                dt.begintime = B_BaseToolService.GetWeekUpOfDate(restime, DayOfWeek.Monday, -1).ToString("yyyy-MM-dd");
                dt.endtime   = B_BaseToolService.GetWeekUpOfDate(restime, DayOfWeek.Sunday, 0).ToString("yyyy-MM-dd");
            }
            if (12 == period)
            {
                dt.begintime = restime.AddDays(-1 * (restime.Day) + 1).AddMonths(-1).ToString("yyyy-MM-dd");
                dt.endtime   = restime.AddDays(-1 * (restime.Day)).ToString("yyyy-MM-dd");
            }
            return(Result.GetSuccessedResult(dt, false));
        }
Esempio n. 20
0
        /// <summary>
        /// Create a Lambda Expression that is chain of Or Expressions
        /// for each column. Each column will be tested if it contains the
        /// generic search string.
        ///</summary>
        /// <remarks>
        /// Query logic = (or … or …) And (or … or …)
        /// </remarks>
        /// <returns>IQueryable of T</returns>
        private static IQueryable <T> Filter(IQueryable source, DataTablesRequest requestModel)
        {
            // If there is no search term wew don't need to bother with filtering
            if (String.IsNullOrEmpty(requestModel.sSearch))
            {
                return((IQueryable <T>)source);
            }

            var predicate = PredicateBuilder.False <T>();
            var obj       = Expression.Parameter(typeof(T));

            var columnNames = requestModel.sColumns.Split(',');
            var propNames   = typeof(T).GetProperties(BindingFlags.Instance | BindingFlags.Public)
                              .Where(e => e.PropertyType == typeof(string))
                              .Select(x => x.Name).ToList();

            for (int i = 0; i < columnNames.Length; i++)
            {
                if (requestModel.bSearchable[i] && propNames.Contains(columnNames[i]))
                {
                    var filterBy = FilterByString(obj, columnNames[i], requestModel.sSearch);
                    predicate = predicate.Or(filterBy);
                }
            }

            var rewired = RewireLambdaExpression(predicate, obj);
            var filter  = source.OfType <T>().Where(rewired);

            return(filter);
        }
Esempio n. 21
0
        public JsonResult WayBillExceptionList(WayBillExceptionFilter filter)
        {
            dicSort.Add(2, "w.PostingTime");

            DataTablesRequest parm = new DataTablesRequest(this.Request);    //处理对象
            int pageIndex          = parm.iDisplayLength == 0 ? 0 : parm.iDisplayStart / parm.iDisplayLength;

            filter.PageIndex = pageIndex;           //页索引
            filter.PageSize  = parm.iDisplayLength; //页行数

            string strSortField = dicSort.Where(x => x.Key == parm.SortColumns[0].Index).Select(x => x.Value).FirstOrDefault();
            string strSortDire  = parm.SortColumns[0].Direction == SortDirection.Asc ? "asc" : "desc";

            filter.OrderBy = " " + strSortField + " " + strSortDire;

            var DataSource = Core.Reconciliation.WayBillException.GetByFilter(filter) as WRPageOfList <WayBillException>;

            int i = parm.iDisplayLength * pageIndex;

            List <WayBillException> queryData = DataSource.ToList();
            var data = queryData.Select(u => new
            {
                Index            = ++i, //行号
                ID               = u.ID,
                IsInputCost      = u.IsInputCost,
                CusName          = u.CusName,                                                                                                                                                                                                                                       //客户简称
                PostingTime      = u.PostingTime == null ? string.Empty : u.PostingTime.Value.ToStringDate(),                                                                                                                                                                       //收寄日期
                ExpressNo        = u.ExpressNo,                                                                                                                                                                                                                                     //运单号
                BatchNO          = u.LoadBillNum,                                                                                                                                                                                                                                   //提单号
                Weight           = u.Weight == null ? 0m : u.Weight / 1000,                                                                                                                                                                                                         //重量
                WayBillFee       = u.WayBillFee,                                                                                                                                                                                                                                    //邮资
                ProcessingFee    = u.ProcessingFee,                                                                                                                                                                                                                                 //邮政邮件处理费
                InComeWayBillFee = u.ExpressFee,                                                                                                                                                                                                                                    //客户运费
                InComeOprateFee  = u.OperateFee,                                                                                                                                                                                                                                    //客户操作费
                WayBillMargins   = u.WayBillProfit,                                                                                                                                                                                                                                 //运费毛利
                TotalMargins     = u.ExpressFee + u.OperateFee + u.InComeOtherFee - (u.WayBillFee + u.ProcessingFee + u.CostOtherFee),                                                                                                                                              //总毛利
                Margin           = Math.Round((u.ExpressFee + u.OperateFee + u.InComeOtherFee == 0 ? 0m : (u.ExpressFee + u.OperateFee + u.InComeOtherFee - (u.WayBillFee + u.ProcessingFee + u.CostOtherFee)) / (u.ExpressFee + u.OperateFee + u.InComeOtherFee) * 100), 2) + "%", //毛利率 毛利率=(总收入-总的支出的成本)/总收入*100%
                ReconcileDate    = u.ReconcileDate.ToStringDate(),                                                                                                                                                                                                                  //对账日期
                CostOtherFee     = u.CostOtherFee,                                                                                                                                                                                                                                  //成本 其他费用
                CostTotalFee     = u.WayBillFee + u.ProcessingFee + u.CostOtherFee,                                                                                                                                                                                                 //成本 总费用
                CostStatus       = u.CostStatus.ToChinese(),                                                                                                                                                                                                                        //成本 状态
                InComeOtherFee   = u.InComeOtherFee,                                                                                                                                                                                                                                //收入 其他费用
                InComeTotalFee   = u.ExpressFee + u.OperateFee + u.InComeOtherFee,                                                                                                                                                                                                  //收入 总费用
                InComeStatus     = u.InComeStatus.ToChinese(),                                                                                                                                                                                                                      //收入 状态
                ExceptionMsg     = u.ExceptionMsg,                                                                                                                                                                                                                                  //运单异常原因
                WayBillCostID    = u.WayBillCostID                                                                                                                                                                                                                                  //运单成本ID
                                                                                                                                                                                                                                                                                    // ExceptionType = u.ExceptionType  //运单异常状态
            });
            //decimal totalProfit = 0m;      //总毛利求和
            //构造成Json的格式传递
            var result = new
            {
                iTotalRecords        = DataSource.Count,
                iTotalDisplayRecords = DataSource.RecordTotal,
                data = data
            };

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Esempio n. 22
0
        public async Task <IActionResult> GetUsers(UserViewModel userViewModel, DataTablesRequest dtReq)
        {
            var userList = await usrService.FindUsers(userViewModel, dtReq);

            var userVM = mapper.Map <IEnumerable <UserCreateViewModel> >(userList.Items);

            return(Json(new DataTablesResponse(dtReq.draw, userVM, userList.TotalCount, userList.TotalCount).ToJson()));
        }
Esempio n. 23
0
        public JsonResult Data(DataTablesRequest model)
        {
            var data            = _menuServices.GetAll().Data.AsQueryable();
            var dataTableParser = new DataTablesParser <Menu>(model, data);
            var formattedList   = dataTableParser.Process();

            return(Json(formattedList, JsonRequestBehavior.AllowGet));
        }
Esempio n. 24
0
        public static DataTablesJsonResult CreateResponse(
            this DataTablesRequest request,
            string errorMessage)
        {
            var response = DataTablesResponse.Create(request, errorMessage);

            return(new DataTablesJsonResult(response));
        }
Esempio n. 25
0
 public IPagedList <RoleViewModel> GetRoles(DataTablesRequest <RoleViewModel> request)
 {
     return(Roles.Queryable().Select(p => new RoleViewModel()
     {
         Name = p.Name,
         RoleId = Convert.ToString(p.Id)
     }).ToPagedList(request));
 }
Esempio n. 26
0
        public ActionResult GetPatientListByFilter(DataTablesRequest dataTablesRequest, PatientFilter patient)
        {
            Service serv = new Service();
            int     totalRecordsNumber;
            var     model = serv.FindPatiets(dataTablesRequest, patient, out totalRecordsNumber);

            return(new DataTablesResult(dataTablesRequest.sEcho, totalRecordsNumber, totalRecordsNumber, model));
        }
Esempio n. 27
0
        public async Task <IActionResult> GetList([DataTablesRequest] DataTablesRequest dataRequest)
        {
            var customerId = Guid.Parse("13bce473-5e31-4f3f-87a0-8863b6a814f5");
            var result     = await driverQueries.GetLisOfDriversAsync(customerId, dataRequest.Search?.Value, dataRequest.Start,
                                                                      dataRequest.Length).ConfigureAwait(false);

            return(Json(result.Data.ToDataTablesResponse(dataRequest, result.RecordsTotal, result.RecordsFilterd)));
        }
Esempio n. 28
0
        public ActionResult GetVisitsByFilter(DataTablesRequest dataTablesRequest, VisitFilter visitFilter)
        {
            Service serv = new Service();
            int     totalRecordsNumber;
            var     visitList = serv.GetVisitsByFilter(dataTablesRequest, visitFilter, out totalRecordsNumber);

            return(new DataTablesResult(dataTablesRequest.sEcho, totalRecordsNumber, totalRecordsNumber, visitList));
        }
Esempio n. 29
0
        public JsonResult Data(DataTablesRequest model)
        {
            var data            = _roleManager.Roles.AsQueryable();
            var dataTableParser = new DataTablesParser <ApplicationRole>(model, data);
            var formattedList   = dataTableParser.Process();

            return(Json(formattedList, JsonRequestBehavior.AllowGet));
        }
Esempio n. 30
0
        /// <summary>
        /// Datas the table.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns></returns>
        public JsonResult DataTable(DataTablesRequest request)
        {
            IMediaRepository repository = new DbMediaRepository(new EntityFrameworkSexContext());

            var videos = repository.GetVideos();

//            return Json(
//                request.Response(
//                    videos.AsQueryable(),
//                    new Field<Video, string>(video => video.Hash, (video, search) => video.Hash.Contains(search)),
//                    new Field<Video, string>(video => video.FileName, (video, search) => video.FileName.Contains(search), (videoFileName) => string.Format(@"
//<video id=""videoBox"" class=""video-js vjs-default-skin"" controls preload=""none"" width=""640"" height=""264"" data-setup=""{{}}"">
//   <source src=""{0}"" type='video/mp4' />
//</video>", Url.Action("OceansClip", new { filename = videoFileName }))),
//                    new Field<Video, TimeSpan>(video => video.Duration, (IQueryable<Video> items, string search) =>
//                    {
//                        int maxDuration = int.Parse(search);
//                        return items.Where(video => DbFunctions.DiffMinutes(TimeSpan.Zero, video.Duration) <= maxDuration);
//                    }),
//                    new Field<Video, string>(video => video.NormalizedTags, (video, search) => video.NormalizedTags.Contains(search))),
//                JsonRequestBehavior.AllowGet);
            return(Json(
                       request.Response(
                           videos.AsQueryable(),
                           new Field <Video, string>(
                               video => video.FileName,
                               (video, search) => video.FileName.Contains(search)),
                           new Field <Video, TimeSpan>(
                               video => video.Duration,
                               (IQueryable <Video> items, string search) =>
            {
                try
                {
                    var split = search.Split('-');
                    if (split.Count() == 1)
                    {
                        int maxDuration = int.Parse(search);
                        return items.Where(video => DbFunctions.DiffMinutes(TimeSpan.Zero, video.Duration) <= maxDuration);
                    }

                    if (split.Count() == 2)
                    {
                        int minDuration = int.Parse(split[0]);
                        int maxDuration = int.Parse(split[1]) + 1;
                        return items.Where(video => DbFunctions.DiffMinutes(TimeSpan.Zero, video.Duration) <= maxDuration && DbFunctions.DiffMinutes(TimeSpan.Zero, video.Duration) >= minDuration);
                    }
                }
                catch (Exception)
                {
                }
                return items;
            },
                               duration => duration.ToString(@"hh\:mm\:ss")),
                           new Field <Video, string>(
                               video => video.NormalizedTags,
                               (video, search) => video.NormalizedTags.Contains(search))),
                       JsonRequestBehavior.AllowGet));
        }
        public TestData(string columnName, string searchString)
        {

            Queryable = new List<SomeModel>()
            {
                new SomeModel()
                {
                    Category = 1,
                    DisplayName = "Kapitein Archibald Haddock",
                    Id = 123,
                    Scale = 123.456d,
                    Discounted = true,
                    Cost = 123,
                    When = new DateTime(2015,1,1,10,01,0)
                },
                new SomeModel()
                {
                    Category = 2,
                    DisplayName = "Trifonius Zonnebloem",
                    Id = 234,
                    Scale = 234.567d,
                    Discounted = true,
                    Cost = 234,
                    When = new DateTime(2016,1,1,10,01,0)
                }
            }.AsQueryable();

            DataTablesRequest = new DataTablesRequest()
            {
                Length = 1,
                Draw = 1,
                Order = new List<DataTablesRequest.OrderT>() {
                    new DataTablesRequest.OrderT() { Column = 2, Dir = "Asc" }
                },
                Search = new DataTablesRequest.SearchT()
            };

            Columns = ModelProperties<SomeModel>.Properties.Select(p =>
                    Tuple.Create(p.Name, new ModelProperty(p.PropertyInfo))).ToArray();
            DataTablesRequest.Columns = Columns.Select(c => new DataTablesRequest.ColumnT()
            {
                Searchable = true,
                Orderable = true,
                Data = c.Item1,
                Search = new DataTablesRequest.SearchT() { Regex = false, Value = "" }
            }).ToArray();

            var search = new DataTablesRequest.SearchT()
            {
                Value = searchString,
                Regex = false
            };
            if (columnName.Any())
                DataTablesRequest.Columns.Where(c => c.Data == columnName).First().Search = search;
            else
                DataTablesRequest.Search = search;
        }