//public ActionResult LoginAd() //{ // var banner = _adCampaignService.GetRandomAds("Login", "Click", "", 1); // var b = banner.FirstOrDefault(); // if (b == null || _workContext.CurrentCustomer.IsAdmin()) // { // return RedirectToAction("Index"); // } // return View(b); //} public ActionResult Index() { if (_workContext.CurrentCustomer.IsInCustomerRole("Administrators")) { var allRoles = _customerService.GetAllCustomerRoles(true); var registeredRoleId = allRoles.First(x => x.SystemName.IsCaseInsensitiveEqual(SystemCustomerRoleNames.Registered)).Id; AdminDashboardModel model = new AdminDashboardModel(); model.RegisteredMembers = _customerService.GetAllCustomers(null, null, new int[] { registeredRoleId }, null, null, null, null, 0, 0, null, null, null, false, null, 0, int.MaxValue).TotalCount; model.ActiveMembers = _customerPlanService.GetAllCustomerPlans().Select(x => x.CustomerId).Distinct().Count(); int[] StatusIds = "2".ToIntArray(); int[] TranscationTypeIds = { (int)TransactionType.Withdrawal }; var transcation = _transactionService.GetAllTransactions(0, 0, null, null, StatusIds, TranscationTypeIds, 0, int.MaxValue); model.CompletedWithdrawals = transcation.Sum(x => x.Amount); StatusIds = "1".ToIntArray(); transcation = _transactionService.GetAllTransactions(0, 0, null, null, StatusIds, TranscationTypeIds, 0, int.MaxValue); model.PendingWithdrawals = transcation.Sum(x => x.Amount); StatusIds = "2".ToIntArray(); int[] TranscationTypeIdsC = { (int)TransactionType.Commission }; transcation = _transactionService.GetAllTransactions(0, 0, null, null, StatusIds, TranscationTypeIdsC, 0, int.MaxValue); model.CommissionPaid = transcation.Sum(x => x.Amount); var plans = _planService.GetAllPlans(); double totalInvestors = 0, totalInvestment = 0, totalROIPaid = 0, totalROIToPay = 0, totalPendingROI = 0; foreach (var plan in plans) { var plandetails = _customerPlanService.GetAllCustomerPlans(0, plan.Id).ToList(); DashboardPlan dashboardPlan = new DashboardPlan(); dashboardPlan.Name = plan.Name; dashboardPlan.TotalInvestors = plandetails.Select(x => x.CustomerId).Distinct().Count().ToString(); dashboardPlan.TotalInvestment = plandetails.Sum(x => x.AmountInvested).ToString() + " " + _workContext.WorkingCurrency.CurrencyCode; dashboardPlan.ROIPaid = plandetails.Sum(x => x.ROIPaid).ToString() + " " + _workContext.WorkingCurrency.CurrencyCode; dashboardPlan.ROIToPay = plandetails.Sum(x => x.ROIToPay).ToString() + " " + _workContext.WorkingCurrency.CurrencyCode; dashboardPlan.PendingROI = (plandetails.Sum(x => x.ROIToPay) - plandetails.Sum(x => x.ROIPaid)).ToString() + " " + _workContext.WorkingCurrency.CurrencyCode; dashboardPlan.TotalInvestorsInt = plandetails.Select(x => x.CustomerId).Distinct().Count(); dashboardPlan.TotalInvestmentInt = plandetails.Sum(x => x.AmountInvested); dashboardPlan.ROIPaidInt = plandetails.Sum(x => x.ROIPaid); dashboardPlan.ROIToPayInt = plandetails.Sum(x => x.ROIToPay); dashboardPlan.PendingROIInt = (plandetails.Sum(x => x.ROIToPay) - plandetails.Sum(x => x.ROIPaid)); totalInvestors = Convert.ToInt32(totalInvestors) + Convert.ToInt32(dashboardPlan.TotalInvestorsInt); totalInvestment = Convert.ToDouble(totalInvestment) + Convert.ToDouble(dashboardPlan.TotalInvestmentInt); totalROIPaid = Convert.ToDouble(totalROIPaid) + Convert.ToDouble(dashboardPlan.ROIPaidInt); totalROIToPay = Convert.ToDouble(totalROIToPay) + Convert.ToDouble(dashboardPlan.ROIToPayInt); totalPendingROI = Convert.ToDouble(totalPendingROI) + Convert.ToDouble(dashboardPlan.PendingROIInt); model.Plans.Add(dashboardPlan); } DashboardPlan plantotal = new DashboardPlan(); plantotal.Name = "Total"; plantotal.TotalInvestors = totalInvestors.ToString(); plantotal.TotalInvestment = totalInvestment.ToString() + " " + _workContext.WorkingCurrency.CurrencyCode; plantotal.ROIPaid = totalROIPaid.ToString() + " " + _workContext.WorkingCurrency.CurrencyCode; plantotal.ROIToPay = totalROIToPay.ToString() + " " + _workContext.WorkingCurrency.CurrencyCode; plantotal.PendingROI = totalPendingROI.ToString() + " " + _workContext.WorkingCurrency.CurrencyCode; model.Plans.Add(plantotal); return(View("Dashboard", model)); } else { HomeModel model = new HomeModel(); model.ReferralLink = _services.StoreContext.CurrentStore.Url + "?r=" + _workContext.CurrentCustomer.Id; var id = _workContext.CurrentCustomer.Id; model.AvailableBalance = _customerService.GetAvailableBalance(id); //model.RepurchaseBalance = _customerService.GetRepurchaseBalance(id); model.CompletedWithdrawal = _customerService.GetCustomerCompletedWithdrawal(id); model.PendingWithdrawal = _customerService.GetCustomerPendingWithdrawal(id); model.TotalEarning = _customerService.GetCustomerTotalEarnings(id); model.TotalIncome = model.TotalEarning; model.CyclerIncome = _customerService.GetCustomerCyclerBonus(id); model.DirectBonus = _customerService.GetCustomerDirectBonus(id); model.UnilevelEarning = _customerService.GetCustomerUnilevelBonus(id); model.PoolShare = _customerService.GetCustomerROI(id) + _customerService.GetRepurchaseROI(id); model.TotalReferral = _customerService.GetCustomerReferral(id).Count(); model.InvestorId = "MTH" + id.ToString(); model.Name = _workContext.CurrentCustomer.GetFullName(); model.ReferredBy = _customerService.GetCustomerById(_workContext.CurrentCustomer.AffiliateId).GetFullName(); model.RegistrationDate = _workContext.CurrentCustomer.CreatedOnUtc.ToLongDateString(); model.Status = _workContext.CurrentCustomer.Transaction.Where(x => x.StatusId == 2 && x.TranscationTypeId == 1).Sum(x => x.Amount) > 0 ? "Active" : "Inactive"; model.VacationModelExpiryDate = _workContext.CurrentCustomer.GetAttribute <DateTime>(SystemCustomerAttributeNames.VacationModeExpiryDate).ToShortDateString(); var lastsurfeddate = _workContext.CurrentCustomer.GetAttribute <DateTime>(SystemCustomerAttributeNames.LastSurfDate); if (lastsurfeddate.Date < DateTime.Today) { model.NoOfAdsToSurf = 10; } else { model.NoOfAdsToSurf = _workContext.CurrentCustomer.GetAttribute <int>(SystemCustomerAttributeNames.NoOfAdsSurfed); int ads = (10 - model.NoOfAdsToSurf); if (ads < 0) { model.NoOfAdsToSurf = 0; } else { model.NoOfAdsToSurf = (10 - model.NoOfAdsToSurf); } } var vacationdate = _workContext.CurrentCustomer.GetAttribute <DateTime>(SystemCustomerAttributeNames.VacationModeExpiryDate); if (vacationdate > DateTime.Today) { model.NoOfAdsToSurf = 0; } ViewBag.CurrencyCode = _workContext.WorkingCurrency.CurrencyCode; return(View(model)); } }
public ActionResult Index() { if (_workContext.CurrentCustomer.IsInCustomerRole("Administrators")) { var allRoles = _customerService.GetAllCustomerRoles(true); var registeredRoleId = allRoles.First(x => x.SystemName.IsCaseInsensitiveEqual(SystemCustomerRoleNames.Registered)).Id; AdminDashboardModel model = new AdminDashboardModel(); model.RegisteredMembers = _customerService.GetAllCustomers(null, null, new int[] { registeredRoleId }, null, null, null, null, 0, 0, null, null, null, false, null, 0, int.MaxValue).TotalCount; model.ActiveMembers = _customerPlanService.GetAllCustomerPlans().Select(x => x.CustomerId).Distinct().Count(); model.ActiveMembers = model.ActiveMembers + _boardService.GetAllPosition(1, 0, false, 0, int.MaxValue).Select(x => x.CustomerId).Distinct().Count(); int[] StatusIds = "2".ToIntArray(); int[] TranscationTypeIds = { (int)TransactionType.Withdrawal }; var transcation = _transactionService.GetAllTransactions(0, 0, null, null, StatusIds, TranscationTypeIds, 0, int.MaxValue); model.CompletedWithdrawals = transcation.Sum(x => x.Amount); StatusIds = "1".ToIntArray(); transcation = _transactionService.GetAllTransactions(0, 0, null, null, StatusIds, TranscationTypeIds, 0, int.MaxValue); model.PendingWithdrawals = transcation.Sum(x => x.Amount); StatusIds = "2".ToIntArray(); int[] TranscationTypeIdsC = { (int)TransactionType.Commission }; transcation = _transactionService.GetAllTransactions(0, 0, null, null, StatusIds, TranscationTypeIdsC, 0, int.MaxValue); model.CommissionPaid = transcation.Sum(x => x.Amount); StatusIds = "2".ToIntArray(); int[] TranscationTypeIdsD = { (int)TransactionType.Funding }; transcation = _transactionService.GetAllTransactions(0, 0, null, null, StatusIds, TranscationTypeIdsD, 0, int.MaxValue); model.TotalDeposit = transcation.Sum(x => x.Amount); model.TodaysDeposit = transcation.Where(x => x.TransactionDate.Day == DateTime.Today.Day && x.TransactionDate.Month == DateTime.Today.Month && x.TransactionDate.Year == DateTime.Today.Year).Sum(x => x.Amount); StatusIds = "1,2".ToIntArray(); transcation = _transactionService.GetAllTransactions(0, 0, null, null, StatusIds, TranscationTypeIds, 0, int.MaxValue); model.TodaysWithdrawal = transcation.Where(x => x.TransactionDate.Day == DateTime.Today.Day && x.TransactionDate.Month == DateTime.Today.Month && x.TransactionDate.Year == DateTime.Today.Year).Sum(x => x.Amount); var plans = _planService.GetAllPlans(); double totalInvestors = 0, totalInvestment = 0, totalROIPaid = 0, totalROIToPay = 0, totalPendingROI = 0; foreach (var plan in plans) { var plandetails = _customerPlanService.GetAllCustomerPlans(0, plan.Id).ToList(); DashboardPlan dashboardPlan = new DashboardPlan(); dashboardPlan.Name = plan.Name; dashboardPlan.TotalInvestors = plandetails.Select(x => x.CustomerId).Distinct().Count().ToString(); dashboardPlan.TotalInvestment = plandetails.Sum(x => x.AmountInvested).ToString() + " " + _workContext.WorkingCurrency.CurrencyCode; dashboardPlan.ROIPaid = plandetails.Sum(x => x.ROIPaid).ToString() + " " + _workContext.WorkingCurrency.CurrencyCode; dashboardPlan.ROIToPay = plandetails.Sum(x => x.ROIToPay).ToString() + " " + _workContext.WorkingCurrency.CurrencyCode; dashboardPlan.PendingROI = (plandetails.Sum(x => x.ROIToPay) - plandetails.Sum(x => x.ROIPaid)).ToString() + " " + _workContext.WorkingCurrency.CurrencyCode; dashboardPlan.TotalInvestorsInt = plandetails.Select(x => x.CustomerId).Distinct().Count(); dashboardPlan.TotalInvestmentInt = plandetails.Sum(x => x.AmountInvested); dashboardPlan.ROIPaidInt = plandetails.Sum(x => x.ROIPaid); dashboardPlan.ROIToPayInt = plandetails.Sum(x => x.ROIToPay); dashboardPlan.PendingROIInt = (plandetails.Sum(x => x.ROIToPay) - plandetails.Sum(x => x.ROIPaid)); totalInvestors = Convert.ToInt32(totalInvestors) + Convert.ToInt32(dashboardPlan.TotalInvestorsInt); totalInvestment = Convert.ToDouble(totalInvestment) + Convert.ToDouble(dashboardPlan.TotalInvestmentInt); totalROIPaid = Convert.ToDouble(totalROIPaid) + Convert.ToDouble(dashboardPlan.ROIPaidInt); totalROIToPay = Convert.ToDouble(totalROIToPay) + Convert.ToDouble(dashboardPlan.ROIToPayInt); totalPendingROI = Convert.ToDouble(totalPendingROI) + Convert.ToDouble(dashboardPlan.PendingROIInt); model.Plans.Add(dashboardPlan); } DashboardPlan plantotal = new DashboardPlan(); plantotal.Name = "Total"; plantotal.TotalInvestors = totalInvestors.ToString(); plantotal.TotalInvestment = totalInvestment.ToString() + " " + _workContext.WorkingCurrency.CurrencyCode; plantotal.ROIPaid = totalROIPaid.ToString() + " " + _workContext.WorkingCurrency.CurrencyCode; plantotal.ROIToPay = totalROIToPay.ToString() + " " + _workContext.WorkingCurrency.CurrencyCode; plantotal.PendingROI = totalPendingROI.ToString() + " " + _workContext.WorkingCurrency.CurrencyCode; model.Plans.Add(plantotal); return(View("Dashboard", model)); } else { HomeModel model = new HomeModel(); model.ReferralLink = _services.StoreContext.CurrentStore.Url + "?r=" + _workContext.CurrentCustomer.Id; var id = _workContext.CurrentCustomer.Id; model.AvailableBalance = _customerService.GetAvailableBalance(id); //model.RepurchaseBalance = _customerService.GetRepurchaseBalance(id); model.CompletedWithdrawal = _customerService.GetCustomerCompletedWithdrawal(id); model.PendingWithdrawal = _customerService.GetCustomerPendingWithdrawal(id); model.TotalEarning = _customerService.GetCustomerTotalEarnings(id); model.TotalIncome = model.TotalEarning; model.CyclerIncome = _customerService.GetCustomerCyclerBonus(id); model.DirectBonus = _customerService.GetCustomerDirectBonus(id); model.UnilevelEarning = _customerService.GetCustomerUnilevelBonus(id); model.PoolShare = _customerService.GetCustomerROI(id) + _customerService.GetRepurchaseROI(id); model.TotalReferral = _customerService.GetCustomerDirectReferral(id).Count(); model.InvestorId = id.ToString(); model.Name = _workContext.CurrentCustomer.GetFullName(); model.ReferredBy = _customerService.GetCustomerById(_workContext.CurrentCustomer.AffiliateId).GetFullName(); model.RegistrationDate = _workContext.CurrentCustomer.CreatedOnUtc.ToLongDateString(); model.Status = _workContext.CurrentCustomer.CustomerPosition.Count() > 0 ? "Active" : "Inactive"; model.VacationModelExpiryDate = _workContext.CurrentCustomer.GetAttribute <DateTime>(SystemCustomerAttributeNames.VacationModeExpiryDate).ToShortDateString(); var custPositions = _boardService.GetAllPosition(0, _workContext.CurrentCustomer.Id, false, 0, int.MaxValue).ToList(); var cycledPositions = _boardService.GetAllPosition(0, _workContext.CurrentCustomer.Id, true, 0, int.MaxValue).ToList(); var lastsurfeddate = _workContext.CurrentCustomer.GetAttribute <DateTime>(SystemCustomerAttributeNames.LastSurfDate); ViewBag.Standard = custPositions.Where(x => x.BoardId == 1).Count(); ViewBag.StandardCycled = cycledPositions.Where(x => x.BoardId == 1 && x.IsCycled == true).Count(); ViewBag.Business = custPositions.Where(x => x.BoardId == 2).Count(); ViewBag.BusinessCycled = cycledPositions.Where(x => x.BoardId == 2 && x.IsCycled == true).Count(); ViewBag.Premium = custPositions.Where(x => x.BoardId == 3).Count(); ViewBag.PremiumCycled = cycledPositions.Where(x => x.BoardId == 3 && x.IsCycled == true).Count(); ViewBag.Ultimate = custPositions.Where(x => x.BoardId == 4).Count(); ViewBag.UltimateCycled = cycledPositions.Where(x => x.BoardId == 4 && x.IsCycled == true).Count(); ViewBag.Diamond = custPositions.Where(x => x.BoardId == 5).Count(); ViewBag.DiamondCycled = cycledPositions.Where(x => x.BoardId == 5 && x.IsCycled == true).Count(); ViewBag.CustomerId = _workContext.CurrentCustomer.Id; //if(lastsurfeddate.Date < DateTime.Today) //{ // model.NoOfAdsToSurf = 10; //} //else //{ // model.NoOfAdsToSurf = _workContext.CurrentCustomer.GetAttribute<int>(SystemCustomerAttributeNames.NoOfAdsSurfed); // int ads = (10 - model.NoOfAdsToSurf); // if (ads < 0) // { // model.NoOfAdsToSurf = 0; // } // else // { // model.NoOfAdsToSurf = (10 - model.NoOfAdsToSurf); // } //} //var vacationdate = _workContext.CurrentCustomer.GetAttribute<DateTime>(SystemCustomerAttributeNames.VacationModeExpiryDate); //if(vacationdate > DateTime.Today) //{ // model.NoOfAdsToSurf = 0; //} ViewBag.CurrencyCode = _workContext.WorkingCurrency.CurrencyCode; var substrans = _workContext.CurrentCustomer.Transaction.Where(x => x.StatusId == 2 && x.TranscationNote == "subscription").FirstOrDefault(); if (substrans != null) { var noOfDays = substrans.NoOfPosition * 30; ViewBag.SubscriptionDate = substrans.CreatedOnUtc.AddDays(noOfDays).ToShortDateString(); } return(View(model)); } }