>>var invoicesList = from invoices in _dbSet.Where(x => x.Account == accountName && x.Hidden == false) >> let balance = (from transact in _siriusContext.Transact where transact.InvoiceNo == invoices.InvoiceNo >> select transact).Sum(c=>c.Extension) >> select new InvoicesList >> { >> InvoiceNo = invoices.InvoiceNo, >> Account = invoices.Account, >> Hidden = invoices.Hidden, >> Descrip = invoices.Descrip1, >> Created = invoices.DateTime, >> Finalized = invoices.Finalized, >> Balance = (decimal?)balance??0 >> };>>
public IEnumerable<InvoicesList> GetByAccountName(string accountName, bool onlyInvoicesList = true, bool showFinalized = false) { var invoicesList = _dbSet.Where(x => x.Account == accountName && x.Hidden == false). Select(x => new InvoicesList { InvoiceNo = x.InvoiceNo, Account = x.Account, Hidden = x.Hidden}); if (!onlyInvoicesList) { invoicesList = from invoices in _dbSet.Where(x => x.Account == accountName && x.Hidden == false) let balance = (from transact in _siriusContext.Transact where transact.InvoiceNo == invoices.InvoiceNo select transact).Sum(c => c.Extension) select new InvoicesList { InvoiceNo = invoices.InvoiceNo, Account = invoices.Account, Hidden = invoices.Hidden, Descrip = invoices.Descrip1, Created = invoices.DateTime, Finalized = invoices.Finalized, Balance = (decimal?)balance ?? 0 }; } if (showFinalized) { invoicesList = invoicesList.Where(x => x.Finalized == true); } return invoicesList; }