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())); }
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)); }
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 })); }
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 }); //} } } }