コード例 #1
0
        public PartnerInvoiceSettlementViewModel GetPartnerSettlementList(string partnerMainC, string partnerSubC)
        {
            PartnerInvoiceSettlementViewModel result = new PartnerInvoiceSettlementViewModel();

            // get invoice info
            var invoice          = _partnerRepository.Query(cus => cus.PartnerMainC == partnerMainC && cus.PartnerSubC == partnerSubC).FirstOrDefault();
            var invoiceViewModel = Mapper.Map <Partner_M, PartnerInvoiceViewModel>(invoice);

            result.Invoice = invoiceViewModel;

            var settlementList          = _partnerSettlementRepository.Query(set => set.PartnerMainC == partnerMainC && set.PartnerSubC == partnerSubC).OrderBy(i => i.ApplyD).ToList();
            var settlementListViewModel = Mapper.Map <List <PartnerSettlement_M>, List <PartnerSettlementViewModel> >(settlementList);

            result.SettlementList = settlementListViewModel;

            return(result);
        }
コード例 #2
0
        public PartnerInvoiceSettlementViewModel GetPartnerByMainCodeSubCode(string mainCode, string subCode)
        {
            var result  = new PartnerInvoiceSettlementViewModel();
            var partner = _partnerRepository.Query(i => i.PartnerMainC == mainCode && i.PartnerSubC == subCode).FirstOrDefault();

            if (partner != null)
            {
                var viewModel = Mapper.Map <Partner_M, PartnerViewModel>(partner);
                var index     = FindIndex(partner.PartnerMainC, partner.PartnerSubC);
                viewModel.PartnerIndex = index;
                result.Partner         = viewModel;

                if (!string.IsNullOrEmpty(viewModel.InvoiceMainC) && !string.IsNullOrEmpty(viewModel.InvoiceSubC))
                {
                    var invoice          = _partnerRepository.Query(cus => cus.PartnerMainC == viewModel.InvoiceMainC && cus.PartnerSubC == viewModel.InvoiceSubC).FirstOrDefault();
                    var invoiceViewModel = Mapper.Map <Partner_M, PartnerInvoiceViewModel>(invoice);
                    result.Invoice = invoiceViewModel;

                    // get init partner payment
                    var initPartnerPayment = _partnerBalanceRepository.Get(
                        p => p.PartnerMainC == mainCode & p.PartnerSubC == "000" & p.PartnerBalanceD == new DateTime(1900, 1, 1));
                    if (initPartnerPayment != null)
                    {
                        result.Invoice.InitPartnerPayment = initPartnerPayment.TotalAmount;
                    }

                    // get settlement list
                    var settlementList = _partnerSettlementRepository.Query(set => set.PartnerMainC == viewModel.InvoiceMainC && set.PartnerSubC == viewModel.InvoiceSubC).OrderBy(i => i.ApplyD).ToList();
                    result.SettlementList = Mapper.Map <List <PartnerSettlement_M>, List <PartnerSettlementViewModel> >(settlementList);
                }

                result.Status = Convert.ToInt32(PartnerStatus.Edit);
            }
            else
            {
                partner = _partnerRepository.Query(i => i.PartnerMainC == mainCode && i.PartnerSubC == "000").FirstOrDefault();
                if (partner != null)
                {
                    var viewModel = Mapper.Map <Partner_M, PartnerViewModel>(partner);
                    result.Partner             = viewModel;
                    result.Partner.PartnerSubC = subCode;

                    if (!string.IsNullOrEmpty(viewModel.InvoiceMainC) && !string.IsNullOrEmpty(viewModel.InvoiceSubC))
                    {
                        var invoice          = _partnerRepository.Query(cus => cus.PartnerMainC == viewModel.InvoiceMainC && cus.PartnerSubC == viewModel.InvoiceSubC).FirstOrDefault();
                        var invoiceViewModel = Mapper.Map <Partner_M, PartnerInvoiceViewModel>(invoice);
                        result.Invoice = invoiceViewModel;

                        // get init partner payment
                        var initPartnerPayment = _partnerBalanceRepository.Get(
                            p => p.PartnerMainC == mainCode & p.PartnerSubC == "000" & p.PartnerBalanceD == new DateTime(1900, 1, 1));
                        if (initPartnerPayment != null)
                        {
                            result.Invoice.InitPartnerPayment = initPartnerPayment.TotalAmount;
                        }

                        // get settlement list
                        var settlementList = _partnerSettlementRepository.Query(set => set.PartnerMainC == viewModel.InvoiceMainC && set.PartnerSubC == viewModel.InvoiceSubC).OrderBy(i => i.ApplyD).ToList();
                        result.SettlementList = Mapper.Map <List <PartnerSettlement_M>, List <PartnerSettlementViewModel> >(settlementList);
                    }
                    result.Status = Convert.ToInt32(PartnerStatus.Add);
                }
                else
                {
                    result.Status = Convert.ToInt32(PartnerStatus.Add);
                }
            }
            return(result);
        }