Example #1
0
 public ActionResult AddRewardUser()
 {
     using (var db = new PortalDb())
     {
         var logs = db.PaymentLogs.Where(n => n.OrderType == OrderType.Reward).ToList();
         var msg  = new List <RewardUser>();
         foreach (var paymentLog in logs)
         {
             var order    = db.Orders.Find(paymentLog.OrderId);
             var question = db.Questions.Find(order.QuestionId);
             var wallet   = db.Wallets.Find(paymentLog.ToWalletId);
             if (question != null)
             {
                 var ru = new RewardUser()
                 {
                     QuestionId = order.QuestionId,
                     UserId     = wallet.UserId,
                 };
                 msg.Add(ru);
             }
         }
         db.RewardUsers.AddRange(msg);
         db.SaveChanges();
     }
     return(Content("success AddRewardUser"));
 }
Example #2
0
        public ActionResult Create(RewardUser ObjRewardUser)
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            try
            {
                if (ModelState.IsValid)
                {
                    db.RewardUsers.Add(ObjRewardUser);
                    db.SaveChanges();

                    sb.Append("Sumitted");
                    return(Content(sb.ToString()));
                }
                else
                {
                    foreach (var key in this.ViewData.ModelState.Keys)
                    {
                        foreach (var err in this.ViewData.ModelState[key].Errors)
                        {
                            sb.Append(err.ErrorMessage + "<br/>");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                sb.Append("Error :" + ex.Message);
            }

            return(Content(sb.ToString()));
        }
Example #3
0
        public string UserRewardAndCommentAwarded(RewardUser rewardUser)
        {
            PostSolution solution = _context.PostSolutions.Include(x => x.Post).Where(x => x.ID.Equals(rewardUser.SolutionID)).FirstOrDefault();

            solution.isAwarded = 1; //comment awarded!!!



            int userID = solution.UserID;

            UserData user = _context.UserDatas.Where(x => x.ID.Equals(userID)).FirstOrDefault();

            user.Eko += rewardUser.Prize;

            _context.UserDatas.Update(user);
            _context.PostSolutions.Update(solution);

            Notification notify = new Notification();


            notify.UserID             = solution.UserID;
            notify.TypeOfNotification = 5; //myRewardedSolution = 5
            notify.isRead             = false;
            if (solution.UserType == 1)    // user 1, org 2
            {
                var userPom = _context.UserDatas.FirstOrDefault(x => x.ID == solution.UserID);


                notify.Title = "Vaše resenje " + solution.Text + " je nagrađeno ";
                //notify.Message = "Vase resenje " + solution.Text + " je nagradjeno ";
                notify.Message = DateTime.Now.ToString();
                notify.UserNotificationMakerPhoto = userPom.Photo;
            }
            else if (solution.UserType == 2)
            {
                var org = _context.Organisations.FirstOrDefault(x => x.ID == solution.UserID);

                notify.Title = "Vaše resenje " + solution.Text + " je nagrađeno ";
                //notify.Message = "Vase resenje " + solution.Text + " je nagradjeno ";
                notify.Message = DateTime.Now.ToString();
                notify.UserNotificationMakerPhoto = org.ImagePath;
            }
            notify.NewThingID = solution.ID;
            notify.UserNotificationMakerID = solution.Post.UserDataID;

            notify.NotificationForID = solution.Post.ID;

            if (notify.UserID != notify.UserNotificationMakerID && solution.UserType == 1)
            {
                _context.Notifications.Add(notify);
            }
            if (solution.UserType == 2)
            {
                _context.Notifications.Add(notify);
            }

            _context.SaveChanges();

            return("true");
        }
 public void AddRewardUser(int questionId, int userId)
 {
     if (!_rewarduseRepository.Table.Any(n => n.QuestionId == questionId && userId == n.UserId))
     {
         var ru = new RewardUser()
         {
             QuestionId = questionId,
             UserId     = userId,
         };
         _rewarduseRepository.Insert(ru);
     }
 }
Example #5
0
        // GET: /RewardUser/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            RewardUser ObjRewardUser = db.RewardUsers.Find(id);

            if (ObjRewardUser == null)
            {
                return(HttpNotFound());
            }
            return(View(ObjRewardUser));
        }
Example #6
0
        // GET: /RewardUser/MultiViewIndex/5
        public ActionResult MultiViewIndex(int?id)
        {
            RewardUser ObjRewardUser = db.RewardUsers.Find(id);

            ViewBag.IsWorking = 0;
            if (id > 0)
            {
                ViewBag.IsWorking = id;
                ViewBag.UserId    = new SelectList(db.Users, "Id", "Username", ObjRewardUser.UserId);
                ViewBag.RewardId  = new SelectList(db.Rewards, "Id", "Title", ObjRewardUser.RewardId);
            }

            return(View(ObjRewardUser));
        }
Example #7
0
        // GET: /RewardUser/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            RewardUser ObjRewardUser = db.RewardUsers.Find(id);

            if (ObjRewardUser == null)
            {
                return(HttpNotFound());
            }
            ViewBag.UserId   = new SelectList(db.Users, "Id", "Username", ObjRewardUser.UserId);
            ViewBag.RewardId = new SelectList(db.Rewards, "Id", "Title", ObjRewardUser.RewardId);

            return(View(ObjRewardUser));
        }
Example #8
0
        public ActionResult DeleteConfirmed(int id)
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            try
            {
                RewardUser ObjRewardUser = db.RewardUsers.Find(id);
                db.RewardUsers.Remove(ObjRewardUser);
                db.SaveChanges();

                sb.Append("Sumitted");
                return(Content(sb.ToString()));
            }
            catch (Exception ex)
            {
                sb.Append("Error :" + ex.Message);
            }

            return(Content(sb.ToString()));
        }
Example #9
0
 public string UserRewardAndCommentAwarded(RewardUser rewardUser)
 {
     return(_IUserDatasBL.UserRewardAndCommentAwarded(rewardUser));
 }
Example #10
0
        public Result <bool> CreateOrUpdateRewardUser(CreateRewardUserOptions options)
        {
            if (options == null)
            {
                return(Result <bool> .CreateFailed(StatusCode.BadRequest, "You have to login first"));
            }
            var rewardUserTest = GetRewardUserById(options.UserId, options.RewardId);

            if (rewardUserTest.Success) //update
            {
                var rewardUser = rewardUserTest.Data;
                var project    = projectService_.GetProjectByRewardId(options.RewardId).Data;

                if (rewardUser == null)
                {
                    return(Result <bool> .CreateFailed(StatusCode.BadRequest, $"Backer with {options.UserId} was not found"));
                }

                if (rewardUser.IsValidQuantity(options.Quantity))
                {
                    rewardUser.Quantity = options.Quantity + rewardUser.Quantity;
                }



                if (!projectService_.UpdateCurrentFund(project).Success)
                {
                    return(Result <bool> .CreateFailed(StatusCode.InternalServerError, "Reward could not be bought"));
                }

                return(Result <bool> .CreateSuccessful(true));
            }
            else //create
            {
                var user    = userService_.GetUserById(options.UserId).Data;
                var reward  = rewardService_.GetRewardById(options.RewardId).Data;
                var project = projectService_.GetProjectByRewardId(options.RewardId).Data;
                if (user == null || reward == null || project == null)
                {
                    return(Result <bool> .CreateFailed(StatusCode.BadRequest, "User, project or reward could not be found"));
                }


                var rewardUser = new RewardUser()
                {
                    User     = user,
                    Reward   = reward,
                    Quantity = options.Quantity
                };

                if (!rewardUser.IsValidQuantity(options.Quantity))
                {
                    return(Result <bool> .CreateFailed(StatusCode.BadRequest, "Please check the quantity is valid"));
                }


                project.RewardUsers.Add(rewardUser);

                if (!projectService_.UpdateCurrentFund(project).Success)
                {
                    return(Result <bool> .CreateFailed(StatusCode.InternalServerError, "Reward could not be bought"));
                }

                return(Result <bool> .CreateSuccessful(true));
            }
        }