public ActionResult AcceptMission(int TaskID, int UserID) { Missions mission = null; NoticeMissionEnded noticeMission = null; Tasks task = null; Users user = null; using (RewardsForYouEntities db = new RewardsForYouEntities()) { mission = db.Missions.Where(l => l.TaskID == TaskID && l.UserID == UserID).FirstOrDefault(); noticeMission = db.NoticeMissionEnded.Where(l => l.MissionID == mission.MissionID && l.UserID == UserID).FirstOrDefault(); task = db.Tasks.Where(l => l.TaskID == TaskID).FirstOrDefault(); user = db.Users.Where(l => l.UserID == UserID).FirstOrDefault(); if (mission != null && noticeMission != null) { user.UserPoints = user.UserPoints + task.Points; mission.Status = 1; task.Finished = true; noticeMission.Status = 0; db.SaveChanges(); return(Json(new { message = $"Missione accettata con successo", flag = true })); } } return(Json(new { message = $"Missione non accettata per qualche problema", flag = false })); }
public ActionResult RefuseNote(int TaskID, int UserID) { NoticeMissionEnded notice = null; Missions mission = null; using (RewardsForYouEntities db = new RewardsForYouEntities()) { mission = db.Missions.Where(l => l.TaskID == TaskID && l.UserID == UserID).FirstOrDefault(); notice = db.NoticeMissionEnded.Where(l => l.UserID == UserID && l.MissionID == mission.MissionID).FirstOrDefault(); } return(PartialView(notice)); }
public ActionResult DoRefuse(int MissionID, int UserID) { NoticeMissionEnded notice = null; using (RewardsForYouEntities db = new RewardsForYouEntities()) { notice = db.NoticeMissionEnded.Where(l => l.MissionID == MissionID && l.UserID == UserID).FirstOrDefault(); notice.Status = 1; db.SaveChanges(); } return(RedirectToAction("ManagerProfile", notice.ManagerID)); }
//Send email notify to the manager public ActionResult SendMissionNotify(int TaskID, int UserID) { Users userEmail = null; Users managerEmail = null; Tasks userTask = null; Missions mission = null; NoticeMissionEnded notice = new NoticeMissionEnded(); NoticeMissionEnded controlNotice = null; using (RewardsForYouEntities db = new RewardsForYouEntities()) { userEmail = db.Users.Where(l => l.UserID == UserID).FirstOrDefault(); managerEmail = db.Users.Where(l => l.UserID == userEmail.ManagerUserID).FirstOrDefault(); userTask = db.Tasks.Where(l => l.TaskID == TaskID).FirstOrDefault(); mission = db.Missions.Where(l => l.UserID == UserID && l.TaskID == TaskID).FirstOrDefault(); controlNotice = db.NoticeMissionEnded.Where(l => l.MissionID == mission.MissionID && l.UserID == UserID).FirstOrDefault(); if (controlNotice == null) { notice.MissionID = mission.MissionID; notice.UserID = UserID; notice.Date = DateTime.Now; notice.Status = 2; notice.ManagerID = managerEmail.UserID; db.NoticeMissionEnded.Add(notice); db.SaveChanges(); } else { return(Json(new { messaggio = $"Richiesta gia inviata!", flag = false })); } } if (Settings.SmtpHost != null) { EmailSender.SendEmail(new EmailSender.Email { SenderAddress = userEmail.EMail, Subject = "Richiesta fine missione", Body = "Richiedo l'accettazione della fine della missione: " + userTask.Description + ".\r\n" + "Grazie " + userEmail.Name + userEmail.Surname + "." }); return(Json(new { messaggio = $"Richiesta inviata con successo", flag = true })); } else { return(Json(new { messaggio = $"Richiesta(senza Email) inviata con successo", flag = true })); } }
public ActionResult DoDeleteTask(string Description, string Type) { Tasks deletedTask = null; Missions deletedMission = null; NoticeMissionEnded noticeMission = null; using (RewardsForYouEntities db = new RewardsForYouEntities()) { deletedTask = db.Tasks.Where(l => l.Description == Description && l.Type == Type).FirstOrDefault(); deletedMission = db.Missions.Where(l => l.TaskID == deletedTask.TaskID).FirstOrDefault(); noticeMission = db.NoticeMissionEnded.Where(l => l.MissionID == deletedMission.MissionID).FirstOrDefault(); if ((deletedTask != null && deletedMission != null) || (noticeMission != null)) { TempData["msg"] = "<script>alert('Il Task non può esere cancellato perchè è stato eseguito o è in fase di esecuzione');</script>"; } else { db.Tasks.Remove(deletedTask); db.SaveChanges(); } } return(RedirectToAction("SearchDeleteTasks", new SearchDeleteTask())); }