Пример #1
0
        public TVm GetByIdAsNoTracking(string id)
        {
            var entity          = Repository.AsNoTracking().SingleOrDefault(x => x.Id == id);
            var entityViewModel = (TVm)Activator.CreateInstance(typeof(TVm), entity);

            return(entityViewModel);
        }
        /// <summary>
        /// 寻找静态拉伸数据明细
        /// </summary>
        /// <param name="materialId"></param>
        /// <param name="trialType"></param>
        public List <StaticTensionDataDetailDto> GetStaticTensionDataDetails(Guid materialId)
        {
            //寻找静态拉伸数据明细
            var staticData = _materialTrialDataRepository
                             .AsNoTracking()
                             .Include(x => x.StaticTensionDataDetails)
                             .Where(m => m.MaterialTrial.Material.Id == materialId)
                             .SelectMany(n => n.StaticTensionDataDetails)
                             .ToList();

            return(ObjectMapper.Map <List <StaticTensionDataDetail>, List <StaticTensionDataDetailDto> >(staticData));
        }
Пример #3
0
 public List <ConversationMessageViewModel> GetMessagesForConversation(int conversationId)
 {
     return(_messageRepository.AsNoTracking()
            .Where(x => x.ConversationId == conversationId)
            .OrderBy(x => x.CreatedDate)
            .Select(message => new ConversationMessageViewModel
     {
         Id = message.Id,
         Content = message.Content,
         CreatedByUser = message.CreatedByUser.LastName + " " + message.CreatedByUser.FirstName,
         CreatedDate = message.CreatedDate,
         CreatedByUserId = message.CreatedByUserId
     }).ToList());
 }
        /// <summary>
        /// 根据材料id获取对应实验项目
        /// </summary>
        /// <param name="materialId"></param>
        /// <returns></returns>
        public List <TrialDto> GetTrialItemByMaterialId(Guid materialId)
        {
            //1.根据材料Id找到这个材料做了哪些试验
            var trials = _materialtrialRepository
                         .AsNoTracking()
                         .Include(m => m.Trial)
                         .ThenInclude(y => y.Parent)
                         .Where(m => m.MaterialId == materialId)
                         .Select(n => n.Trial)
                         .ToList();

            //2.返回此材料做的所有实验项目
            return(ObjectMapper.Map <List <Trial>, List <TrialDto> >(trials));
        }
        /// <summary>
        /// 数据过滤演示 同步方法演示
        /// </summary>
        /// <param name="id"></param>
        public List <TrialDto> GetAllDataExample(Guid id)
        {
            //1.根据材料Id找到这个材料做了哪些试验
            var trials = _materialtrialRepository
                         .AsNoTracking()
                         .Where(m => m.MaterialId == id)
                         .Select(n => n.Trial)
                         .ToList();

            //2、返回此材料做了哪些试验的  试验数据明细信息
            return(ObjectMapper.Map <List <Trial>, List <TrialDto> >(trials));

            //寻找静态拉伸数据明细
            var staticData = _materialTrialDataRepository
                             .AsNoTracking()
                             .Include(x => x.StaticTensionDataDetails)
                             .ThenInclude(y => y.StaticTensionDataDetailStressStrains)
                             .Where(m => m.MaterialTrial.Trial.TrialType == TrialType.静态拉伸 &&
                                    m.MaterialTrial.Material.Id == id &&
                                    m.MaterialTrial.Material.Strength < 500 &&
                                    m.MaterialTrial.Material.Strength > 200)
                             .SelectMany(n => n.StaticTensionDataDetails)
                             .ToList();

            //直接取静态拉伸试验数据
            var staticData1 = _staticTensionDataDetailRepository.AsNoTracking()
                              .Include(y => y.StaticTensionDataDetailStressStrains)
                              .Where(m => m.MaterialTrialData.MaterialTrial.Material.Name == "DC01")
                              .ToList();
        }
Пример #6
0
        public AppPrincipal ValidateRequestCookie(HttpContextBase httpContext)
        {
            Guid sesionToken;
            var  authenticationCookie = httpContext.Request.Cookies[COOKIE_NAME];

            if ((authenticationCookie != null) && Guid.TryParse(authenticationCookie.Value, out sesionToken))
            {
                var session = _sessionRepository.AsQueryable().FirstOrDefault(x => (x.SesssionId == sesionToken) && x.IsActive);
                if ((session != null) && (session.Expires >= DateTime.UtcNow))
                {
                    session.Expires = DateTime.UtcNow.AddMinutes(15);
                    _sessionRepository.SaveOrUpdate();
                    httpContext.Response.Cookies.Add(CreateNewCookie(session.SesssionId, session.Expires));
                    var appIdentityAnonymous = _userRepository.AsNoTracking()
                                               .Where(x => x.Id == session.UserId)
                                               .Select(x => new { x.Id, x.UserName }).First();
                    return(new AppPrincipal(new AppIdentity(appIdentityAnonymous.Id, appIdentityAnonymous.UserName)));
                }
            }
            //if (httpContext.Request.IsLocal)
            //{
            //    var admin = _userRepository.AsNoTracking().Where(x => x.UserName == "Admin").First();
            //    AddAuthenticationCookie(admin.Id, httpContext);
            //    return new AppPrincipal(new AppIdentity(admin.Id, admin.UserName));
            //}
            return(null);
        }
Пример #7
0
        public List <ConversationViewModel> GetConversationForUser(int userId)
        {
            var result = _conversationRepository.AsNoTracking();

            result = IsMemberOfConversation(result, userId);
            return(result.OrderByDescending(x => !x.Messages.Any() ? x.CreatedDate : x.Messages
                                            .OrderByDescending(m => m.CreatedDate)
                                            .Select(s => s.CreatedDate)
                                            .FirstOrDefault())
                   .Select(x => new ConversationViewModel
            {
                Id = x.Id,
                Name = x.Name,
                UnreadMessages = x.Messages.Count(m => m.UsersWhichDidNotReadMessage.Any(u => u.UserId == userId))
            }).ToList());
        }
Пример #8
0
 public void GetUsers()
 {
     repoUsers = uow.Repository<Users>();
     var lst = from r in repoUsers.AsNoTracking()
               where r.UserName == "sai"
               select r;
 }
Пример #9
0
        public override async Task GetProfileDataAsync(ProfileDataRequestContext context)
        {
            await base.GetProfileDataAsync(context);

            //>Processing

            var claims2 = context.Subject.Claims;

            var userId = claims2.FirstOrDefault(x => x.Type == "sub")?.Value;

            if (userId != null)
            {
                var guid = new Guid(userId);

                var user = await _appUserRepository.AsNoTracking().FirstOrDefaultAsync(x => x.Id == guid);

                if (user != null)
                {
                    var claims = new List <Claim>
                    {
                        new Claim("picture", user.HeadImgUrl ?? ""),
                    };

                    context.IssuedClaims.AddRange(claims);
                }
            }
        }
Пример #10
0
        public async Task <bool> IsPassAuthorize(string apiUrl)
        {
            var userId   = _identityInfo.Identity.UId;
            var userRole = _identityInfo.Identity.Role;

            if (userRole.Any() && userId.IsNotNull())// 是否拥有角色信息
            {
                var userRoleStr = userRole.AsToAll <Guid, string>();
                if (await _redisCaChe.HIsExistAsync(AllStaticHelper.HRedisRoleAPI, userRoleStr))
                {
                    var roleAPIResult = (await _redisCaChe.HGetAsync <RoleAPIManagement>(AllStaticHelper.HRedisRoleAPI, userRoleStr)).Select(x => x.APIId).ToList();
                    var APIResult     = (await _redisCaChe.HGetAsync <APIManagement>(AllStaticHelper.HRedisAPI)).FirstOrDefault(op => op.Value.ApiUrl == apiUrl);
                    if (roleAPIResult.Any())
                    {
                        return(roleAPIResult.Any(op => op == APIResult.Key.ToGuid()));
                    }
                }
                else
                {
                    var roleModels = await _roleAPIManagementRepository.AsNoTracking().Where(op => userRole.Contains(op.RoleId)).Select(x => x.APIId).ToListAsync(); // 查询所有角色接口权限

                    var apiModels = await _apiManagementRepository.AsNoTracking().Where(op => op.ApiUrl == apiUrl).FirstOrDefaultAsync();                            // 查询当前访问的接口地址是否存在

                    return(roleModels.Any(op => op == apiModels.Id));                                                                                                // 是否存在该接口权限
                }
            }
            return(false);
        }
Пример #11
0
 /// <summary>
 /// 获取所有零部件
 /// </summary>
 /// <param name="input"></param>
 /// <returns></returns>
 public Task <IPagedResult <TypicalPartDto> > GetTypicalParts(GetTypicalPartListInputDto input)
 {
     return(_typicalpartRepository
            .AsNoTracking()
            .WhereIf(!string.IsNullOrEmpty(input.Name), x => x.Name.Contains(input.Name))
            .OrderBy(input.Sorting)
            .ProjectTo <TypicalPartDto>(Configuration)
            .ToPageResultAsync(input));
 }
 /// <summary>
 /// 获取所有生产厂家
 /// </summary>
 /// <param name="input"></param>
 /// <returns></returns>
 public Task <IPagedResult <ManufactoryDto> > GetManufactories(GetManufactoryListInputDto input)
 {
     return(_manufactoryRepository
            .AsNoTracking()
            .WhereIf(!string.IsNullOrEmpty(input.Name), x => x.Name.Contains(input.Name))
            .OrderBy(input.Sorting)
            .ProjectTo <ManufactoryDto>(Configuration)
            .ToPageResultAsync(input));
 }
 /// <summary>
 /// 获取项目
 /// </summary>
 /// <param name="input"></param>
 /// <returns></returns>
 public Task <IPagedResult <DemoProjectItemDto> > GetProjects(GetMyProjectsInputDto input)
 {
     return(_demoProjectRepository
            .AsNoTracking()
            .WhereIf(!string.IsNullOrEmpty(input.Name), x => x.Name.Contains(input.Name))
            .OrderBy(input.Sorting)
            .ProjectTo <DemoProjectItemDto>(Configuration) //需在ProjectDtoMapper中进行映射配置
            .ToPageResultAsync(input));
 }
Пример #14
0
 /// <summary>
 /// 获取Role
 /// </summary>
 /// <param name="input"></param>
 /// <returns></returns>
 public List <RoleDto> GetRoles(RoleDto input)
 {
     return(_roleRepository
            .AsNoTracking()
            .WhereIf(!string.IsNullOrEmpty(input.RoleName), x => x.RoleName == input.RoleName)
            .WhereIf(input.Id.HasValue, x => x.Id == input.Id)
            .OrderBy(p => p.CreationTime)
            .ProjectTo <RoleDto>(Configuration)
            .ToList());
 }
Пример #15
0
 public IEnumerable <SelectListItem> GetAllUsersExceptAsSelectListItems(int userId)
 {
     return(_userRepository.AsNoTracking()
            .Where(x => x.Id != userId)
            .ToList()
            .Select(x => new SelectListItem
     {
         Text = x.UserName,
         Value = x.Id.ToString()
     }));
 }
Пример #16
0
 /// <summary>
 /// 获取TrialCategory
 /// </summary>
 /// <param name="input"></param>
 /// <returns></returns>
 public List <TrialCategoryDto> GetTrialCategorys(TrialCategoryDto input)
 {
     return(_trialCategoryRepository
            .AsNoTracking()
            .WhereIf(input.Id.HasValue, x => x.Id == input.Id)
            .WhereIf(!string.IsNullOrEmpty(input.Name), x => x.Name == input.Name)
            .WhereIf(input.Trial.HasValue, x => x.Trial == input.Trial)
            .OrderBy(p => p.CreationTime)
            .ProjectTo <TrialCategoryDto>(Configuration)
            .ToList());
 }
Пример #17
0
        /// <summary>
        /// 获取UserRole
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public List <UserRoleDto> GetUserRoles(UserRoleDto input)
        {
            return(_userRoleRepository
                   .AsNoTracking()

                   .WhereIf(input.Id.HasValue, x => x.Id == input.Id)
                   .WhereIf(input.RoleId.HasValue, x => x.RoleId == input.RoleId)
                   .WhereIf(input.UserId.HasValue, x => x.UserId == input.UserId)
                   .OrderBy(p => p.CreationTime)
                   .ProjectTo <UserRoleDto>(Configuration)
                   .ToList());
        }
Пример #18
0
        /// <summary>
        /// 获取User
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public List <UserDto> GetUsers(UserDto input)
        {
            return(_userRepository
                   .AsNoTracking()

                   .WhereIf(input.Id.HasValue, x => x.Id == input.Id)
                   .WhereIf(!string.IsNullOrEmpty(input.UserName), x => x.UserName == input.UserName)
                   .WhereIf(!string.IsNullOrEmpty(input.PassWord), x => x.PassWord == input.PassWord)
                   .OrderBy(p => p.CreationTime)
                   .ProjectTo <UserDto>(Configuration)
                   .ToList());
        }
Пример #19
0
        protected void Page_Load(object sender, EventArgs e)
        {
            uow = new UnitOfWork(context);
            repoUsers = uow.Repository<Users>();
            IQueryable<Users> lst = from r in repoUsers.AsNoTracking()
                      where r.UserName == "sai"
                      select r;

            foreach (Users user in lst)
            {

            }
        }
Пример #20
0
        /// <summary>
        /// 获取RoleResources
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public List <RoleResourceDto> GetRoleResources(RoleResourceDto input)
        {
            return(_roleResourceRepository
                   .AsNoTracking()
                   .WhereIf(input.Id.HasValue, x => x.Id == input.Id)
                   .WhereIf(input.RoleId.HasValue, x => x.Id == input.RoleId)
                   .WhereIf(input.TrialCategoryId.HasValue, x => x.Id == input.TrialCategoryId)
                   .WhereIf(input.ResourceTypeId.HasValue, x => x.Id == input.ResourceTypeId)
                   .WhereIf(input.ResourceGroupId.HasValue, x => x.Id == input.ResourceGroupId)


                   .OrderBy(p => p.CreationTime)
                   .ProjectTo <RoleResourceDto>(Configuration)
                   .ToList());
        }
Пример #21
0
 /// <summary>
 /// 获取TrialDetailGroup
 /// </summary>
 /// <param name="input"></param>
 /// <returns></returns>
 public List <TrialDetailGroupDto> GetTrialDetailGroups(TrialDetailGroupDto input)
 {
     return(_trialDetailGroupRepository
            .AsNoTracking()
            .WhereIf(input.Id.HasValue, x => x.Id == input.Id)
            //.WhereIf(!string.IsNullOrEmpty(input.Name), x => x.Name == input.Name)
            .WhereIf(input.TrialId.HasValue, x => x.TrialId == input.TrialId)
            .WhereIf(input.GroupOrder.HasValue, x => x.GroupOrder == input.GroupOrder)
            .WhereIf(input.BaseInfo.HasValue, x => x.BaseInfo == input.BaseInfo)
            .WhereIf(input.TrialParam.HasValue, x => x.TrialParam == input.TrialParam)
            .WhereIf(input.TrialResultOne.HasValue, x => x.TrialResultOne == input.TrialResultOne)
            .WhereIf(input.TrialResultTwo.HasValue, x => x.TrialResultTwo == input.TrialResultTwo)
            .OrderBy(p => p.CreationTime)
            .ProjectTo <TrialDetailGroupDto>(Configuration)
            .ToList());
 }
Пример #22
0
 /// <summary>
 /// 获取TrialDetailGroup
 /// </summary>
 /// <param name="input"></param>
 /// <returns></returns>
 public List <TrialDetailShowTypeDto> GetTrialDetailShowTypes(TrialDetailShowTypeDto input)
 {
     return(_trialDetailShowTypeRepository
            .AsNoTracking()
            .WhereIf(input.Id.HasValue, x => x.Id == input.Id)
            .WhereIf(!string.IsNullOrEmpty(input.TrialName), x => x.TrialName == input.TrialName)
            .WhereIf(input.TrialId.HasValue, x => x.TrialId == input.TrialId)
            .WhereIf(input.TypeOrder.HasValue, x => x.TypeOrder == input.TypeOrder)
            .WhereIf(input.Table.HasValue, x => x.Table == input.Table)
            .WhereIf(input.Picture.HasValue, x => x.Picture == input.Picture)
            .WhereIf(input.Report.HasValue, x => x.Report == input.Report)
            .WhereIf(input.TypicalPart.HasValue, x => x.TypicalPart == input.TypicalPart)
            .OrderBy(p => p.CreationTime)
            .ProjectTo <TrialDetailShowTypeDto>(Configuration)
            .ToList());
 }
Пример #23
0
        /// <summary>
        /// 管理员登陆
        /// </summary>
        /// <param name="account">账户名</param>
        /// <param name="passWord">密码</param>
        /// <returns></returns>
        public async Task <UserViewDto> LoginAsync(string account, string passWord)
        {
            account.NotEmptyOrNull(nameof(account));
            passWord.NotEmptyOrNull(nameof(passWord));
            var userDto = (await _userRepository.AsNoTracking()
                           .Where(op => op.Account == account && op.PassWord == MD5Helper.MD5Encrypt32(passWord))
                           .FirstOrDefaultAsync()).ToMap <UserViewDto>();

            if (userDto.IsNotNull())
            {
                return(userDto);
            }
            else
            {
                throw new BusinessException("当前账户名或密码输入错误!!!");
            }
        }
 /// <summary>
 /// 获取所有材料
 /// </summary>
 /// <param name="input"></param>
 /// <returns></returns>
 public Task <IPagedResult <MaterialDto> > GetMaterials(GetMaterialListInputDto input)
 {
     return(_materialRepository
            .AsNoTracking()
            .WhereIf(!string.IsNullOrEmpty(input.Name), x => x.Name.Contains(input.Name))       //按材料名称筛选
            .WhereIf(input.MaterialType.HasValue, x => x.MaterialType == input.MaterialType)    //增加按材料类型筛选
            .WhereIf(input.Model.HasValue, x => x.Model == input.Model)                         //增加按型号规格型筛选
            .WhereIf(input.MinModel.HasValue, m => m.Model >= input.MinModel)                   //按最小型号规格筛选
            .WhereIf(input.MaxModel.HasValue, m => m.Model <= input.MaxModel)                   //按最大型号规格筛选
            .WhereIf(input.Strength.HasValue, x => x.Strength == input.Strength)                //按屈服强度筛选
            .WhereIf(input.MinStrenth.HasValue, m => m.Strength >= input.MinStrenth)            //按最小材料强度筛选
            .WhereIf(input.MaxStrenth.HasValue, m => m.Strength <= input.MaxStrenth)            //按最大材料强度筛选
            .WhereIf(input.ManufactoryId.HasValue, x => x.ManufactoryId == input.ManufactoryId) //按厂家Id度筛选
            .WhereIf(input.Id.HasValue, x => x.Id == input.Id)                                  //按厂家Id度筛选
            .OrderBy(input.Sorting)
            .ProjectTo <MaterialDto>(Configuration)
            .ToPageResultAsync(input));
 }
        /// <summary>
        /// 数据过滤演示
        /// </summary>
        /// <param name="id"></param>
        public void GetAllDataExample(Guid id)
        {
            //寻找静态拉伸数据明细
            var staticData = _materialTrialDataRepository
                             .AsNoTracking()
                             .Include(x => x.StaticTensionDataDetails)
                             .ThenInclude(y => y.StaticTensionDataDetailStressStrains)
                             .Where(m => m.MaterialTrial.Trial.TrialType == TrialType.静态拉伸 &&
                                    m.MaterialTrial.Material.Id == id &&
                                    m.MaterialTrial.Material.Strength < 500 &&
                                    m.MaterialTrial.Material.Strength > 200)
                             .SelectMany(n => n.StaticTensionDataDetails)
                             .ToList();

            //直接取静态拉伸试验数据
            var staticData1 = _staticTensionDataDetailRepository
                              .AsNoTracking()
                              .Include(y => y.StaticTensionDataDetailStressStrains)
                              .Where(m => m.MaterialTrialData.MaterialTrial.Material.Name == "DC01")
                              .ToList();
        }
Пример #26
0
 /// <summary>
 /// 获取所有数据存储在Redis中
 /// </summary>
 /// <returns></returns>
 public List <Menu> GetRedis()
 => _menuRepository.AsNoTracking().ToList();
Пример #27
0
 /// <summary>
 /// 获取所有数据存储在Redis中
 /// </summary>
 /// <returns></returns>
 public List <APIManagement> GetRedis()
 => _apiManagementRepository.AsNoTracking().ToList();
Пример #28
0
 /// <summary>
 /// 根据管理员编号获取所有所属角色
 /// </summary>
 /// <param name="userId">管理员编号</param>
 /// <returns></returns>
 public async Task <IEnumerable <UserRoleViewDto> > GetListAsync(Guid userId)
 {
     userId.NotEmpty(nameof(userId));
     return((await _userRoleRepository.AsNoTracking().Where(x => x.UserId == userId).ToListAsync()).ToMap <UserRoleViewDto>());
 }
Пример #29
0
 /// <summary>
 /// 获取所有数据存储在Redis中
 /// </summary>
 /// <returns></returns>
 public List <Role> GetRedis()
 => _roleRepository.AsNoTracking().ToList();
Пример #30
0
        public void SignIn(string userName, HttpContextBase httpContextBase)
        {
            var user = _userRepository.AsNoTracking().First(x => x.UserName == userName);

            _cookieManager.AddAuthenticationCookie(user.Id, httpContextBase);
        }