public async Task <GenericResponse <IEnumerable <UserDto> > > GetList([FromBody] FilterCriteria filterCriteria) { IEnumerable <UserBo> listBo = null; IEnumerable <UserDto> listDto = null; ServiceResult <IEnumerable <UserBo> > resultList; CultureInfo enCulture = new CultureInfo("en-US"); long organizationId = 0; if (filterCriteria == null) { filterCriteria = new FilterCriteria(); } DictonaryFilter dictonaryFilter = filterCriteria.DictonaryBasedFilter.FirstOrDefault(x => x.Key == "organizationId"); if (dictonaryFilter == null || !long.TryParse(dictonaryFilter.Data, out organizationId)) { organizationId = 0; } if (organizationId > 0) { // Yetki kontrolü yapılıyor ServiceResult <bool> resultAutorized = await GetAutorizedOrganizationStatusById(organizationId); if (!resultAutorized.Success || !resultAutorized.Data) { return(GenericResponse <IEnumerable <UserDto> > .Error(ResultType.Error, "Not Autorized Access!", "U_GL_01", StatusCodes.Status203NonAuthoritative)); } } else { ServiceResult <UserBo> userDtoResult = await GetCurrentUser(); if (!userDtoResult.Success || userDtoResult.Data == null) { return(GenericResponse <IEnumerable <UserDto> > .Error(ResultType.Error, "User Not Found!", "U_GL_02", StatusCodes.Status404NotFound)); } organizationId = userDtoResult.Data.OrganizationId; } resultList = await serviceManager.User_Service.GetListAsync(organizationId, filterCriteria); if (!resultList.Success || resultList.Data == null) { return(GenericResponse <IEnumerable <UserDto> > .Error(ResultType.Error, resultList.Error, "U_GL_03", StatusCodes.Status500InternalServerError)); } listBo = resultList.Data; listDto = listBo.Select(x => UserBo.ConvertToDto(x)).ToList(); return(GenericResponse <IEnumerable <UserDto> > .Ok(listDto)); }
public async Task <GenericResponse <IEnumerable <OrganizationDto> > > GetList([FromBody] FilterCriteria filterCriteria) { IEnumerable <OrganizationBo> listBo = null; ServiceResult <IEnumerable <OrganizationBo> > resultList; CultureInfo enCulture = new CultureInfo("en-US"); long organizationId = 0; if (filterCriteria == null) { filterCriteria = new FilterCriteria(); } DictonaryFilter dictonaryFilter = filterCriteria.DictonaryBasedFilter.FirstOrDefault(x => x.Key == "organizationId"); if (dictonaryFilter == null || !long.TryParse(dictonaryFilter.Data, out organizationId)) { organizationId = 0; } if (organizationId > 0) { // Yetki kontrolü yapılıyor ServiceResult <bool> resultAutorized = await GetAutorizedOrganizationStatusById(organizationId); if (!resultAutorized.Success || !resultAutorized.Data) { return(GenericResponse <IEnumerable <OrganizationDto> > .Error(ResultType.Error, "Not Autorized Access!", "O_GL_01", StatusCodes.Status203NonAuthoritative)); } } else { ServiceResult <UserBo> userDtoResult = await GetCurrentUser(); if (!userDtoResult.Success || userDtoResult.Data == null) { return(GenericResponse <IEnumerable <OrganizationDto> > .Error(ResultType.Error, "User Not Found!", "O_GL_02", StatusCodes.Status404NotFound)); } organizationId = userDtoResult.Data.OrganizationId; } resultList = await serviceManager.Organization_Service.GetHierarchicalyByOrganizationIdAsync(organizationId); if (!resultList.Success || resultList.Data == null) { return(GenericResponse <IEnumerable <OrganizationDto> > .Error(ResultType.Error, resultList.Error, "O_GL_03", StatusCodes.Status500InternalServerError)); } listBo = resultList.Data; foreach (DictonaryFilter item in filterCriteria.DictonaryBasedFilter) { switch (item.Key.ToLower(enCulture)) { case "title": switch (item.OperandType) { case OperandType.Equal: listBo = listBo.Where(x => x.Title.ToLower() == item.Data.ToLower()); break; case OperandType.NotEqual: listBo = listBo.Where(x => x.Title.ToLower() != item.Data.ToLower()); break; case OperandType.Like: listBo = listBo.Where(x => x.Title.ToLower().Contains(item.Data.ToLower())); break; } break; case "description": switch (item.OperandType) { case OperandType.Equal: listBo = listBo.Where(x => x.Description.ToLower() == item.Data.ToLower()); break; case OperandType.NotEqual: listBo = listBo.Where(x => x.Description.ToLower() != item.Data.ToLower()); break; case OperandType.Like: listBo = listBo.Where(x => x.Description.ToLower().Contains(item.Data.ToLower())); break; } break; } } IEnumerable <OrganizationDto> listDto = listBo.Select(x => OrganizationBo.ConvertToDto(x)); return(GenericResponse <IEnumerable <OrganizationDto> > .Ok(listDto)); }