Esempio n. 1
0
        /// <summary>
        /// 获取无项目的设备
        /// </summary>
        /// <param name="GroupId">组织编号</param>
        /// <param name="req">分页参数</param>
        /// <returns>返回无项目设备列表</returns>
        public async Task <BaseResponse> GetNoProjectDeviceAsync(string GroupId, BasePageRequest req)
        {
            var    device          = _dr.FindWithOnlineAndImages(a => a.GroupId == GroupId && a.ProjectId == null);
            int    count           = device.Count();
            string OrderExpression = "";

            if (string.IsNullOrEmpty(req.OrderBy))
            {
                OrderExpression = "DeviceSn Asc";
            }
            else
            {
                OrderExpression = string.Format("{0} {1}", req.OrderBy, req.OrderType);
            }
            var list = await device.OrderBy(OrderExpression).Skip((req.PageNo - 1) * req.PageSize).Take(req.PageSize).ToListAsync();

            var dto = _mapper.Map <List <DeviceDataDto> >(list);
            var br  = new BasePageResponse <List <DeviceDataDto> >();

            br.Success     = true;
            br.Message     = "获取数据成功";
            br.PageSize    = req.PageSize;
            br.CurrentPage = req.PageNo;
            br.Count       = count;
            br.TotalPage   = (int)Math.Ceiling((decimal)count / req.PageSize);
            br.Data        = dto;
            return(br);
        }
Esempio n. 2
0
        /// <summary>
        /// 获取用户 用 框架获取的例子
        /// </summary>
        /// <returns></returns>
        public GetUserListResponse GetUserList(BasePageRequest request)
        {
            LogHelper.Info("获取用户");
            var userList = _userRepository.Where(s => s.Id > 0).OrderByDescending(s => s.CreateTime).Skip((request.PageIndex - 1) * request.PageSize).Take(request.PageSize);

            GetUserListResponse result = new GetUserListResponse();

            foreach (var item in userList)
            {
                //result.userListResponse.Add(new GetUserResponse()
                //{
                //    Id = item.Id,
                //    Name = item.Name,
                //    Account = item.Account,
                //    CreateTime = item.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"),
                //    UpdateTime = item.UpdateTime.ToString("yyyy-MM-dd HH:mm:ss"),
                //    PassWord = RSACryptionHelper.RSAEncrypt(item.PassWord),
                //});
                var model = new GetUserResponse()
                {
                    Id         = item.Id,
                    Name       = item.Name,
                    Account    = item.Account,
                    CreateTime = item.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"),
                    UpdateTime = item.UpdateTime.ToString("yyyy-MM-dd HH:mm:ss"),
                    //PassWord = RSACryptionHelper.RSADecrypt(item.PassWord),
                };
                result.userListResponse.Add(model);
            }
            return(result);
        }
Esempio n. 3
0
        public async Task <BaseResponse> GetSystemAccessory(int systemId, BasePageRequest req)
        {
            var query = _tsr.Find(a => a.SystemId == systemId);

            if (!string.IsNullOrWhiteSpace(req.Search))
            {
                query = query.Where(a => a.Name.Contains(req.Search));
            }
            int    Count           = query.Count();
            string OrderExpression = "";

            if (string.IsNullOrEmpty(req.OrderBy))
            {
                OrderExpression = "Id Asc";
            }
            else
            {
                OrderExpression = string.Format("{0} {1}", req.OrderBy, req.OrderType);
            }
            var data = await query.OrderBy(OrderExpression).Skip((req.PageNo - 1) * req.PageSize).Take(req.PageSize).ToListAsync();

            var dtos = _mapper.Map <List <TypeSystemAccessoryDto> >(data);

            return(new BasePageResponse <List <TypeSystemAccessoryDto> >
            {
                Success = true,
                Message = "获取数据成功",
                Count = Count,
                CurrentPage = req.PageNo,
                PageSize = req.PageSize,
                TotalPage = (int)Math.Ceiling((decimal)Count / req.PageSize),
                Data = dtos
            });
        }
Esempio n. 4
0
        public async Task <BaseResponse> GetRoles(string GroupId, BasePageRequest req)
        {
            BasePageResponse <List <RoleDataDto> > br = new BasePageResponse <List <RoleDataDto> >();
            var g = _role.Find(a => a.GroupId == GroupId);

            if (!string.IsNullOrWhiteSpace(req.Search))
            {
                g = g.Where(a => a.RoleName.Contains(req.Search) || a.Description.Contains(req.Search));
            }
            int    count           = g.Count();
            string OrderExpression = "";

            if (string.IsNullOrEmpty(req.OrderBy))
            {
                OrderExpression = "Id Asc";
                //UserQuery = UserQuery.OrderBy(a => a.Id);
            }
            else
            {
                OrderExpression = string.Format("{0} {1}", req.OrderBy, req.OrderType);
            }
            var list = await g.OrderBy(OrderExpression).Skip((req.PageNo - 1) * req.PageSize).Take(req.PageSize).ToListAsync();

            var dto = _mapper.Map <List <RoleDataDto> >(list);

            br.Success     = true;
            br.Message     = "获取数据成功";
            br.PageSize    = req.PageSize;
            br.CurrentPage = req.PageNo;
            br.Count       = count;
            br.TotalPage   = (int)Math.Ceiling((decimal)count / req.PageSize);
            br.Data        = dto;
            return(br);
        }
Esempio n. 5
0
        public async Task <ActionResult <BaseResponse> > GetMySite(string GroupId, [FromQuery] BasePageRequest req)
        {
            var GId     = User.Claims.FirstOrDefault(a => a.Type == "GroupId").Value;
            var isAdmin = User.Claims.FirstOrDefault(a => a.Type == "IsAdmin").Value.ToLower() == "true" ? true : false;
            //string Code = User.Claims.FirstOrDefault(a => a.Type == "Code").Value;
            //string Account = User.Claims.FirstOrDefault(a => a.Type == "Account").Value;
            string Roles = User.Claims.FirstOrDefault(a => a.Type == "Role").Value;

            if (GId != GroupId)
            {
                return(new BaseResponse {
                    Success = false, Message = "输入的组织编号不正确"
                });
            }
            var rm = await _ps.GetMySiteAsync(GroupId, Roles, isAdmin, req);

            return(rm);
        }
Esempio n. 6
0
        public async Task <ActionResult <BaseResponse> > GetMyDevice(string GroupId, [FromQuery] BasePageRequest req)
        {
            var    GId     = User.Claims.FirstOrDefault(a => a.Type == "GroupId").Value;
            var    isAdmin = User.Claims.FirstOrDefault(a => a.Type == "IsAdmin").Value.ToLower() == "true" ? true : false;
            string Code    = User.Claims.FirstOrDefault(a => a.Type == "Code").Value;
            string Account = User.Claims.FirstOrDefault(a => a.Type == "Account").Value;
            string Roles   = User.Claims.FirstOrDefault(a => a.Type == "Role").Value;

            if (GroupId != GId)
            {
                if (!(isAdmin && Code == _config["Group"]))//超级管理员可以查看任何组织的全部设备
                {
                    return(Unauthorized("输入的组织编号不正确"));
                }
            }
            var rm = await _ds.GetMyDevice(GroupId, Roles, isAdmin, req);

            return(rm);
        }
Esempio n. 7
0
        public async Task <ActionResult <BaseResponse> > GetTypeArgument(int typeId, [FromQuery] BasePageRequest req)
        {
            //string user = User.Identity.Name;
            //if (string.IsNullOrWhiteSpace(user))
            //{
            //    return Unauthorized("用户凭证缺失");
            //}
            //UserMessage um = JsonConvert.DeserializeObject<UserMessage>(user);
            //string GroupId;
            //var ret = _ts.IsExist(a => a.Id == typeId, out GroupId);
            //if (!ret)
            //{
            //    return new BaseResponse { Success = false, Message = "输入的类型不存在" };
            //}
            ////用户所在的组和超级管理员可以查看
            //if (um.GroupId != GroupId || (!um.IsAdmin && um.Code != _config["Group"]))
            //{
            //    return Unauthorized("用户没有权限");
            //}
            var rm = await _tas.GetTypeArgumentAsync(typeId, req);

            return(rm);
        }
Esempio n. 8
0
        public async Task <ActionResult <BaseResponse> > GetDeviceHarewareAsync(string GroupId, string DeviceSn, [FromQuery] BasePageRequest req)
        {
            var device = await _ds.IsExistCheck(a => a.DeviceSn == DeviceSn);

            if (!device.IsExist)
            {
                return(new BaseResponse {
                    Success = false, Message = "输入的设备不存在"
                });
            }
            string Account = User.Claims.FirstOrDefault(a => a.Type == "Account").Value;
            var    rm      = await _dhc.GetTypeHardwareConfigAsync(DeviceSn, req);

            return(rm);
        }
Esempio n. 9
0
        public async Task <BaseResponse> GetMyDevice(string GroupId, string roles, bool isAdmin, BasePageRequest req)
        {
            var device = _dr.FindWithOnlineAndImages(a => a.GroupId == GroupId);
            var sites  = await _ps.GetMySitesIdAsync(GroupId, roles, isAdmin);

            device = device.Where(a => sites.Contains(a.ProjectId.Value));
            if (req.Search != null && req.Search.Trim() != "")
            {
                device = device.Where(a => a.DeviceName.Contains(req.Search));
            }
            int    count           = device.Count();
            string OrderExpression = "";

            if (string.IsNullOrEmpty(req.OrderBy))
            {
                OrderExpression = "DeviceSn Asc";
            }
            else
            {
                OrderExpression = string.Format("{0} {1}", req.OrderBy, req.OrderType);
            }
            var list = await device.OrderBy(OrderExpression).Skip((req.PageNo - 1) * req.PageSize).Take(req.PageSize).ToListAsync();

            var dto = _mapper.Map <List <DeviceDataDto> >(list);
            var br  = new BasePageResponse <List <DeviceDataDto> >();

            br.Success     = true;
            br.Message     = "获取数据成功";
            br.PageSize    = req.PageSize;
            br.CurrentPage = req.PageNo;
            br.Count       = count;
            br.TotalPage   = (int)Math.Ceiling((decimal)count / req.PageSize);
            br.Data        = dto;
            return(br);
        }
Esempio n. 10
0
        // GET: Base
        /// <summary>
        /// 获取用户列表
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public ActionResult UserIndex(BasePageRequest request)
        {
            var userList = _baseService.GetUserList(request);

            return(View(userList));
        }
Esempio n. 11
0
        public async Task <ActionResult <BaseResponse> > GetProjectDevices(string GroupId, int projectId, [FromQuery] BasePageRequest req)
        {
            var    GId     = User.Claims.FirstOrDefault(a => a.Type == "GroupId").Value;
            var    isAdmin = User.Claims.FirstOrDefault(a => a.Type == "IsAdmin").Value.ToLower() == "true" ? true : false;
            string Code    = User.Claims.FirstOrDefault(a => a.Type == "Code").Value;
            string Account = User.Claims.FirstOrDefault(a => a.Type == "Account").Value;
            string Roles   = User.Claims.FirstOrDefault(a => a.Type == "Role").Value;
            var    p       = await _ps.GetProjectAsync(projectId);

            if (p == null)
            {
                return(new BaseResponse {
                    Success = false, Message = "输入的场站不存在"
                });
            }
            bool isSite = false;

            if (p.ProjectType == Model.ProjectType.Site)
            {
                isSite = true;
            }
            //验证权限
            if (GroupId != GId)
            {
                if (!(isAdmin && Code == _config["Group"]))
                {
                    return(Unauthorized("用户没有权限"));
                }
            }
            else
            {
                if (!isAdmin)
                {
                    p.PathId = $"{p.PathId}/{projectId}";
                    var bAccess = await _rp.IsAuth(Roles, p.PathId, 0);

                    if (!bAccess)
                    {
                        return(Unauthorized("用户没有权限查看"));
                    }
                }
            }
            var rm = await _ds.GetProjectDeviceAsync(GroupId, projectId, isSite, req);

            return(rm);
        }
Esempio n. 12
0
        public async Task <BaseResponse> GetMySiteAsync(string GroupId, string roles, bool isAdmin, BasePageRequest req)
        {
            //获取用户所有的项目标识
            var sites = await GetMySitesIdAsync(GroupId, roles, isAdmin);

            var project = _pr.FindWithImageAndDeviceAsync(a => a.GroupId == GroupId && sites.Contains(a.Id));

            if (!string.IsNullOrWhiteSpace(req.Search))
            {
                project = project.Where(a => a.Name.Contains(req.Search));
            }
            int    count           = project.Count();
            string OrderExpression = "";

            if (string.IsNullOrEmpty(req.OrderBy))
            {
                OrderExpression = "Id Asc";
            }
            else
            {
                OrderExpression = string.Format("{0} {1}", req.OrderBy, req.OrderType);
            }
            var list = await project.OrderBy(OrderExpression).Skip((req.PageNo - 1) * req.PageSize).Take(req.PageSize).ToListAsync();

            var dto = _mapper.Map <List <SiteDto> >(list);
            var br  = new BasePageResponse <List <SiteDto> >();

            br.Success     = true;
            br.Message     = "获取数据成功";
            br.PageSize    = req.PageSize;
            br.CurrentPage = req.PageNo;
            br.Count       = count;
            br.TotalPage   = (int)Math.Ceiling((decimal)count / req.PageSize);
            br.Data        = dto;
            return(br);
        }
Esempio n. 13
0
        public async Task <BaseResponse> GetMyProjectAsync(string GroupId, string roles, bool isAdmin, BasePageRequest req)
        {
            //获取用户所有的项目标识
            //var pids = await GetMyProjectIdSync(GroupId, roles, isAdmin);
            var pids = await GetMyTopProjectIdAsync(GroupId, roles, isAdmin);

            //var project = _pr.Find(a => a.GroupId == GroupId && pids.Contains(a.Id));
            var project = _pr.FindWithImageAndChildAsync(a => a.GroupId == GroupId && pids.Contains(a.Id));

            if (!string.IsNullOrWhiteSpace(req.Search))
            {
                project = project.Where(a => a.Name.Contains(req.Search));
            }
            int    count           = project.Count();
            string OrderExpression = "";

            if (string.IsNullOrEmpty(req.OrderBy))
            {
                OrderExpression = "Id Asc";
            }
            else
            {
                OrderExpression = string.Format("{0} {1}", req.OrderBy, req.OrderType);
            }
            var list = await project.OrderBy(OrderExpression).Skip((req.PageNo - 1) * req.PageSize).Take(req.PageSize).ToListAsync();

            var dto = _mapper.Map <List <ProjectDto> >(list);

            foreach (var item in dto)
            {
                var sites = await GetProjectSitesIdAsync(item.Id);

                int num = await _dr.Find(a => sites.Contains(a.ProjectId.Value)).CountAsync();

                item.DeviceCount = num;
            }
            //foreach (var item in list)
            //{
            //    var dto = _mapper.Map<ProjectDto>(item);
            //    //if (item.Images.Count > 0)
            //    //{
            //    //    dto.Image = item.Images.OrderByDescending(a => a.Rank).FirstOrDefault().url;
            //    //}
            //    //dto.Image = item.Images.OrderByDescending(a => a.Rank).FirstOrDefault().url;
            //    await GetChild(dto, item.Id);
            //    dtos.Add(dto);
            //}
            //var dto = _mapper.Map<List<ProjectData>>(list);
            var br = new BasePageResponse <List <ProjectDto> >();

            br.Success     = true;
            br.Message     = "获取数据成功";
            br.PageSize    = req.PageSize;
            br.CurrentPage = req.PageNo;
            br.Count       = count;
            br.TotalPage   = (int)Math.Ceiling((decimal)count / req.PageSize);
            br.Data        = dto;
            return(br);
        }
Esempio n. 14
0
        ///// <summary>
        ///// 获取项目或者场站的报警数据,需在Control中获取设备编号列表
        /// </summary>
        /// <param name="Devices">设备序列号列表</param>
        /// <param name="begin">开始时间</param>
        /// <param name="end">结束时间</param>
        /// <param name="state">报警状态</param>
        /// <param name="req">分页基本信息</param>
        /// <returns>返回项目获取场站报警分页数据</returns>
        public async Task <BaseResponse> GetProjectWarnAsync(List <string> Devices, DateTime begin, DateTime end, bool state, BasePageRequest req)
        {
            var data  = _warn.FindWithCodeAndType(a => Devices.Contains(a.DeviceSn) && a.Dt > begin && a.Dt < end && a.State == state);
            int count = data.Count();

            if (!string.IsNullOrWhiteSpace(req.Search))
            {
                data = data.Where(a => a.Code == req.Search);
            }
            string OrderExpression = "";

            if (string.IsNullOrEmpty(req.OrderBy))
            {
                OrderExpression = "Id Asc";
            }
            else
            {
                OrderExpression = string.Format("{0} {1}", req.OrderBy, req.OrderType);
            }
            var ret = await data.OrderBy(OrderExpression).Skip((req.PageNo - 1) * req.PageSize).Take(req.PageSize).ToListAsync();

            var dtos = _mapper.Map <List <WarnDto> >(ret);
            var br   = new BasePageResponse <List <WarnDto> >();

            br.Success     = true;
            br.Message     = "获取数据成功";
            br.PageSize    = req.PageSize;
            br.CurrentPage = req.PageNo;
            br.Count       = count;
            br.TotalPage   = (int)Math.Ceiling((decimal)count / req.PageSize);
            br.Data        = dtos;
            return(br);
        }
Esempio n. 15
0
        public async Task <ActionResult <BaseResponse> > GetNoProjectDevice(string GroupId, [FromQuery] BasePageRequest req)
        {
            var    GId     = User.Claims.FirstOrDefault(a => a.Type == "GroupId").Value;
            var    isAdmin = User.Claims.FirstOrDefault(a => a.Type == "IsAdmin").Value.ToLower() == "true" ? true : false;
            string Code    = User.Claims.FirstOrDefault(a => a.Type == "Code").Value;
            string Account = User.Claims.FirstOrDefault(a => a.Type == "Account").Value;
            string Roles   = User.Claims.FirstOrDefault(a => a.Type == "Role").Value;

            //验证权限,只有管理员才能查看无项目的设备
            if (!isAdmin)
            {
                return(Unauthorized("只有管理员才有权限查看无项目的设备"));
            }
            else
            {
                if (GroupId != GId && Code != _config["Group"])
                {
                    return(Unauthorized("用户没有权限查看其他组织的设备"));
                }
            }
            var rm = await _ds.GetNoProjectDeviceAsync(GroupId, req);

            return(rm);
        }
Esempio n. 16
0
        public async Task <ActionResult <BaseResponse> > GetRoles(string GroupId, [FromQuery] BasePageRequest req)
        {
            var rm = await _rs.GetRoles(GroupId, req);

            return(rm);
        }
Esempio n. 17
0
        public async Task <ActionResult <BaseResponse> > GetPageAppVersion([FromQuery] BasePageRequest req)
        {
            var rm = await _app.GetPageAppVersionAsync(req);

            return(rm);
        }