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 UpdateEquipment_DataDrivenTest(EquipmentUpdateDto model, bool expectation) { try { var equipmentId = Context.Equipments.First()?.Id; model.Id = equipmentId.Value; var requestModel = new CommonRequestMessage { Content = JsonConvert.SerializeObject(model) }; CommonResponseMessage response = await sut.UpdateEquipment(requestModel, default(ServerCallContext)); var equipment = JsonConvert.DeserializeObject <EquipmentDetailDto>(response.Content); if (expectation) { Assert.True(response.Status); Assert.Equal(equipment.Id, model.Id); } else { Assert.False(response.Status); } } catch { Assert.True(false); } }
public async override Task <CommonResponseMessage> GetEquipment(CommonRequestMessage request, ServerCallContext context) { var equipmentId = JsonConvert.DeserializeObject <int>(request.Content); var equipment = (await equipmentRepository.Get(equipmentId))?.ToEquipmentDetailDto(); var result = new CommonResponseMessage { Content = JsonConvert.SerializeObject(equipment), Message = "Success", Status = true }; return(result); }
public async Task InsertEquipment_DataDrivenTest(EquipmentInsertDto model, bool expectation) { var requestModel = new CommonRequestMessage { Content = JsonConvert.SerializeObject(model) }; CommonResponseMessage response = await sut.InsertEquipment(requestModel, default(ServerCallContext)); var equipment = JsonConvert.DeserializeObject <EquipmentDetailDto>(response.Content); if (expectation) { Assert.True(response.Status); Assert.NotNull(equipment); Assert.Equal(equipment.Name, model.Name); } else { Assert.Null(equipment); } }