Пример #1
0
        private ObservableCollection <PaymentDetailsReport> ShowFilterResult(IEnumerable <SearchablePaymentDetails> result)
        {
            var ocpdr = new ObservableCollection <PaymentDetailsReport>();

            foreach (SearchablePaymentDetails searchResult in result)
            {
                if (searchResult.IsHeader)
                {
                    var pdr = new PaymentDetailsReport
                              (
                        searchResult.DetailNo, searchResult.MemberCode, searchResult.MemberName,
                        searchResult.PaymentYear, searchResult.PaymentSequence,
                        searchResult.PaymentAmount, searchResult.ShareNo, searchResult.TotalPayment,
                        searchResult.LoanAmount, searchResult.LoanDescription, searchResult.LoanRemarks,
                        searchResult.LoansTotal, searchResult.NetPayments, searchResult.Sex
                              );
                    ocpdr.Add(pdr);
                }
                else
                {
                    var pdr = new PaymentDetailsReport
                              (
                        searchResult.DetailNo, searchResult.LoanAmount,
                        searchResult.LoanDescription, searchResult.LoanRemarks, searchResult.Sex
                              );
                    ocpdr.Add(pdr);
                }
            }
            return(ocpdr);
        }
Пример #2
0
        private void AddLoanPaymentToReport(PaymentTransaction paymentTransaction, LoanPayment loanPayment)
        {
            var row = new PaymentDetailsReport(
                paymentTransaction.TransNo, paymentTransaction.MemberCode, loanPayment.AmountPaid,
                loanPayment.Loan.Description,
                loanPayment.Loan.Remarks, paymentTransaction.FamilyMember.Sex);

            _uiReportList.Add(row);
        }
Пример #3
0
        private void AddPaymentTransactionRowToReport(PaymentTransaction paymentTransaction, decimal loansPaymentsTotal)
        {
            var row = new PaymentDetailsReport(
                paymentTransaction.TransNo, paymentTransaction.MemberCode,
                paymentTransaction.FamilyMember.FullName,
                paymentTransaction.Payment.Year, paymentTransaction.Payment.PaymentSequence.SequenceNo,
                PaymentAmount, paymentTransaction.ShareNumbers,
                paymentTransaction.AmountDue, 0.00M,
                string.Empty, string.Empty,
                loansPaymentsTotal, paymentTransaction.NetPayments,
                paymentTransaction.FamilyMember.Sex,
                TranslatePaymentMethods(paymentTransaction.PayMethod), paymentTransaction.BankDocNo
                );

            _uiReportList.Add(row);
        }
Пример #4
0
        private void Print()
        {
            string templatePath = _settings.PaymentDetailsTemplatePath;
            string pdfPath      = _settings.PdfsFolder;

            try
            {
                List <PaymentDetailsReport> report = PaymentDetails.ToList();
                DataTable table = PaymentDetailsReport.FillData(report);
                var       mail  = new ExcelMail();

                mail.SendTable(table, templatePath, pdfPath);
            }
            catch (Exception ex)
            {
                Helper.LogAndShow(ex);
            }
        }
Пример #5
0
        protected override void Print()
        {
            string path = (string)_settings.Get(SettingsNames.PAYM_REPORT_PATH);
            ExcelFileProperties prop = new ExcelFileProperties();

            prop.PrintDirectly    = false;
            prop.Path             = path;
            prop.StartRowIndex    = 3;
            prop.StartcolumnIndex = 1;
            prop.Source           = PaymentDetailsReport.FillData(_uiReportList);
            try
            {
                ExcelPrinterBase printer = new PaymentTransTempPrinter();
                printer.Print(prop);
            }
            catch (Exception ex)
            {
                Helper.LogAndShow(ex);
            }
        }
Пример #6
0
        //List<PaymentDetailsReport> reportList = new List<PaymentDetailsReport>();

        private void ShowPaymentDetails(Payment p)
        {
            var holdersRepos  = _unitOfWork.FamilyMembers;
            var periodsRepos  = _unitOfWork.PeriodSettings;
            var sequenceRepos = _unitOfWork.PaymentSequences;
            var paymentsRepos = _unitOfWork.Payments;
            var detailsRepos  = _unitOfWork.PaymentTransactions;
            var historyRepos  = _unitOfWork.LoanPayments;
            var loansRepos    = _unitOfWork.Loans;

            IList <FamilyMember>       holders   = holdersRepos.GetAll();
            IList <PeriodSetting>      perods    = periodsRepos.GetAll();
            IList <PaymentSequence>    sequences = sequenceRepos.GetAll();
            IList <Payment>            payments  = paymentsRepos.GetAll();
            IList <PaymentTransaction> details   = detailsRepos.GetAll();
            //
            var results =
                from payment in payments
                join detail in details
                on payment.PaymentNo equals detail.PaymentNo
                join holder in holders
                on detail.MemberCode equals holder.Code
                join period in perods
                on payment.PayYear equals period.Id
                join sequ in sequences
                on payment.PaySequence equals sequ.Id
                where p.PaymentNo == payment.PaymentNo
                //new Added
                select new
            {
                detail.TransNo,
                ShareHolderCode = holder.Code,
                holder.FullName,
                PeriodSettingsId = period.Id,
                Year             = period.YearPart,
                SequenId         = sequ.Id,
                SequenDesc       = sequ.SequenceDescription,
                SharesNo         = detail.ShareNumbers,
                PaymentAmount    = payment.Amount,
                TotalPayments    = (payment.Amount * detail.ShareNumbers),
                LoansTatal       = detail.AmountDue,
                detail.NetPayments,
                MemberSex = holder.Sex
            };

            foreach (var result in results)
            {
                //var loans = loansRepos.Query(
                //     lo => lo.ShareHolder.Code == result.ShareHolderCode
                //         &&
                //         lo.PaymentSequence.Id == result.SequenId
                //         &&
                //         lo.PeriodSetting.Id == result.PeriodSettingsId
                //    ).ToList();

                var resultCopy = result; //Copy foreach variable to avoid accessing it in clousre
                List <LoanPayment> loansPaymentHistory = historyRepos.Query(
                    hist => hist.FamilyMember.Code == resultCopy.ShareHolderCode
                    &&
                    hist.PaymentTransaction.Payment.PaymentSequence.Id == resultCopy.SequenId
                    &&
                    hist.PaymentTransaction.Payment.PeriodSetting.Id == resultCopy.PeriodSettingsId).ToList();

                if (loansPaymentHistory.Count != 0)
                {
                    bool isFirstLine = true;
                    foreach (LoanPayment history in loansPaymentHistory)
                    {
                        if (isFirstLine)
                        {
                            //For Show
                            var pdrHeader = new PaymentDetailsReport
                                            (
                                result.TransNo, result.ShareHolderCode, result.FullName, result.Year,
                                result.SequenDesc, result.PaymentAmount, result.SharesNo,
                                result.TotalPayments, history.AmountPaid, history.Loan.LoanType.LoanDescription,
                                history.Loan.Remarks, result.LoansTatal, result.NetPayments, result.MemberSex
                                            );
                            PaymentDetails.Add(pdrHeader);
                            var spdHeader = new SearchablePaymentDetails
                                            (
                                result.TransNo, result.ShareHolderCode, result.FullName, result.Year,
                                result.SequenDesc, result.PaymentAmount, result.SharesNo,
                                result.TotalPayments, history.AmountPaid, history.Loan.LoanType.LoanDescription,
                                history.Loan.Remarks, result.LoansTatal, result.NetPayments, result.MemberSex, true
                                            );
                            _seacrhablePaymentDetails.Add(spdHeader);
                            isFirstLine = false;
                            continue;
                        }
                        var pdrDetail = new PaymentDetailsReport
                                        (
                            result.TransNo, history.AmountPaid,
                            history.Loan.LoanType.LoanDescription, history.Loan.Remarks, result.MemberSex
                                        );
                        PaymentDetails.Add(pdrDetail);

                        var spdDetail = new SearchablePaymentDetails
                                        (
                            result.TransNo, result.ShareHolderCode, result.FullName, result.Year,
                            result.SequenDesc, result.PaymentAmount, result.SharesNo,
                            result.TotalPayments, history.AmountPaid, history.Loan.LoanType.LoanDescription,
                            history.Loan.Remarks, result.LoansTatal, result.NetPayments, result.MemberSex, false
                                        );
                        _seacrhablePaymentDetails.Add(spdDetail);
                    }
                }
                else
                {
                    var pdr = new PaymentDetailsReport(
                        result.TransNo,
                        result.ShareHolderCode, result.FullName, result.Year,
                        result.SequenDesc, result.PaymentAmount, result.SharesNo,
                        result.TotalPayments, 0.00M, null,
                        null, result.LoansTatal, result.NetPayments, result.MemberSex
                        );
                    PaymentDetails.Add(pdr);
                    var spd = new SearchablePaymentDetails
                              (
                        result.TransNo,
                        result.ShareHolderCode, result.FullName, result.Year,
                        result.SequenDesc, result.PaymentAmount, result.SharesNo,
                        result.TotalPayments, 0.00M, null,
                        null, result.LoansTatal, result.NetPayments, result.MemberSex, true
                              );
                    _seacrhablePaymentDetails.Add(spd);
                }
            }
        }
Пример #7
0
        private void ShowData(PaymentTransaction detail, bool isFirstLine, Tuple <double, double, string> progMetadata)
        {
            double p          = (progMetadata.Item1 / progMetadata.Item2) * 100;
            string currMember = progMetadata.Item3;

            //Action action = () =>
            //    {
            if (_uiLoansHistory.Count > 0)
            {
                foreach (LoanPayment history in _uiLoansHistory)
                {
                    if (isFirstLine)
                    {
                        //This for show.
                        var pdrHeader = new PaymentDetailsReport(
                            detail.TransNo, detail.FamilyMember.Code, detail.FamilyMember.FullName,
                            detail.Payment.PeriodSetting.YearPart, detail.Payment.PaymentSequence.SequenceDescription,
                            detail.Payment.Amount, detail.FamilyMember.Shares,
                            (detail.Payment.Amount * detail.FamilyMember.Shares),
                            history.AmountPaid, history.Loan.LoanType.LoanDescription,
                            history.Loan.Remarks, detail.AmountDue, detail.NetPayments, detail.FamilyMember.Sex);

                        PaymentDetails.Add(pdrHeader);
                        //This for search.
                        var spdHeader = new SearchablePaymentDetails
                                        (
                            detail.TransNo, detail.FamilyMember.Code, detail.FamilyMember.FullName,
                            detail.Payment.PeriodSetting.YearPart, detail.Payment.PaymentSequence.SequenceDescription,
                            detail.Payment.Amount, detail.FamilyMember.Shares,
                            (detail.Payment.Amount * detail.FamilyMember.Shares),
                            history.AmountPaid, history.Loan.LoanType.LoanDescription,
                            history.Loan.Remarks, detail.AmountDue, detail.NetPayments, detail.FamilyMember.Sex, true
                                        );
                        _seacrhablePaymentDetails.Add(spdHeader);
                        isFirstLine = false;
                        continue;
                    }
                    //This for show.
                    var pdrDetail = new PaymentDetailsReport
                                    (
                        detail.TransNo, history.AmountPaid,
                        history.Loan.LoanType.LoanDescription, history.Loan.Remarks, detail.FamilyMember.Sex
                                    );
                    PaymentDetails.Add(pdrDetail);
                    //This for search.
                    var spdDetail = new SearchablePaymentDetails
                                    (
                        detail.TransNo, detail.FamilyMember.Code, detail.FamilyMember.FullName,
                        detail.Payment.PeriodSetting.YearPart, detail.Payment.PaymentSequence.SequenceDescription,
                        detail.Payment.Amount, detail.FamilyMember.Shares,
                        (detail.Payment.Amount * detail.FamilyMember.Shares),
                        history.AmountPaid, history.Loan.LoanType.LoanDescription,
                        history.Loan.Remarks, detail.AmountDue, detail.NetPayments, detail.FamilyMember.Sex, false
                                    );
                    _seacrhablePaymentDetails.Add(spdDetail);
                }
                _uiLoansHistory.Clear();
            }
            else
            {
                var pdr = new PaymentDetailsReport
                          (
                    detail.TransNo, detail.FamilyMember.Code, detail.FamilyMember.FullName,
                    detail.Payment.PeriodSetting.YearPart, detail.Payment.PaymentSequence.SequenceDescription,
                    detail.Payment.Amount, detail.FamilyMember.Shares,
                    (detail.Payment.Amount * detail.FamilyMember.Shares), 0.00M, null,
                    null, detail.AmountDue, detail.NetPayments, detail.FamilyMember.Sex
                          );
                PaymentDetails.Add(pdr);
                var spd = new SearchablePaymentDetails
                          (
                    detail.TransNo, detail.FamilyMember.Code, detail.FamilyMember.FullName,
                    detail.Payment.PeriodSetting.YearPart, detail.Payment.PaymentSequence.SequenceDescription,
                    detail.Payment.Amount, detail.FamilyMember.Shares,
                    (detail.Payment.Amount * detail.FamilyMember.Shares), 0.00M, null,
                    null, detail.AmountDue, detail.NetPayments, detail.FamilyMember.Sex, true
                          );
                _seacrhablePaymentDetails.Add(spd);
            }
            ProgressCounter = p;
            ProgCurrent     = currMember;

            //};
            //Dispatcher.Invoke(action, null);
        }