public ReferencePropertyMetadata( string name, bool isRequired, int?value, LookupEnum lookup, int order, string groupName = null, string localizeKey = null, bool writable = false) : base(name, isRequired, order, localizeKey, groupName, writable) { Lookup = lookup; Value = value; }
public MultiReferenceProperty( string name, IEnumerable <int> ids, LookupEnum lookup, bool mandatory, int order, string groupName = null, string localizeKey = null, bool writable = false) : base(name, mandatory, order, localizeKey, groupName, writable) { Value = ids.ToArray(); Lookup = lookup; }
public void LookupEnumTest() { var lookupEnum = new LookupEnum { EnumTypeId = "COMPLEXION" }; var result = _queryService.InvokeQuery(lookupEnum); }
/// <summary> /// Method to get the search object /// </summary> /// <param name = "lookup"> of the search object </param> /// <returns> </returns> public async Task <IEnumerable <CodeLookupVm> > GetLookupByEnum(LookupEnum lookup) { IQueryable <object> query; switch (lookup) { case LookupEnum.LocalUnitLookup: query = _dbContext.LocalUnits.Where(x => !x.IsDeleted); break; case LookupEnum.LegalUnitLookup: query = _dbContext.LegalUnits.Where(x => !x.IsDeleted); break; case LookupEnum.EnterpriseUnitLookup: query = _dbContext.EnterpriseUnits.Where(x => !x.IsDeleted); break; case LookupEnum.EnterpriseGroupLookup: query = _dbContext.EnterpriseGroups.Where(x => !x.IsDeleted); break; case LookupEnum.CountryLookup: query = _dbContext.Countries.OrderBy(x => x.Name) .Select(x => new CodeLookupVm { Id = x.Id, Name = $"({x.IsoCode}) ({x.Code}) {x.Name}", NameLanguage1 = $"({x.IsoCode}) ({x.Code}) {x.NameLanguage1}", NameLanguage2 = $"({x.IsoCode}) ({x.Code}) {x.NameLanguage2}" }); break; case LookupEnum.LegalFormLookup: query = _dbContext.LegalForms.Where(x => !x.IsDeleted); break; case LookupEnum.SectorCodeLookup: query = _dbContext.SectorCodes.Where(x => !x.IsDeleted); break; case LookupEnum.PersonTypeLookup: query = _dbContext.PersonTypes.Where(x => !x.IsDeleted); break; case LookupEnum.UnitStatusLookup: query = _dbContext.Statuses.Where(x => !x.IsDeleted).Select(x => new CodeLookupVm { Id = x.Id, Name = x.Name }); break; case LookupEnum.ForeignParticipationLookup: query = _dbContext.ForeignParticipations.Where(x => !x.IsDeleted).Select(x => new CodeLookupVm { Id = x.Id, Name = x.Name }); break; default: throw new ArgumentOutOfRangeException(nameof(lookup), lookup, null); } return(await Execute(query)); }
/// <summary> /// Method for obtaining object search pagination /// </summary> /// <param name = "lookup"> of the search object </param> /// <param name = "searchModel"> search model </param> /// <returns> </returns> public async Task <IEnumerable <CodeLookupVm> > GetPaginateLookupByEnum(LookupEnum lookup, SearchLookupModel searchModel) { IQueryable <object> query; Expression <Func <IStatisticalUnit, bool> > searchCriteia; Expression <Func <CodeLookupBase, bool> > searchCodeLookupCriteia; Expression <Func <Country, bool> > searchIsoCodeLookupCriteia; var loweredWc = searchModel.Wildcard?.ToLower(); var statIdSearch = false; if (string.IsNullOrEmpty(searchModel.Wildcard)) { searchCriteia = x => !x.IsDeleted; searchCodeLookupCriteia = x => !x.IsDeleted; searchIsoCodeLookupCriteia = x => !x.IsDeleted; } else { searchCriteia = x => !x.IsDeleted && (!statIdSearch && x.Name.ToLower().Contains(loweredWc) || statIdSearch && x.StatId == loweredWc); searchCodeLookupCriteia = x => !x.IsDeleted && x.Name.ToLower().Contains(loweredWc) || x.NameLanguage1.ToLower().Contains(loweredWc) || x.NameLanguage2.ToLower().Contains(loweredWc) || x.Code.ToLower().StartsWith(loweredWc); searchIsoCodeLookupCriteia = x => !x.IsDeleted && x.Name.ToLower().Contains(loweredWc) || x.NameLanguage1.ToLower().Contains(loweredWc) || x.NameLanguage2.ToLower().Contains(loweredWc) || x.IsoCode.ToLower().StartsWith(loweredWc) || x.Code.ToLower().StartsWith(loweredWc); } switch (lookup) { case LookupEnum.LocalUnitLookup: statIdSearch = await StatUnitExistsByStatId <LocalUnit>(loweredWc); query = _dbContext.LocalUnits.Where(searchCriteia); break; case LookupEnum.LegalUnitLookup: statIdSearch = await StatUnitExistsByStatId <LegalUnit>(loweredWc); query = _dbContext.LegalUnits.Where(searchCriteia); break; case LookupEnum.EnterpriseUnitLookup: statIdSearch = await StatUnitExistsByStatId <EnterpriseUnit>(loweredWc); query = _dbContext.EnterpriseUnits.Where(searchCriteia) .Skip(searchModel.Page * searchModel.PageSize).Take(searchModel.PageSize); break; case LookupEnum.EnterpriseGroupLookup: statIdSearch = await StatUnitExistsByStatId <EnterpriseGroup>(loweredWc); query = _dbContext.EnterpriseGroups.Where(searchCriteia); break; case LookupEnum.CountryLookup: return((await _dbContext.Countries .Where(searchIsoCodeLookupCriteia) .OrderBy(x => x.Name) .ToListAsync()) .Select(x => new CodeLookupVm { Id = x.Id, Name = $"({x.IsoCode}) ({x.Code}) {x.Name}", NameLanguage1 = $"({x.IsoCode}) ({x.Code}) {x.NameLanguage1}", NameLanguage2 = $"({x.IsoCode}) ({x.Code}) {x.NameLanguage2}" })); case LookupEnum.LegalFormLookup: query = _dbContext.LegalForms.Where(searchCodeLookupCriteia); break; case LookupEnum.SectorCodeLookup: query = _dbContext.SectorCodes.Where(searchCodeLookupCriteia); break; case LookupEnum.DataSourceClassificationLookup: query = _dbContext.DataSourceClassifications.Where(x => !x.IsDeleted); break; case LookupEnum.ReorgTypeLookup: query = _dbContext.ReorgTypes.Where(x => !x.IsDeleted); break; case LookupEnum.EntGroupTypeLookup: query = _dbContext.EnterpriseGroupTypes.Where(x => !x.IsDeleted) .Select(x => new CodeLookupVm { Id = x.Id, Name = $"{x.Name}", NameLanguage1 = $"{x.NameLanguage1}", NameLanguage2 = $"{x.NameLanguage2}" }); break; case LookupEnum.UnitStatusLookup: query = _dbContext.Statuses.Where(x => !x.IsDeleted); break; case LookupEnum.UnitSizeLookup: query = _dbContext.UnitsSize.Where(x => !x.IsDeleted); break; case LookupEnum.ForeignParticipationLookup: query = _dbContext.ForeignParticipations.Where(x => !x.IsDeleted); break; case LookupEnum.RegistrationReasonLookup: query = _dbContext.RegistrationReasons.Where(x => !x.IsDeleted); break; case LookupEnum.PersonTypeLookup: query = _dbContext.PersonTypes.Where(x => !x.IsDeleted) .Select(x => new CodeLookupVm { Id = x.Id, Name = $"{x.Name}", NameLanguage1 = $"{x.NameLanguage1}", NameLanguage2 = $"{x.NameLanguage2}" }); break; case LookupEnum.RegionLookup: return((await _dbContext.Regions .Where(searchCodeLookupCriteia) .OrderBy(x => x.Code) .Skip(searchModel.Page * searchModel.PageSize) .Take(searchModel.PageSize) .ToListAsync()) .Select(region => new CodeLookupVm { Id = region.Id, Name = $"{region.Code} {(region as Region)?.FullPath ?? region.Name}", NameLanguage1 = $"{region.Code} {(region as Region)?.FullPathLanguage1 ?? region.NameLanguage1}", NameLanguage2 = $"{region.Code} {(region as Region)?.FullPathLanguage2 ?? region.NameLanguage2}" })); case LookupEnum.ActivityCategoryLookup: return((await _dbContext.ActivityCategories .Where(searchCodeLookupCriteia) .OrderBy(x => x.Code) .Skip(searchModel.Page * searchModel.PageSize) .Take(searchModel.PageSize) .ToListAsync()) .Select(act => new CodeLookupVm { Id = act.Id, Name = act.Name, Code = act.Code, NameLanguage1 = act.NameLanguage1, NameLanguage2 = act.NameLanguage2 })); default: throw new ArgumentOutOfRangeException(nameof(lookup), lookup, null); } query = query.Skip(searchModel.Page * searchModel.PageSize).Take(searchModel.PageSize); return(await Execute(query)); }
/// <summary> /// Method of obtaining a search object by Id /// </summary> /// <param name = "lookup"> of the search object </param> /// <param name = "ids"> id </param> /// <param name = "showDeleted"> Distance flag </param> /// <returns> </returns> public virtual async Task <IEnumerable <CodeLookupVm> > GetById(LookupEnum lookup, int[] ids, bool showDeleted = false) { IQueryable <object> query; Expression <Func <IStatisticalUnit, bool> > statUnitSearchCriteia = v => ids.Contains(v.RegId) && v.IsDeleted == showDeleted; Expression <Func <LookupBase, bool> > lookupSearchCriteia = v => ids.Contains(v.Id) && v.IsDeleted == showDeleted; switch (lookup) { case LookupEnum.LocalUnitLookup: query = _dbContext.LocalUnits.Where(statUnitSearchCriteia); break; case LookupEnum.LegalUnitLookup: query = _dbContext.LegalUnits.Where(statUnitSearchCriteia); break; case LookupEnum.EnterpriseUnitLookup: query = _dbContext.EnterpriseUnits.Where(statUnitSearchCriteia); break; case LookupEnum.EnterpriseGroupLookup: query = _dbContext.EnterpriseGroups.Where(statUnitSearchCriteia); break; case LookupEnum.CountryLookup: return((await _dbContext.Countries .Where(x => !x.IsDeleted && ids.Contains(x.Id)) .OrderBy(x => x.Name) .ToListAsync()) .Select(x => new CodeLookupVm { Id = x.Id, Name = $"({x.IsoCode}) ({x.Code}) {x.Name}", NameLanguage1 = $"({x.IsoCode}) ({x.Code}) {x.NameLanguage1}", NameLanguage2 = $"({x.IsoCode}) ({x.Code}) {x.NameLanguage2}" })); case LookupEnum.LegalFormLookup: query = _dbContext.LegalForms.Where(lookupSearchCriteia); break; case LookupEnum.SectorCodeLookup: query = _dbContext.SectorCodes.Where(lookupSearchCriteia); break; case LookupEnum.DataSourceClassificationLookup: query = _dbContext.DataSourceClassifications.Where(lookupSearchCriteia); break; case LookupEnum.ReorgTypeLookup: query = _dbContext.ReorgTypes.Where(lookupSearchCriteia); break; case LookupEnum.EntGroupTypeLookup: query = _dbContext.EnterpriseGroupTypes.Where(lookupSearchCriteia) .Select(x => new CodeLookupVm { Id = x.Id, Name = $"{x.Name}", NameLanguage1 = $"{x.NameLanguage1}", NameLanguage2 = $"{x.NameLanguage2}" }); break; case LookupEnum.UnitStatusLookup: query = _dbContext.Statuses.Where(lookupSearchCriteia); break; case LookupEnum.UnitSizeLookup: query = _dbContext.UnitsSize.Where(lookupSearchCriteia); break; case LookupEnum.ForeignParticipationLookup: query = _dbContext.ForeignParticipations.Where(lookupSearchCriteia); break; case LookupEnum.RegistrationReasonLookup: query = _dbContext.RegistrationReasons.Where(lookupSearchCriteia); break; case LookupEnum.PersonTypeLookup: query = _dbContext.PersonTypes.Where(lookupSearchCriteia) .Select(x => new CodeLookupVm { Id = x.Id, Name = $"{x.Name}", NameLanguage1 = $"{x.NameLanguage1}", NameLanguage2 = $"{x.NameLanguage2}" }); break; case LookupEnum.RegionLookup: return((await _dbContext.Regions .Where(x => !x.IsDeleted && ids.Contains(x.Id)) .OrderBy(x => x.Code) .ToListAsync()) .Select(region => new CodeLookupVm { Id = region.Id, Name = $"{region.Code} {region.FullPath ?? region.Name}", NameLanguage1 = $"{region.Code} {region.FullPathLanguage1 ?? region.NameLanguage1}", NameLanguage2 = $"{region.Code} {region.FullPathLanguage1 ?? region.NameLanguage2}" })); case LookupEnum.ActivityCategoryLookup: return((await _dbContext.ActivityCategories .Where(x => !x.IsDeleted && ids.Contains(x.Id)) .OrderBy(x => x.Code) .ToListAsync()) .Select(x => new CodeLookupVm { Id = x.Id, Code = x.Code, Name = x.Name, NameLanguage1 = x.NameLanguage1, NameLanguage2 = x.NameLanguage2 })); default: throw new ArgumentOutOfRangeException(nameof(lookup), lookup, null); } return(await Execute(query)); }
public ReferenceAttribute(LookupEnum lookup) { Lookup = lookup; }
public async Task <IActionResult> GetById(LookupEnum lookup, [FromQuery] int[] ids) => Ok(await _lookupService.GetById(lookup, ids));
public async Task <IActionResult> GetPaginateLookup(LookupEnum lookup, [FromQuery] SearchLookupModel searchModel) => Ok(await _lookupService.GetPaginateLookupByEnum(lookup, searchModel));
public async Task <IActionResult> GetLookup(LookupEnum lookup) => Ok(await _lookupService.GetLookupByEnum(lookup));