public ActionResult DoDeleteReward(string Description)
        {
            Rewards            deletedReward = null;
            UsersRewards       userReward    = null;
            NoticeRewardsTakes noticeReward  = null;

            using (RewardsForYouEntities db = new RewardsForYouEntities())
            {
                deletedReward = db.Rewards.Where(l => l.Description == Description).FirstOrDefault();
                userReward    = db.UsersRewards.Where(l => l.RewardsID == deletedReward.RewardsID).FirstOrDefault();
                noticeReward  = db.NoticeRewardsTakes.Where(l => l.RewardsID == deletedReward.RewardsID).FirstOrDefault();


                if ((deletedReward != null && userReward != null) || (noticeReward != null) || (userReward != null))
                {
                    TempData["msg"] = "<script>alert('Il Reward non può esere cancellato perchè un impiegato ne è in possesso o è in attesa di essere ricevuto');</script>";
                }
                else
                {
                    db.Rewards.Remove(deletedReward);
                    db.SaveChanges();
                }
            }
            return(RedirectToAction("SearchDeleteRewards", new SearchDeleteReward()));
        }
Beispiel #2
0
        public ActionResult RefuseRewards(int RewardsID, int UserID)
        {
            NoticeRewardsTakes noticeRewards = null;
            Rewards            usersRewards  = null;

            using (RewardsForYouEntities db = new RewardsForYouEntities())
            {
                usersRewards  = db.Rewards.Where(l => l.RewardsID == RewardsID).FirstOrDefault();
                noticeRewards = db.NoticeRewardsTakes.Where(l => l.UserID == UserID && l.RewardsID == usersRewards.RewardsID).FirstOrDefault();
            }
            return(PartialView(noticeRewards));
        }
Beispiel #3
0
        public ActionResult AcceptRewards(int RewardsID, int UserID)
        {
            UsersRewards       usersRewards  = new UsersRewards();
            NoticeRewardsTakes noticeRewards = null;
            Rewards            rewards       = null;
            Users   user = null;
            Rewards availabilityReward = new Rewards();


            using (RewardsForYouEntities db = new RewardsForYouEntities())
            {
                rewards = db.Rewards.Where(l => l.RewardsID == RewardsID).FirstOrDefault();
                user    = db.Users.Where(l => l.UserID == UserID).FirstOrDefault();

                //usersRewards = db.UsersRewards.Where(l => l.RewardsID == RewardsID && l.UserID == UserID).FirstOrDefault();
                noticeRewards = db.NoticeRewardsTakes.Where(l => l.RewardsID == rewards.RewardsID && l.UserID == UserID).FirstOrDefault();

                Users userUpdated = db.Users.Find(UserID);
                availabilityReward = db.Rewards.Find(RewardsID);



                if (noticeRewards != null)
                {
                    //user.UserPoints = user.UserPoints + task.Points;
                    //noticeRewards.Status = 0;
                    //rewards. = true;
                    //noticeMission.Status = 0;
                    //db.SaveChanges();

                    //sottrazione dei punti allo user
                    userUpdated.UserPoints = userUpdated.UserPoints - rewards.Points;

                    //diminuzione dell'availability del reward
                    availabilityReward.Availability = availabilityReward.Availability - 1;

                    //Inserisco il nuovo reward dell'utente nel db
                    usersRewards.UserID      = user.UserID;
                    usersRewards.RewardsID   = rewards.RewardsID;
                    usersRewards.RewardsDate = DateTime.Now;
                    usersRewards.Note        = "";
                    db.UsersRewards.Add(usersRewards);
                    noticeRewards.Status = 0;
                    db.SaveChanges();



                    return(Json(new { message = $"Rewards Aggiunto con successo", flag = true }));
                }
            }

            return(Json(new { message = $"Rewards non accettati per qualche problema", flag = false }));
        }
Beispiel #4
0
        public ActionResult DoRefuseRewards(int RewardsID, int UserID)
        {
            NoticeRewardsTakes noticeRewards = null;

            using (RewardsForYouEntities db = new RewardsForYouEntities())
            {
                noticeRewards        = db.NoticeRewardsTakes.Where(l => l.RewardsID == RewardsID && l.UserID == UserID).FirstOrDefault();
                noticeRewards.Status = 1;
                db.SaveChanges();
            }

            return(RedirectToAction("ManagerProfile", noticeRewards.ManagerID));
        }
        public ActionResult _PartialTakeReward(int RewardsID, int UserID)
        {
            Rewards      reward             = null;
            Users        user               = null;
            UsersRewards userReward         = new UsersRewards();
            Rewards      availabilityReward = new Rewards();
            Users        userEmail          = null;
            Users        managerEmail       = null;
            Rewards      userRewards        = null;

            NoticeRewardsTakes noticeRewards = new NoticeRewardsTakes();

            using (RewardsForYouEntities db = new RewardsForYouEntities())
            {
                Users userUpdated = db.Users.Find(UserID);
                availabilityReward = db.Rewards.Find(RewardsID);
                reward             = db.Rewards.Where(l => l.RewardsID == RewardsID).FirstOrDefault();
                user = db.Users.Where(l => l.UserID == UserID).FirstOrDefault();

                //check if the points of the user are enough for the selected reward
                if (user.UserPoints >= reward.Points)
                {
                    userEmail    = db.Users.Where(l => l.UserID == UserID).FirstOrDefault();
                    managerEmail = db.Users.Where(l => l.UserID == userEmail.ManagerUserID).FirstOrDefault();
                    userRewards  = db.Rewards.Where(l => l.RewardsID == RewardsID).FirstOrDefault();
                    //userReward = db.UsersRewards.Where(l => l.UserID == UserID && l.RewardsID == RewardsID).FirstOrDefault();
                    noticeRewards.UserID    = UserID;
                    noticeRewards.ManagerID = managerEmail.UserID;
                    noticeRewards.RewardsID = reward.RewardsID;
                    noticeRewards.Date      = DateTime.Now;
                    noticeRewards.Status    = 2;
                    db.NoticeRewardsTakes.Add(noticeRewards);
                    db.SaveChanges();


                    if (Settings.SmtpHost != null)
                    {
                        EmailSender.SendEmail(new EmailSender.Email
                        {
                            SenderAddress = userEmail.EMail,
                            Subject       = "Richiesta fine missione",
                            Body          = "Richiedo Il Rewards: " + reward.Description + ".\r\n" +
                                            "Grazie " + userEmail.Name + userEmail.Surname + "."
                        });
                    }
                    return(Json(new { messaggio = $"Richiesta inviata con successo", flag = true }));
                }
                else
                {
                    return(Json(new { messaggio = $"Richiesta invalida,i tuoi punti non sono sufficienti", flag = false }));

                    //sottrazione dei punti allo user
                    //userUpdated.UserPoints = user.UserPoints - reward.Points;

                    ////diminuzione dell'availability del reward
                    //availabilityReward.Availability = availabilityReward.Availability - 1;

                    ////Inserisco il nuovo reward dell'utente nel db
                    //userReward.UserID = user.UserID;
                    //userReward.RewardsID = reward.RewardsID;
                    //userReward.Note = "";
                    //userReward.RewarrdsDate = DateTime.Now;
                    //db.UsersRewards.Add(userReward);
                    //db.SaveChanges();
                    //return Json(new { messaggio = $"{reward.Type} aggiunto/a con successo", flag = true });
                    //}

                    //else
                    //{
                    //    return Json(new { messaggio = $"I punti non sono sufficienti", flag = false });
                    //}
                }
            }
        }