private ICollection <MonthIncomeExpense> GetReports(int year) { var months = new AllMonth(); var a = months.AllMonthNames; var b = _db.Expanses.MonthlyAmounts(year); var c = _db.Selling.MonthlyAmounts(year); var result = (from m in months.AllMonthNames //from e in _db.Expanses.MonthlyAmounts(year).Where(x => x.MonthNumber == m.MonthNumber).DefaultIfEmpty() //from s in _db.Selling.MonthlyAmounts(year).Where(i => i.MonthNumber == m.MonthNumber).DefaultIfEmpty() join e in _db.Expanses.MonthlyAmounts(year) on m.MonthNumber equals e.MonthNumber into expanse from e in expanse.DefaultIfEmpty() join s in _db.Selling.MonthlyAmounts(year) on m.MonthNumber equals s.MonthNumber into sell from s in sell.DefaultIfEmpty() select new MonthIncomeExpense { Month = m.Month, Income = s?.Amount ?? 0, Expense = e?.Amount ?? 0 }).ToList(); return(result ?? new List <MonthIncomeExpense>());; }
private ICollection <MonthIncomeExpenseNet> GetReports(int year) { var months = new AllMonth(); var result = (from m in months.AllMonthNames join e in _db.Expanses.MonthlyAmounts(year) on m.MonthNumber equals e.MonthNumber into expanse from e in expanse.DefaultIfEmpty() join s in _db.Selling.MonthlyAmounts(year) on m.MonthNumber equals s.MonthNumber into sell from s in sell.DefaultIfEmpty() select new MonthIncomeExpenseNet { Month = m.Month, Income = s?.Amount ?? 0, Expense = e?.Amount ?? 0, Net = (s?.Amount ?? 0) - (e?.Amount ?? 0) }).ToList(); return(result ?? new List <MonthIncomeExpenseNet>()); }