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); }
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); }