public ActionResult AddRewards()
 {
     using (RewardsForYouEntities db = new RewardsForYouEntities())
     {
         return(View());
     }
 }
        //Search and Delete Tasks
        public ActionResult SearchDeleteTasks(SearchDeleteTask data)
        {
            using (RewardsForYouEntities db = new RewardsForYouEntities())
            {
                IQueryable <Tasks> x = null;
                if (data.Description != null)
                {
                    x = db.Tasks.Where(l => l.Description == data.Description);
                }
                else
                {
                    x = db.Tasks;
                }
                if (data.Type != null)
                {
                    x = db.Tasks.Where(l => l.Type == data.Type);
                }



                data.Lista = x.ToList();

                return(View("SearchDeleteTasks", data));
            }
        }
        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 InsertNewUsers()
        {
            List <Users> user        = new List <Users>();
            List <Roles> role        = new List <Roles>();
            List <Users> usermanager = new List <Users>();

            //Users managerName = null;
            using (RewardsForYouEntities db = new RewardsForYouEntities())
            {
                usermanager = db.Users.Where(l => l.RoleID == 2).ToList();

                //var a = new SelectList()   new SelectListItem() { Text = "A", Value = "1" } );
                //var b = new SelectListItem() { Text = "A", Value = "1" };

                // ViewBag.RoleList = new SelectList();

                //ViewBag.RoleList = new SelectList(db.Roles.Select(r=> new { Value = r.RoleID.ToString(), Text = r.Role }).ToList(), null);
                ViewBag.RoleList = db.Roles.Select(r => new SelectListItem()
                {
                    Value = r.RoleID.ToString(), Text = r.Role
                }).ToList();

                ViewBag.ManagerList = usermanager.Select(r => new SelectListItem()
                {
                    Value = r.UserID.ToString(), Text = r.Name + " " + r.Surname
                }).ToList();
            }
            return(View());
        }
Ejemplo n.º 5
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 }));
        }
Ejemplo n.º 6
0
        public ActionResult _DoAddTaskJson(Tasks DatiTask, int TaskID, int UserID)
        {
            TaskUserView tasksUsers = new TaskUserView();

            Tasks task = null;
            Users user = null;



            using (RewardsForYouEntities db = new RewardsForYouEntities())
            {
                task = db.Tasks.Where(l => l.TaskID == TaskID).FirstOrDefault();
                user = db.Users.Where(l => l.UserID == UserID).FirstOrDefault();

                Missions mission = new Missions
                {
                    Tasks     = task,
                    Users     = user,
                    UserID    = user.UserID,
                    TaskID    = task.TaskID,
                    StartDate = DateTime.Now,
                    EndDate   = task.ExpiryDate,
                    Note      = "",
                    Status    = 0
                };

                db.Missions.Add(mission);
                db.SaveChanges();
            }
            return(Json(new { messaggio = $"Task : {DatiTask.TaskID} assegnato con successo" }));
        }
 // GET: Amministrator
 public ActionResult Index()
 {
     using (RewardsForYouEntities db = new RewardsForYouEntities())
     {
         int userID = (int)Session["UserID"];
         return(View());
     }
 }
        public ActionResult _PartialDeleteTasks(string Description, string Type)
        {
            Tasks taskDelete = null;

            using (RewardsForYouEntities db = new RewardsForYouEntities())
            {
                taskDelete = db.Tasks.Where(l => l.Description == Description && l.Type == Type).FirstOrDefault();
            }
            return(PartialView(taskDelete));
        }
        public ActionResult _PartialDelete(string Serial, string EMail)
        {
            Users userDelete = null;

            using (RewardsForYouEntities db = new RewardsForYouEntities())
            {
                userDelete = db.Users.Where(l => l.Serial == Serial && l.EMail == EMail).FirstOrDefault();
            }
            return(PartialView(userDelete));
        }
        public ActionResult _PartialUpdateRewards(string Description)
        {
            Rewards updateReward = null;

            using (RewardsForYouEntities db = new RewardsForYouEntities())
            {
                updateReward = db.Rewards.Where(l => l.Description == Description).FirstOrDefault();
            }
            return(PartialView(updateReward));
        }
        public ActionResult _PartialDeleteRewards(string Description)
        {
            Rewards rewardDelete = null;

            using (RewardsForYouEntities db = new RewardsForYouEntities())
            {
                rewardDelete = db.Rewards.Where(l => l.Description == Description).FirstOrDefault();
            }
            return(PartialView(rewardDelete));
        }
        public ActionResult _PartialUpdateView(string Description, string Type)
        {
            Tasks updateTask = null;

            using (RewardsForYouEntities db = new RewardsForYouEntities())
            {
                updateTask = db.Tasks.Where(l => l.Description == Description && l.Type == Type).FirstOrDefault();
            }

            return(PartialView(updateTask));
        }
        public ActionResult Ranking(int UserID)
        {
            List <Users> userList = new List <Users>();

            using (RewardsForYouEntities db = new RewardsForYouEntities())
            {
                userList = db.Users.OrderByDescending(l => l.UserPoints).ToList();
            }

            return(View(userList));
        }
Ejemplo n.º 14
0
        public ActionResult ListaUsers()
        {
            using (RewardsForYouEntities db = new RewardsForYouEntities())
            {
                int          userID = (int)Session["UserID"];
                List <Users> users  = new List <Users>();
                users = db.Users.Where(x => x.ManagerUserID == userID).ToList();

                return(View(users));
            }
        }
Ejemplo n.º 15
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));
        }
Ejemplo n.º 16
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 }));
        }
Ejemplo n.º 17
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));
        }
Ejemplo n.º 18
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 _ChooseRewards(int UserID)
        {
            //take all the rewards
            RewardsForUser rewardsForUser = new RewardsForUser();

            using (RewardsForYouEntities db = new RewardsForYouEntities())
            {
                rewardsForUser.UserPoints = db.Users.Where(l => l.UserID == UserID).Select(l => l.UserPoints).FirstOrDefault();
                rewardsForUser.Rewards    = db.Rewards.ToList();
            }
            rewardsForUser.UserID = UserID;
            return(PartialView(rewardsForUser));
        }
Ejemplo n.º 20
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));
        }
Ejemplo n.º 21
0
        //View The Task
        public ActionResult AssegnaTask(int UserID)
        {
            TaskUserView tasksUsers = new TaskUserView();



            using (RewardsForYouEntities db = new RewardsForYouEntities())
            {
                tasksUsers.task = db.Tasks.ToList();
            }
            tasksUsers.UsersID = UserID;

            return(PartialView(tasksUsers));
        }
        public ActionResult DoUpdateReward(Rewards data)
        {
            Rewards updateReward = null;

            using (RewardsForYouEntities db = new RewardsForYouEntities())
            {
                updateReward              = db.Rewards.Where(l => l.RewardsID == data.RewardsID).FirstOrDefault();
                updateReward.Type         = data.Type;
                updateReward.Description  = data.Description;
                updateReward.Availability = data.Availability;
                updateReward.Points       = data.Points;
                db.SaveChanges();
            }
            return(RedirectToAction("SearchDeleteRewards", new SearchDeleteReward()));
        }
Ejemplo n.º 23
0
        //View The Task and Rewards
        public ActionResult ManagerTaskandReward()
        {
            ViewModel      viewModel = new ViewModel();
            List <Tasks>   t         = null;
            List <Rewards> r         = null;

            using (RewardsForYouEntities db = new RewardsForYouEntities())
            {
                t = db.Tasks.ToList();
                r = db.Rewards.ToList();
            }
            viewModel.Task   = t;
            viewModel.Reward = r;
            return(View(viewModel));
        }
        // GET: Employee
        public ActionResult Index(int UserID)
        {
            Users user = null;

            using (RewardsForYouEntities db = new RewardsForYouEntities())
            {
                //get the user from the db
                user = db.Users
                       .Include(usr => usr.Missions.Select(mis => mis.Tasks))
                       .Include(usr => usr.UsersRewards.Select(usrrew => usrrew.Rewards))
                       .Include(usr => usr.Users2)
                       .Where(l => l.UserID == UserID).FirstOrDefault();
            }
            return(View(user));
        }
        //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 }));
            }
        }
Ejemplo n.º 26
0
        //Add the Task at Employee
        public ActionResult _DoAddTaskJson(Tasks DatiTask, int TaskID, int UserID)
        {
            TaskUserView tasksUsers = new TaskUserView();

            Tasks           task     = null;
            Users           user     = null;
            List <Missions> missions = null;
            Missions        m        = null;



            using (RewardsForYouEntities db = new RewardsForYouEntities())
            {
                task     = db.Tasks.Where(l => l.TaskID == TaskID).FirstOrDefault();
                user     = db.Users.Where(l => l.UserID == UserID).FirstOrDefault();
                missions = db.Missions.ToList();

                //controllo se il task è stato gia assegnato
                m = db.Missions.Where(l => l.TaskID == task.TaskID && l.UserID == user.UserID && l.Status == 0).FirstOrDefault();


                if (m != null)
                {
                    return(Json(new { messaggio = $"Il task è stato già assegnato" }));
                }
                else
                {
                    DateTime start   = DateTime.Now.Date;
                    Missions mission = new Missions
                    {
                        Tasks          = task,
                        Users          = user,
                        UserID         = user.UserID,
                        TaskID         = task.TaskID,
                        StartDate      = DateTime.Now,
                        EndDate        = task.ExpiryDate,
                        Note           = "",
                        Status         = 0,
                        DesiredEndDate = start.AddMonths(task.TimeSpan)
                    };

                    db.Missions.Add(mission);
                    db.SaveChanges();
                }
            }
            return(Json(new { messaggio = $"Task : {DatiTask.TaskID} assegnato con successo" }));
        }
        public ActionResult DoDelete(string Serial, string EMail)
        {
            Users deletedUser = null;

            using (RewardsForYouEntities db = new RewardsForYouEntities())
            {
                deletedUser = db.Users.Where(l => l.Serial == Serial && l.EMail == EMail).FirstOrDefault();

                //elimino(si contrassegna come licenziato) lo user selezionato
                if (deletedUser != null)
                {
                    deletedUser.FiredDate = DateTime.Now;
                    db.SaveChanges();
                }
            }
            return(RedirectToAction("SearchDeleteUser", new SearchDeleteUser()));
        }
        public ActionResult _JsonInsertNewUsers(Users data)
        {
            if (!string.IsNullOrEmpty(data.Serial) && !string.IsNullOrEmpty(data.Name) && !string.IsNullOrEmpty(data.Surname) && !string.IsNullOrEmpty(data.EMail) && data.RoleID != 0 && data.ManagerUserID != 0)
            {
                using (RewardsForYouEntities db = new RewardsForYouEntities())
                {
                    db.Users.Add(data);

                    db.SaveChanges();
                }
                return(Json(new { messaggio = $"Users {data.UserID} aggiunto/a con successo", flag = true }));
            }
            else
            {
                return(Json(new { messaggio = $"Dati mancanti o non validi", flag = false }));
            }
        }
        public ActionResult _JsonAddRewards(Rewards data)
        {
            if (!string.IsNullOrEmpty(data.Type) && !string.IsNullOrEmpty(data.Description) && data.Points != 0 && data.Availability != 0)
            {
                using (RewardsForYouEntities db = new RewardsForYouEntities())
                {
                    db.Rewards.Add(data);

                    db.SaveChanges();
                }
                return(Json(new { messaggio = $"Rewards {data.RewardsID} aggiunto/a con successo", flag = true }));
            }
            else
            {
                return(Json(new { messaggio = $"Dati mancanti o non validi", flag = false }));
            }
        }
        //Search and Delete Users
        public ActionResult SearchDeleteUser(SearchDeleteUser data)
        {
            //ViewModel viewModel = new ViewModel();
            //List<String> manager = new List<String>();
            //String managerUser = null;


            using (RewardsForYouEntities db = new RewardsForYouEntities())
            {
                IQueryable <Users> x = null;
                if (data.Serial != null)
                {
                    x = db.Users.Where(l => l.Serial == data.Serial);
                }
                else
                {
                    x = db.Users;
                }

                if (data.EMail != null)
                {
                    x = db.Users.Where(l => l.EMail == data.EMail);
                }

                //get the name of the manager
                //manager = db.Users.Where(l => l.UserID == l.ManagerUserID).ToList().Select(l=> string.Format("{0} {1}",l.Name,l.Surname)).ToList();



                data.Lista = x.ToList();

                //controllo se lo user è stato eliminato
                foreach (Users item in x)
                {
                    if (item.FiredDate != null)
                    {
                        data.Lista.Remove(item);
                    }
                }



                return(View("SearchDeleteUser", data));
            }
        }