Ejemplo n.º 1
0
        // GET: Report
        public ActionResult Index()
        {
            IList <UserSaleCommissionReport> listOfSalesReports = _reportDataProcessor.LoadUserCommissionReport();
            IList <SalesPerson> listOfSalesPeople = _userDataProcessor.FindAllSalesPeople();

            if (User.IsInRole(CompanyRoles.AdminRole))
            {
                foreach (SalesPerson sp in listOfSalesPeople)
                {
                    double TotalSalesMade    = listOfSalesReports.Where(y => y.Id == sp.Id).Sum(x => x.SalesAmount);
                    double commissionPercent = listOfSalesReports.Where(y => y.Id == sp.Id).Select(y => y.CommissionPercent).FirstOrDefault();
                    sp.TotalCommission = commissionPercent / 100 * TotalSalesMade;
                }
                ModelInventoryChartData();
                return(View("AdminReportIndex", listOfSalesPeople));
            }
            else
            {
                //will need to refractor this and Detail(string id) they both do the same thing..
                string id = User.Identity.GetUserId();
                _userSaleReportViewModel.SalePerson = listOfSalesPeople.Where(x => x.Id == id).FirstOrDefault();
                foreach (UserSaleCommissionReport uscr in listOfSalesReports)
                {
                    uscr.CommissionAmount = uscr.SalesAmount * uscr.CommissionPercent / 100;
                }
                double TotalSalesMade    = listOfSalesReports.Where(y => y.Id == id).Sum(x => x.SalesAmount);
                double commissionPercent = listOfSalesReports.Where(y => y.Id == id).Select(y => y.CommissionPercent).FirstOrDefault();
                _userSaleReportViewModel.SalePerson.TotalCommission = commissionPercent / 100 * TotalSalesMade;

                _userSaleReportViewModel.UserSaleCommissionReport = listOfSalesReports.Where(x => x.Id == id).ToList();
                return(View("EmployeeReportIndex", _userSaleReportViewModel));
            }
        }