private async void SearchAsync() { var filter = Criteria.BuildCriteria(); if (filter != null) { using (IUnitOfWork unit = new UnitOfWork()) { var result = unit.Contracts.Query(filter) .OrderBy ( cont => cont.PropertyNo ) .ThenBy ( cont => cont.ContractNo ); await TransformContracts(result); } var sums = new ContractsReport( "الإجمالي", AgreedRentSum, RentDueSum, MaintDueSum, DepositDueSum, RentPaidSum, MaintPaidSum, DepositPaidSum, BalanceSum); Reports.Add(sums); } }
void Search() { var searchCriteria = Criteria.BuildCriteria(); if (searchCriteria != null) { try { if (CachedData == null) { RefreshData(); } if (CachedData != null) { var result = CachedData.Where(searchCriteria.Compile()).OrderBy(x => x.PropertyNo).ThenBy(x => x.DateDue); SearchResult = new ObservableCollection <PeriodSchedule>(result); } } catch (Exception ex) { string msg = Helper.ProcessExceptionMessages(ex); Helper.ShowMessage(msg); } } }
private IEnumerable <MaintReportFields> SearchMaint() { var criteria = Criteria.BuildCriteria(); List <MaintReportFields> report = new List <MaintReportFields>(); if (criteria != null) { using (IUnitOfWork unit = new UnitOfWork()) { //1 Apply criteria var contracts = ApplyMaintCriteria(unit, criteria); //2- for each contract met criteria foreach (var contract in contracts) { //3 Get the maintenance payments for this contract. var maintPayments = GetContractMaintenancePayments(unit, contract); //4 If this contract has any maintenance payments, then: if (maintPayments.Any()) { AddToMaintenaceReport(report, maintPayments, contract); } else //5 Otherwise, add the contract as its to the report. { AddToMaintenaceReport(report, contract); } } } } return(report); }
private void AddNew() { Func <SearchablePaymentDetails, bool> s = Criteria.BuildCriteria(); if (s != null) { IEnumerable <SearchablePaymentDetails> result = _seacrhablePaymentDetails.Where(s); PaymentDetails = ShowFilterResult(result); } }
void Search() { try { var filter = Criteria.BuildCriteria(); if (filter != null) { using (IUnitOfWork unitOfWork = new UnitOfWork()) { var contracts = unitOfWork.Contracts.Query(filter); var cps = FillContractPayments(unitOfWork, contracts); ContractsPayments = new ObservableCollection <ContractPayments>(cps); ToogleControls(ReportViewState.Searched); } } } catch (Exception ex) { string msg = Helper.ProcessExceptionMessages(ex); Logger.Log(LogMessageTypes.Error, msg, ex.TargetSite.ToString(), ex.StackTrace); } }
private IEnumerable <RentReportFields> SearchRent() { var criteria = Criteria.BuildCriteria(); if (criteria != null) { using (IUnitOfWork unit = new UnitOfWork()) { //Apply Criterial var contracts = ApplyRentCriteria(unit, criteria); var contractsMetCriteria = new List <Contract>(); //For each contract contracts.ForEach(contract => { //If the payments criteria not null if (_paymentCriteria != null) { Contract copy = contract; //Get get payments of this contract. var s = unit.Payments.Query(x => x.ContractNo == copy.ContractNo); //If the contract has any payments, then if (s.Any()) { //Apply the payments criteria to get the only payments that //are in range specified. var hasPaymentsInRange = s.Where(_paymentCriteria); //If any payment is in this range, then if (hasPaymentsInRange.Any()) { // add it to the report. contractsMetCriteria.Add(contract); } } } else //Otherwise, the user is not interested in payment criteria, so just add the contract to the report. { contractsMetCriteria.Add(contract); } } ); //Iterate over the contracts met the criteria, to create the report. foreach (var contract in contractsMetCriteria) { Contract copyedContract = contract; var contractRent = unit.Payments.Query(pm => pm.ContractNo == copyedContract.ContractNo ) .Sum(x => (int?)x.Rent) ?? 0; yield return(new RentReportFields( contract.ContractNo, contract.PropertyNo, contract.CustomerId, contract.Customer.Name, contract.Property.Type, contract.Property.Description, contract.Property.Location, contract.AgreedRent, contract.RentDue, contractRent, contract.Customer.MainMobile ?? "", contract.Customer.SecondMobile ?? "", contract.Customer.WorkPhone ?? "", contract.Customer.HomePhone ?? "" )); } } } }