public ActionResult ProfitPayment(int id)
        {
            var userProfitManager = new UserProfitManager();

            ViewBag.UserId           = id;
            ViewBag.PreviousPayments = db.UserProfitPayments.Where(u => u.UserId == id).ToList();
            ViewBag.UnpayedProfit    = userProfitManager.CalculateUserProfit(id);
            return(View());
        }
        public ActionResult SideNav()
        {
            var user = db.Users.FirstOrDefault(u => u.UserEmail == User.Identity.Name);
            var userProfitManager = new UserProfitManager(db);
            var userPoint         = userProfitManager.GetUserPointsAmount(user);

            //var userProfit = userProfitManager.CalculateUserProfit(user);
            ViewBag.User      = user;
            ViewBag.UserPoint = userPoint;
            //ViewBag.UserProfit = userProfit;
            return(View());
        }
        public ActionResult AdminIntroducersChart()
        {
            var userProfitManager = new UserProfitManager(db);
            var user     = db.Users.FirstOrDefault(u => u.UserEmail == User.Identity.Name);
            var userCard = new IntroducersCardViewModel()
            {
                Id        = user.Id,
                UserImage = user.UserImage,
                Name      = $"{user.UserFirstName} {user.UserLastName}",
                Role      = user.Role.RoleTitle,
                Points    = userProfitManager.GetUserPointsAmount(user)
            };

            //var parent = db.Users.FirstOrDefault(u => u.UserCode == user.UserIdentifierCode);
            //var parentCard = new IntroducersCardViewModel()
            //{
            //    Id = parent.Id,
            //    UserImage = parent.UserImage,
            //    Name = $"{parent.UserFirstName} {parent.UserLastName}",
            //    Role = parent.Role.RoleTitle,
            //};

            var children     = db.Users.Where(u => u.UserIdentifierCode == user.UserCode).ToList();
            var childrenCard = new List <IntroducersCardViewModel>();

            foreach (var child in children)
            {
                var childCard = new IntroducersCardViewModel()
                {
                    Id        = child.Id,
                    UserImage = child.UserImage,
                    Name      = $"{child.UserFirstName} {child.UserLastName}",
                    Role      = child.Role.RoleTitle,
                    Points    = userProfitManager.GetUserPointsAmount(child)
                };
                childrenCard.Add(childCard);
            }

            var introducersChartVm = new IntroducersChartViewModel();

            introducersChartVm.User = userCard;
            //introducersChartVm.Parent = parentCard;
            introducersChartVm.Children = childrenCard;
            return(View(introducersChartVm));
        }
 public ActionResult ProfitPayment(UserProfitPayment payment)
 {
     try
     {
         payment.Date = DateTime.Now;
         db.UserProfitPayments.Add(payment);
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     catch (Exception)
     {
         var userProfitManager = new UserProfitManager();
         ViewBag.UserId           = payment.UserId;
         ViewBag.PreviousPayments = db.UserProfitPayments.Where(u => u.UserId == payment.UserId).ToList();
         ViewBag.UnpayedProfit    = userProfitManager.CalculateUserProfit(payment.UserId);
         return(View());
     }
 }