public async Task <IList <Loan> > GetReceivedLoansAsync(Guid loaneeId, Guid?groupId, DateTime?startTime, DateTime?endTime) { var filterInfo = new LoanFilterInfo() { LoaneeId = loaneeId, GroupId = groupId, StartTime = startTime, EndTime = endTime, }; return(await GetFilteredLoansAsync(filterInfo)); }
private Task <IList <Loan> > GetLoansBetweenUsers(Guid loanerId, Guid loaneeId, Guid?groupContextId) { var filterData = new LoanFilterInfo() { LoaneeId = loaneeId, LoanerId = loanerId, GroupId = groupContextId, }; var dbFilter = loanDbFilterFactory.Create(filterData); return(loanRepository.GetAllAsync(dbFilter)); }
public void Create_WhenFilterInfoIsPassed_ShouldReturnLoanDbFilter() { //Arrange var loanDbFilterFactory = new LoanDbFilterFactory(); var filterInfo = new LoanFilterInfo { LoanerId = Guid.NewGuid(), GroupId = Guid.NewGuid(), StartTime = DateTime.Now.AddMilliseconds(-1000), EndTime = DateTime.Now.AddMilliseconds(1000), LoaneeId = Guid.NewGuid(), }; //Act var result = loanDbFilterFactory.Create(filterInfo); //Assert result.GetType().ShouldBe(typeof(LoanDbFilter)); }
public void LoanDbFilter_WhenThereAreLoansCreatedBeforeCertainTime_ShouldReturnAllLoansCreatedBeforeThatTime() { //Arrange var sutBuilder = new LoanDbFilterSutBuilder(); var loans = sutBuilder.Setup(); var filterInfo = new LoanFilterInfo { EndTime = DateTime.Now.AddMilliseconds(1000), }; var filter = new LoanDbFilter(filterInfo); var queryableLoans = loans.AsQueryable(); loans = loans.Where(u => u.Bill.CreationTime < filterInfo.EndTime).ToList(); //Act var result = filter.ApplyFilter(queryableLoans).ToList(); //Assert result.ShouldBe(loans); }
public void LoanDbFilter_WhenGroupHasBills_ShouldReturnAllGroupLoans() { //Arrange var sutBuilder = new LoanDbFilterSutBuilder(); var loans = sutBuilder.Setup(); var filterInfo = new LoanFilterInfo { GroupId = loans[0].Bill.GroupContextId, }; var filter = new LoanDbFilter(filterInfo); var queryableLoans = loans.AsQueryable(); loans = loans.Where(u => u.Bill.GroupContextId == loans[0].Bill.GroupContextId).ToList(); //Act var result = filter.ApplyFilter(queryableLoans).ToList(); //Assert result.ShouldBe(loans); }
public void LoanDbFilter_WhenLoaneeHasRecievedLoans_ShouldReturnOnlyReceivedLoans() { //Arrange var sutBuilder = new LoanDbFilterSutBuilder(); var loans = sutBuilder.Setup(); var filterInfo = new LoanFilterInfo { LoaneeId = loans[1].LoaneeId, }; var filter = new LoanDbFilter(filterInfo); var queryableLoans = loans.AsQueryable(); loans = loans.Where(u => u.LoaneeId == loans[1].LoaneeId).ToList(); //Act var result = filter.ApplyFilter(queryableLoans).ToList(); //Assert result.ShouldBe(loans); }
public IDbFilter <Loan> Create(LoanFilterInfo loanFilterInfo) { return(new LoanDbFilter(loanFilterInfo)); }
public Task <IList <Loan> > GetFilteredLoansAsync(LoanFilterInfo loanFilterInfo) { var filter = loanDbFilterFactory.Create(loanFilterInfo); return(loanRepository.GetAllAsync(filter)); }
public async Task <ActionResult <IList <ApiLoan> > > GetLoans([FromQuery] LoanFilterInfo loanFilterInfo) { var loans = await loanService.GetFilteredLoansAsync(loanFilterInfo); return(mapper.Map <List <ApiLoan> >(loans)); }