Пример #1
0
        public ActionResult Create()
        {
            ViewBag.Task = "class = active";

            var model = new TaskViewModel();

            model.UsersDDL = new List <UserViewModelDDL>();

            // get all users with dev and manager role
            var developers = db.AspNetRoles.SingleOrDefault(r => r.Name == "Developer").AspNetUsers.ToList();
            var managers   = db.AspNetRoles.SingleOrDefault(r => r.Name == "Project Manager").AspNetUsers.ToList();


            //map manager and developers in one list for ddl
            foreach (var userItem in developers)
            {
                var currentUser = new UserViewModelDDL
                {
                    Id      = userItem.Id,
                    Name    = userItem.Name,
                    Surname = userItem.Surname
                };
                model.UsersDDL.Add(currentUser);
            }

            // only admin can assign task to both user -> dev and project manager
            if (User.IsInRole("Administrator"))
            {
                foreach (var managerItem in managers)
                {
                    var currentUser = new UserViewModelDDL
                    {
                        Id      = managerItem.Id,
                        Name    = managerItem.Name,
                        Surname = managerItem.Surname
                    };
                    model.UsersDDL.Add(currentUser);
                }
            }

            // get all projects
            model.Projects =
                (from item in db.Projects
                 select new ProjectViewModel
            {
                Id = item.Id,
                Name = item.Name
            }).ToList();
            return(View(model));
        }
Пример #2
0
        // GET: Task/Edit/5
        public ActionResult Edit(string id)
        {
            ViewBag.Task = "class = active";

            // find task by id
            var task = db.Tasks.Find(id);

            var model = new TaskViewModel();

            if (task is null)
            {
                return(RedirectToAction("Index"));
            }

            model.UsersDDL = new List <UserViewModelDDL>();

            // get all users with dev and manager role
            var developers = db.AspNetRoles.SingleOrDefault(r => r.Name == "Developer").AspNetUsers.ToList();
            var managers   = db.AspNetRoles.SingleOrDefault(r => r.Name == "Project Manager").AspNetUsers.ToList();


            //map manager and developers in one list for ddl
            foreach (var userItem in developers)
            {
                var currentUser = new UserViewModelDDL
                {
                    Id      = userItem.Id,
                    Name    = userItem.Name,
                    Surname = userItem.Surname
                };
                model.UsersDDL.Add(currentUser);
            }

            foreach (var managerItem in managers)
            {
                var currentUser = new UserViewModelDDL
                {
                    Id      = managerItem.Id,
                    Name    = managerItem.Name,
                    Surname = managerItem.Surname
                };
                model.UsersDDL.Add(currentUser);
            }


            if (task.AspNetUser1 is null) //check if task isn't assigned
            {
                model.Id          = task.Id;
                model.Deadline    = task.Deadline;
                model.Description = task.Description;
                model.Progress    = task.Progress;
                model.Status      = task.Status;
            }
            else // if task is assigned to someone, return for selected item in dropdown list
            {
                model.Id                 = task.Id;
                model.Deadline           = task.Deadline;
                model.Description        = task.Description;
                model.Progress           = task.Progress;
                model.Status             = task.Status;
                model.CurrentDeveloper   = task.AspNetUser1.Name + " " + task.AspNetUser1.Surname;
                model.CurrentDeveloperId = task.AspNetUser1.Id;
            }
            return(View(model));
        }