コード例 #1
0
ファイル: AuditTypeDService.cs プロジェクト: SD-Team/ME
        public async Task <PagedList <AuditType_D_Dto> > SearchByAuditType(PaginationParams param, string audit_Type1, string audit_Type2)
        {
            MES_Audit_Type_M auditTypeID = null;
            var lists = _repoAuditDType.FindAll().ProjectTo <AuditType_D_Dto>(_configMapper);

            if (audit_Type1 != "all")
            {
                if (audit_Type2 != null)
                {
                    auditTypeID = await _repoAuditMType.FindAll().Where(x => x.Audit_Type1.Trim() == audit_Type1.Trim() && x.Audit_Type2.Trim() == audit_Type2).FirstOrDefaultAsync();
                }
                else
                {
                    auditTypeID = await _repoAuditMType.FindAll().Where(x => x.Audit_Type1.Trim() == audit_Type1.Trim()).FirstOrDefaultAsync();
                }
                lists = _repoAuditDType.FindAll().ProjectTo <AuditType_D_Dto>(_configMapper).Where(x => x.Audit_Type_ID.Trim() == auditTypeID.Audit_Type_ID.Trim()).OrderByDescending(x => x.Updated_Time);
            }
            return(await PagedList <AuditType_D_Dto> .CreateAsync(lists, param.PageNumber, param.PageSize));
        }
コード例 #2
0
ファイル: AuditTypeDService.cs プロジェクト: hai123vn/ME
        public async Task <PagedList <AuditType_D_Dto> > SearchAuditTypeD(PaginationParams param, AuditTypeDParam auditTypeDParam)
        {
            var query = _repoauditTypeD.FindAll();
            MES_Audit_Type_M auditTypeID = new MES_Audit_Type_M();

            if (!String.IsNullOrEmpty(auditTypeDParam.audit_Type_1))
            {
                if (!String.IsNullOrEmpty(auditTypeDParam.audit_Type_2))
                {
                    auditTypeID = await _repoauditType.FindAll().Where(x => x.Audit_Type1.Trim() ==
                                                                       auditTypeDParam.audit_Type_1.Trim() && x.Audit_Type2.Trim() == auditTypeDParam.audit_Type_2).
                                  OrderByDescending(x => x.Audit_Type_ID).FirstOrDefaultAsync();
                }
                else
                {
                    auditTypeID = await _repoauditType.FindAll().Where(x => x.Audit_Type1.Trim() == auditTypeDParam.audit_Type_1.Trim()).FirstOrDefaultAsync();

                    query = query.Where(x => x.Audit_Type_ID.Trim() == auditTypeID.Audit_Type_ID.Trim());
                }
                query = query.Where(x => x.Audit_Type_ID.Trim() == auditTypeID.Audit_Type_ID.Trim());
            }
            var result = await _repoauditType.FindAll().ToListAsync();

            var data = (
                from a in result
                select new
            {
                audit_type_ID = result.Where(y => y.Audit_Kind == a.Audit_Kind && y.Audit_Type1 == a.Audit_Type1 &&
                                             y.Audit_Type2 == a.Audit_Type2 && y.Brand == a.Brand &&
                                             y.Version == result.Where(x => x.Audit_Kind == a.Audit_Kind &&
                                                                       x.Audit_Type1 == a.Audit_Type1 && x.Audit_Type2 == a.Audit_Type2 && x.Brand == a.Brand).OrderByDescending(x => x.Version).FirstOrDefault().Version).OrderByDescending(x => x.Audit_Type_ID).FirstOrDefault().Audit_Type_ID,
            });
            var dataTest = data.Select(x => x.audit_type_ID).ToList();

            query = query.Where(x => dataTest.Contains(x.Audit_Type_ID));
            var lists = query.ProjectTo <AuditType_D_Dto>(_configMapper).OrderByDescending(x => x.Updated_Time);

            return(await PagedList <AuditType_D_Dto> .CreateAsync(lists, param.PageNumber, param.PageSize));
        }