예제 #1
0
        public ActionResult GetUserInfo()
        {
            using (var db = new EFWorkContext())
            {
                var d = db.User.Include(a => a.UserRole.Role);
                UserListModelView ul = new UserListModelView();
                foreach (var item in d)
                {
                    UserModelView u = new UserModelView();
                    u.Id   = item.Id;
                    u.Name = item.Name;

                    if (item.UserRole != null)
                    {
                        u.RoleId   = item.UserRole.RoleId;
                        u.RoleName = item.UserRole.Role.Name;
                        u.IsAdmin  = item.UserRole.Role.IsAdmin;
                    }
                    else
                    {
                    }
                    ul.Users.Add(u);
                }
                return(Json(ul, JsonRequestBehavior.AllowGet));
            }
        }
예제 #2
0
        public async Task <ActionResult> GetAllMenu(int role, int pageNo = 1, int pageSize = 5)
        {
            using (var db = new EFWorkContext())
            {
                //var d =  from m in db.Project where m.ParentId == null && m.RoleProject.Any(a => a.RoleId == role) select m;
                var d         = db.Menu.Where(a => a.Parent == null && a.Roles.Any(b => b.Id == role));
                int dataCount = d.Count();
                //var p = await d.OrderBy(a => a.Id).Skip((pageNo - 1) * pageSize).Take(pageSize).ToListAsync();

                //var orderExpression = string.Format("{0} {1}", sortName, sortType); //sortName排序的名称 sortType排序类型 (desc asc)
                var orderExpression = string.Format("{0} {1}", "id", "desc"); //sortName排序的名称 sortType排序类型 (desc asc)
                var p = await d.OrderBy(orderExpression).Skip((pageNo - 1) * pageSize).Take(pageSize).ToListAsync();

                ProjectResponse pr = new ProjectResponse();
                pr.PageNo    = pageNo;
                pr.PageSize  = pageSize;
                pr.DataCount = dataCount;
                pr.PageCount = (int)Math.Ceiling((decimal)dataCount / pageSize);
                foreach (var item in p)
                {
                    pr.Projects.Add(new Project()
                    {
                        Id = item.Id, Name = item.Name, ParentId = item.ParentId
                    });
                }
                return(Json(pr, JsonRequestBehavior.AllowGet));
            }
        }
예제 #3
0
 public IEnumerable <DeviceTypeTemplateModel> GetDeviceTypeTemplate(int typeId, string token)
 {
     using (var db = new EFWorkContext())
     {
         var deviceTemp = db.DeviceTypeTemplate.Where(a => a.TypeId == typeId && a.Token == token).ToList();
         return(deviceTemp);
     }
 }
예제 #4
0
 public IEnumerable <DeviceTypeModel> GetDeviceType()
 {
     using (var db = new EFWorkContext())
     {
         var DeviceType = db.DeviceType.ToList();
         return(DeviceType);
     }
 }
예제 #5
0
 public void AddGroup(GroupModel entity)
 {
     using (var db = new EFWorkContext())
     {
         db.Group.Add(entity);
         db.SaveChanges();
     }
 }
예제 #6
0
 public IEnumerable <GroupModel> GetGroup(int pageNo, int pageSize, out int pageCount)
 {
     using (var db = new EFWorkContext())
     {
         var group = db.Group;
         pageCount = group.Count();
         pageCount = (int)Math.Ceiling((decimal)pageCount / pageSize);
         var d = group.OrderBy(a => a.Name).Skip((pageNo - 1) * pageSize).Take(pageSize).ToList();
         return(d);
     }
 }
예제 #7
0
        public async Task <IEnumerable <Controllers.Dev> > GetDevice(string order, int pageSize = 5, int currentPage = 1)
        {
            using (var db = new EFWorkContext())
            {
                var data = db.Device.Include(a => a.DeviceType).Include(a => a.DeviceData).Select(a => new Controllers.Dev {
                    DeviceId = a.DeviceId, DeviceName = a.DeviceName, DeviceTypeName = a.DeviceType.Name, Dt = a.DeviceData == null ? default(DateTime): a.DeviceData.Dt, Message = a.DeviceData == null ? "" : a.DeviceData.Message
                });
                int count = data.Count();
                Console.WriteLine(data.ToString());
                var d = await data.OrderBy(order).Skip((currentPage - 1) * pageSize).Take(pageSize).ToListAsync();

                return(d);
            }
        }
예제 #8
0
        public async Task <ActionResult> AddOrUpdate(DeviceDataModel d)
        {
            using (var db = new EFWorkContext())
            {
                var dd = await db.DeviceData.AsNoTracking().Where(a => a.Name == d.Name).FirstOrDefaultAsync();//.FirstOrDefault();

                if (dd == null)
                {
                    dd = db.DeviceData.Add(d);
                }
                else
                {
                    dd.Message = d.Message;
                    dd.Dt      = DateTime.Now;
                    db.Entry <DeviceDataModel>(dd).State = EntityState.Modified;
                }
                db.SaveChanges();
                return(Json(new { dd.DeviceId }));
            }
        }
예제 #9
0
 public ActionResult GetAllTopProject(int pageNo = 1, int pageSize = 5)
 {
     using (var db = new EFWorkContext())
     {
         var             d         = db.Project.Where(a => a.ParentId == null);
         int             dataCount = d.Count();
         var             m         = d.OrderBy(a => a.Id).Skip((pageNo - 1) * pageSize).Take(pageSize);
         ProjectResponse pr        = new ProjectResponse();
         pr.PageNo    = pageNo;
         pr.PageSize  = pageSize;
         pr.DataCount = dataCount;
         pr.PageCount = (int)Math.Ceiling((decimal)dataCount / pageSize);
         foreach (var item in m)
         {
             pr.Projects.Add(new Project()
             {
                 Id = item.Id, Name = item.Name, ParentId = item.ParentId
             });
         }
         return(Json(pr, JsonRequestBehavior.AllowGet));
     }
 }
예제 #10
0
 public EFRepositoryBase(string connectionString)
 {
     if (connectionString == "appdb")
     {
         this.ConnectionString = EFWorkContext.appdb;
     }
     else if (connectionString == "default")
     {
         this.ConnectionString = EFWorkContext.inetsnell;
     }
     else if (connectionString == "inetapp")
     {
         this.ConnectionString = EFWorkContext.inetapp;
     }
     else if (connectionString == "ep_snell")
     {
         this.ConnectionString = EFWorkContext.ep_snell;
     }
     else if (connectionString == "gpsps")
     {
         this.ConnectionString = EFWorkContext.gpsps;
     }
 }
예제 #11
0
        public async Task <ActionResult> GetAllProject(int role, int pageNo = 1, int pageSize = 5)
        {
            using (var db = new EFWorkContext())
            {
                //var d =  from m in db.Project where m.ParentId == null && m.RoleProject.Any(a => a.RoleId == role) select m;
                var d         = db.Project.Where(a => a.Parent == null && a.RoleProject.Any(b => b.RoleId == role));
                int dataCount = d.Count();
                var p         = await d.OrderBy(a => a.Id).Skip((pageNo - 1) * pageSize).Take(pageSize).ToListAsync();

                ProjectResponse pr = new ProjectResponse();
                pr.PageNo    = pageNo;
                pr.PageSize  = pageSize;
                pr.DataCount = dataCount;
                pr.PageCount = (int)Math.Ceiling((decimal)dataCount / pageSize);
                foreach (var item in p)
                {
                    pr.Projects.Add(new Project()
                    {
                        Id = item.Id, Name = item.Name, ParentId = item.ParentId
                    });
                }
                return(Json(pr, JsonRequestBehavior.AllowGet));
            }
        }