public List <ClientPaymentsVM> GetPaymentAll() { List <ClientPaymentsVM> clientPaymentList = new List <ClientPaymentsVM>(); var clientData = unitOfWork.TblClientRepository.Get().ToList(); foreach (var client in clientData) { ClientPaymentsVM clientVM = new ClientPaymentsVM(); clientVM.ClientID = client.ClientID; clientVM.ClientName = client.ClientName; List <tblPayment> paymentList = unitOfWork.TblPaymentRepository.Get(a => a.ClientID == clientVM.ClientID).ToList(); List <tblPayment> tblclientPaymentList = paymentList.GroupBy(x => x.ClientID).Select(x => x.FirstOrDefault()).ToList(); clientVM.PaymentAmount = paymentList.Sum(a => a.PaymentAmount).Value; clientVM.NoOfClientRequest = unitOfWork.TblClientRequestHeaderRepository.Get(x => x.ClientID == clientVM.ClientID).Count(); List <tblQuotationHeader> quotatioHeaderList = unitOfWork.TblQuotationHeaderRepository.Get().ToList(); foreach (var qoutationList in quotatioHeaderList) { var clientRequestID = qoutationList.ClientRequestHeaderID; clientVM.NoOfQuitation = unitOfWork.TblClientRequestHeaderRepository.Get(x => x.ClientID == clientVM.ClientID).GroupBy (y => y.ClientRequestHeaderID == qoutationList.ClientRequestHeaderID).Select(y => y.FirstOrDefault()).ToList().Count(); } clientPaymentList.Add(clientVM); } return(clientPaymentList); }
public List <ClientPaymentsVM> GetClientPaymentforDashboard() { try { var clientData = unitOfWork.TblClientRepository.Get().ToList(); List <ClientPaymentsVM> clientVMList = new List <ClientPaymentsVM>(); foreach (var Client in clientData) { ClientPaymentsVM clientVM = new ClientPaymentsVM(); clientVM.ClientID = Client.ClientID; clientVM.ClientName = Client.ClientName; List <tblPayment> paymentList = unitOfWork.TblPaymentRepository.Get(a => a.ClientID == clientVM.ClientID).ToList(); List <tblPayment> clientPaymentList = paymentList.GroupBy(x => x.ClientID).Select(x => x.FirstOrDefault()).ToList(); //clientVM.PaymentList = clientPaymentList; clientVM.PaymentAmount = paymentList.Sum(a => a.PaymentAmount).Value; clientVMList.Add(clientVM); } return(clientVMList); } catch (Exception ex) { throw ex; } }