Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
                }
            }
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        private void AddNew()
        {
            Func <SearchablePaymentDetails, bool> s = Criteria.BuildCriteria();

            if (s != null)
            {
                IEnumerable <SearchablePaymentDetails> result = _seacrhablePaymentDetails.Where(s);
                PaymentDetails = ShowFilterResult(result);
            }
        }
Esempio n. 5
0
 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);
     }
 }
Esempio n. 6
0
        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 ?? ""
                                         ));
                    }
                }
            }
        }