public ActionResult Salesreports(string username)
        {
            EmployeeRepo       erepo   = new EmployeeRepo();
            SaleReportVM       model   = new SaleReportVM();
            List <SalesReport> reports = new List <SalesReport>();
            List <Employee>    Users   = erepo.GetAllEmployees();

            model.InventoryReport = erepo.GetInventoryReport();
            foreach (Employee u in Users.Where(u => u.RoleName.ToLower() == "sales"))
            {
                SalesReport current = erepo.GetSalesReportByName(u.UserName);
                current.Sales = erepo.GetListofSales(u.UserName);
                reports.Add(current);
            }

            model.Reports = reports;
            model.SetSalesStaff(reports);
            return(View(model));
        }
        public ActionResult SpecifiedSalesReport(SaleReportVM model)
        {
            EmployeeRepo       erepo   = new EmployeeRepo();
            List <SalesReport> reports = new List <SalesReport>();
            SalesReport        current = erepo.GetSalesReportByName(model.SelectedUser);
            SaleReportVM       model2  = new SaleReportVM();

            model2.SelectedUser   = model.SelectedUser;
            model2.FromDateString = model.FromDateString;
            model2.ToDateString   = model.ToDateString;
            model2.Reports        = new List <SalesReport>();
            List <Sales> sales = erepo.GetListofSales(model2.SelectedUser);

            if (string.IsNullOrWhiteSpace(model.ToDateString) && string.IsNullOrWhiteSpace(model.FromDateString))
            {
                current.Sales = sales;
                model2.Reports.Add(current);
            }

            if (!string.IsNullOrWhiteSpace(model2.FromDateString) && string.IsNullOrWhiteSpace(model2.ToDateString))
            {
                DateTime     FromDate   = new DateTime();
                bool         isdatefrom = DateTime.TryParse(model2.FromDateString, out FromDate);
                List <Sales> salesfrom  = new List <Sales>();
                if (isdatefrom)
                {
                    foreach (Sales s in sales)
                    {
                        if (DateTime.Compare(s.DateSold, FromDate) >= 0)
                        {
                            salesfrom.Add(s);
                        }
                    }
                    current.Sales = salesfrom;
                    model2.Reports.Add(current);
                }
                else
                {
                    current.Sales = sales;
                    model2.Reports.Add(current);
                }
            }
            if (!string.IsNullOrEmpty(model2.ToDateString) && string.IsNullOrWhiteSpace(model2.FromDateString))
            {
                DateTime     ToDate   = new DateTime();
                List <Sales> salesto  = new List <Sales>();
                bool         isdateto = DateTime.TryParse(model2.ToDateString, out ToDate);
                if (isdateto)
                {
                    foreach (Sales s in sales)
                    {
                        if (DateTime.Compare(s.DateSold, ToDate) <= 0)
                        {
                            salesto.Add(s);
                        }
                    }
                    current.Sales = salesto;
                    model2.Reports.Add(current);
                }
                else
                {
                    current.Sales = sales;
                    model2.Reports.Add(current);
                }
            }
            if ((!string.IsNullOrEmpty(model.ToDateString) && (!string.IsNullOrWhiteSpace(model.FromDateString))))
            {
                DateTime     FromDate   = new DateTime();
                DateTime     ToDate     = new DateTime();
                bool         isdatefrom = DateTime.TryParse(model.FromDateString, out FromDate);
                bool         isdateto   = DateTime.TryParse(model.ToDateString, out ToDate);
                List <Sales> spansales  = new List <Sales>();
                if (isdateto && isdatefrom)
                {
                    foreach (Sales s in sales)
                    {
                        if (DateTime.Compare(s.DateSold, ToDate) <= 0 && DateTime.Compare(s.DateSold, FromDate) >= 0)
                        {
                            spansales.Add(s);
                        }
                    }
                    current.Sales = spansales;
                    model2.Reports.Add(current);
                }
                else
                {
                    current.Sales = sales;
                    model2.Reports.Add(current);
                }
            }
            return(View(model2));
        }