public async Task <IActionResult> GetAllEntity() { var service = new EntityRepositoryService(connString); var result = await service.GetAllEntity(); var ent = result.Select(a => a.EntityTypeId).Distinct(); var finalresult = new List <EntityTypeDTO>(); foreach (var item in ent) { var list = result.Where(a => a.EntityTypeId == item).ToList(); var entTypeDTO = new EntityTypeDTO(); entTypeDTO.EntityTypeId = list[0].EntityTypeId; entTypeDTO.EntityTypeName = list[0].EntityTypeName; entTypeDTO.Entities = new List <EntityDTO>(); foreach (var elm in list) { var entDTO = new EntityDTO(); entDTO.EntityId = elm.EntityId; entDTO.EntityName = elm.EntityName; entDTO.EntityDescription = elm.EntityDescription; entTypeDTO.Entities.Add(entDTO); } finalresult.Add(entTypeDTO); } var response = new GenericResponse <List <EntityTypeDTO> >() { IsSuccess = true, Message = "Data fetched successfully.", ResponseCode = 200, Result = finalresult }; return(Ok(response)); }