public async override Task <CommonResponseMessage> GetEquipments(CommonRequestMessage request, ServerCallContext context) { var dto = JsonConvert.DeserializeObject <EquipmentPaginationRequestDto>(request.Content); var query = await equipmentRepository.GetAllIncludeAll(); if (dto.ClinicId > 0) { query = query.Where(c => c.ClinicId == dto.ClinicId); } var totalItem = query.Count(); query = SortAndFilterEquipments(dto, query); query = query.Skip(dto.Page * dto.PageItemCount) .Take(dto.PageItemCount); var equipments = query?.ToEquipmentItemDtoList(); var result = new Paginatedlist <EquipmentItemDto>(equipments, dto.Page, totalItem, dto.PageItemCount); return(new CommonResponseMessage { Content = JsonConvert.SerializeObject(result), Message = "Success", Status = true }); }
public async override Task <CommonResponseMessage> GetClinics(CommonRequestMessage request, ServerCallContext context) { var result = new CommonResponseMessage(); var dto = JsonConvert.DeserializeObject <PaginationRequestDto>(request.Content); var query = await clinicRepository.GetAll(); var totalItem = query.Count(); var property = typeof(Clinic).GetProperties().Where(p => p.CanWrite && p.Name.ToLower() == dto.Column?.ToLower()).SingleOrDefault(); switch (dto.Type) { case PaginationType.Sorting: query = dto.IsAscending ? query.OrderBy(c => property.GetValue(c)) : query.OrderByDescending(c => property.GetValue(c)); break; case PaginationType.Searching: query = query.Where(c => c.Name != null && c.Name.ToLower().Contains(dto.SearchText?.ToLower())); break; default: break; } query = query.Skip(dto.Page * dto.PageItemCount).Take(dto.PageItemCount); var clinics = query?.ToClinicItemDtoList(); var paginatedList = new Paginatedlist <ClinicItemDto>(clinics, dto.Page, totalItem, dto.PageItemCount); return(new CommonResponseMessage { Content = JsonConvert.SerializeObject(paginatedList), Message = "Success", Status = true }); }
public async Task <Paginatedlist <ClinicItemDto> > GetAllClinics(PaginationRequestDto dto) { var result = new Paginatedlist <ClinicItemDto>(); var query = await clinicRepository.GetAll(); var totalItem = query.Count(); var property = typeof(Clinic).GetProperties().Where(p => p.CanWrite && p.Name.ToLower() == dto.Column?.ToLower()).SingleOrDefault(); switch (dto.Type) { case PaginationType.Sorting: query = dto.IsAscending ? query.OrderBy(c => property.GetValue(c)) : query.OrderByDescending(c => property.GetValue(c)); break; case PaginationType.Searching: query = query.Where(c => c.Name != null && c.Name.ToLower().Contains(dto.SearchText?.ToLower())); break; default: break; } query = query.Skip(dto.Page * dto.PageItemCount).Take(dto.PageItemCount); var clinics = query?.ToClinicItemDtoList(); return(new Paginatedlist <ClinicItemDto>(clinics, dto.Page, totalItem, dto.PageItemCount)); }
public async Task <Paginatedlist <EquipmentItemDto> > GetAllEquipments(EquipmentPaginationRequestDto dto) { var result = new Paginatedlist <EquipmentItemDto>(); var query = await equipmentRepository.GetAllIncludeAll(); if (dto.ClinicId > 0) { query = query.Where(c => c.ClinicId == dto.ClinicId); } var totalItem = query.Count(); query = SortAndFilterEquipments(dto, query); query = query.Skip(dto.Page * dto.PageItemCount) .Take(dto.PageItemCount); var equipments = query?.ToEquipmentItemDtoList(); return(new Paginatedlist <EquipmentItemDto>(equipments, dto.Page, totalItem, dto.PageItemCount)); }