public List <SalesReport> GetSalesReports(string user, DateTime startDate, DateTime endDate) { List <SalesReport> report = new List <SalesReport>(); using (_ctx = new GuildCarsEntities()) { try { if (user != null) { var getUser = _ctx.GetUserById(user).FirstOrDefault(); string userName = getUser.UserName; var list = _ctx.SalesReport(userName, startDate, endDate).ToList(); foreach (var r in list) { SalesReport newReport = new SalesReport(); newReport.User = r.SalesPerson; newReport.TotalSales = decimal.Parse(r.TotalValue.ToString()); newReport.TotalVehicles = int.Parse(r.TotalVehicles.ToString()); report.Add(newReport); } report = report.Where(u => u.User == userName).ToList(); } if (user == null && startDate.ToString() == "1/1/1970 12:00:00 AM" && endDate.ToString() == "1/1/2150 12:00:00 AM") { var list = _ctx.AllSalesReports().ToList(); foreach (var r in list) { SalesReport newReport = new SalesReport(); newReport.User = r.SalesPerson; newReport.TotalSales = decimal.Parse(r.TotalValue.ToString()); newReport.TotalVehicles = int.Parse(r.TotalVehicles.ToString()); report.Add(newReport); } } if (user == null && startDate.ToString() != "1/1/1970 12:00:00 AM" || endDate.ToString() != "1/1/2150 12:00:00 AM") { var list = _ctx.SalesReportByDate(startDate, endDate).ToList(); foreach (var r in list) { SalesReport newReport = new SalesReport(); newReport.User = r.SalesPerson; newReport.TotalSales = decimal.Parse(r.TotalValue.ToString()); newReport.TotalVehicles = int.Parse(r.TotalVehicles.ToString()); report.Add(newReport); } } } catch (Exception ex) { throw ex; } } return(report); }