public async Task <IQueryable <RentPaymentHistoryViewModel> > Handle(RentPaymentHistoryQuery request, CancellationToken cancellationToken) { //var rentPaymentHistory = _context.RentPayment.Include(l => l.Lease).ThenInclude(p => p.RentalProperty).ToList(); //return rentPaymentHistory.AsQueryable(); var rentPaymentHistory = from rent in _context.RentPayment join lease in _context.Lease on rent.LeaseId equals lease.Id join tenant in _context.Tenant on lease.Id equals tenant.LeaseId //join lease2 in _context.Lease on rent.LeaseId equals lease2.Id join property in _context.RentalProperty on lease.RentalPropertyId equals property.Id where lease.Id == request.Id && tenant.Id == request.InChargeTenantId //from lease in _context.Lease select new RentPaymentHistoryViewModel { LeaseTitle = lease.LeaseTitle, Id = rent.Id, LeaseId = lease.Id, PropertyName = property.PropertyName, FirstName = tenant.FirstName, LastName = tenant.LastName, ContactTelephone1 = tenant.ContactTelephone1, ContactEmail = tenant.ContactEmail, ScheduledPaymentAmt = rent.ScheduledPaymentAmt, ActualPaymentAmt = rent.ActualPaymentAmt, RentalForMonth = rent.RentalForMonth, RentalForYear = rent.RentalForYear, PaymentDueDate = rent.PaymentDueDate, PaymentReceivedDate = rent.PaymentReceivedDate, PayMethod = rent.PayMethod }; return(rentPaymentHistory.AsQueryable()); //throw new NotImplementedException(); }
public async Task <IActionResult> GetRentPaymentHistoryByLease(int id, int cid) //id: lease id { var getLease = new RentPaymentHistoryQuery { Id = id, InChargeTenantId = cid }; try { var rentpayment = await _mediator.Send(getLease); if (rentpayment == null) { return(NotFound()); } return(Ok(rentpayment)); } catch (Exception ex) { throw ex; } }