예제 #1
0
        /// <summary>
        /// 设备列表
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public ActionResult DerviceList(ReportDeviceQueryModel query, Int32?keywords)
        {
            Int32 year = DateTime.Now.Year;

            if (keywords != null)
            {
                year = (Int32)keywords;
            }
            using (var db = new MbContext())
            {
                query.deviceData = db.Device
                                   .Include(t => t.UseCompany)
                                   .Include(t => t.Brand)
                                   .Include(t => t.Brand.Manufacturer)
                                   .Include(t => t.Area)
                                   .Include(t => t.Category)
                                   .Where(t => t.UseCompanyId == CurrentUser.User.UseCompanyId).ToList();

                query.deviceCount = db.MainOrder
                                    .Where(t => t.UseCompanyId == CurrentUser.User.UseCompanyId && t.CreateTime.Year == year && t.DeviceId > 0)
                                    .GroupBy(t => t.DeviceId)
                                    .Select(t => new {
                    deviceId = t.Key,
                    num      = t.Count().ToString()
                }).ToDictionary(x => x.deviceId, x => x.num);

                //设备数量
                query.PageInfo.TotalCount = query.deviceData.Count();
            }

            return(View(query));
        }
        public void DerviceListTest()
        {
            ReportDeviceQueryModel query = new ReportDeviceQueryModel();
            string UseCompanyId          = "636065437685331832";

            using (var db = new MbContext())
            {
                var device = db.Device
                             .Include(t => t.UseCompany)
                             .Include(t => t.Brand)
                             .Include(t => t.Brand.Manufacturer)
                             .Include(t => t.Area)
                             .Include(t => t.Category)
                             .Where(t => t.UseCompanyId == UseCompanyId).ToList();

                var result = db.MainOrder
                             .Where(t => t.UseCompanyId == UseCompanyId)
                             .GroupBy(t => t.DeviceId)
                             .Select(t => new
                {
                    deviceId = t.Key,
                    num      = t.Count().ToString()
                }).ToList().ToDictionary(x => x.deviceId, x => x.num);;
            }
        }