Beispiel #1
0
        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 }));
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        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()));
        }