public ActionResult Index()
        {
            int userId = User.Identity.GetUserId <int>();

            var tasks = _unitOfWork.Tasks.GetAll().ToList().Where(t => t.AssignedUser.Id == userId);

            var tempTasks = new List <TaskShowViewModel>();

            foreach (var task in tasks)
            {
                if (task.Status.Name.ToUpper().Equals("closed".ToUpper()))
                {
                    continue;
                }
                TaskShowViewModel currentTask = new TaskShowViewModel();
                currentTask.Id           = task.Id;
                currentTask.Title        = task.Title;
                currentTask.Description  = task.Description;
                currentTask.Priority     = task.Priority.Name;
                currentTask.Project      = task.Project.Name;
                currentTask.Status       = task.Status.Name;
                currentTask.DueDate      = task.DueDate;
                currentTask.AssignedUser = task.AssignedUser.UserName;
                currentTask.CreatedUser  = task.CreatedUser.UserName;
                tempTasks.Add(currentTask);
            }

            var sortedUserTasksList = (from task in tempTasks
                                       orderby task.DueDate descending
                                       select task).ToList();

            return(View(sortedUserTasksList));
        }
Esempio n. 2
0
        public ActionResult Save(TaskShowViewModel newTask)
        {
            var userId   = User.Identity.GetUserId <int>();
            var userName = User.Identity.Name;
            int taskId   = newTask.Id ?? default(int);

            var oldTask = _unitOfWork.Tasks.Get(taskId);

            var model = new TaskShowViewModel();

            if (newTask.Id == null)
            {
                model = new TaskShowViewModel
                {
                    Title        = newTask.Title,
                    Description  = newTask.Description,
                    Priority     = newTask.Priority,
                    Status       = "Open",
                    Project      = newTask.Project,
                    AssignedUser = newTask.AssignedUser,
                    CreatedUser  = userName,
                    DueDate      = newTask.DueDate
                };
            }
            else
            {
                model.Id          = newTask.Id;
                model.Title       = newTask.Title.Equals(oldTask.Title) ? oldTask.Title : newTask.Title;
                model.Description = newTask.Description.Equals(oldTask.Description) ? oldTask.Description : newTask.Description;
                model.Status      = newTask.Status != null && !newTask.Status.Equals(oldTask.Status.Name) ?
                                    newTask.Status : oldTask.Status.Name;
                model.Priority = newTask.Priority != null && !newTask.Priority.Equals(oldTask.Priority.Name) ?
                                 newTask.Priority : oldTask.Priority.Name;
                model.Project = newTask.Project != null && !newTask.Project.Equals(oldTask.Project.Name) ?
                                newTask.Project : oldTask.Project.Name;
                //model.AssignedUser = newTask.AssignedUser != null && newTask.AssignedUser.Equals(oldTask.AssignedUser.UserName) ?
                //newTask.AssignedUser : oldTask.AssignedUser.UserName;
                //model.CreatedUser = oldTask.CreatedUser.UserName;
                model.DueDate = newTask.DueDate != null && newTask.DueDate > DateTime.MinValue && !newTask.DueDate.ToString("mm/dd/yyyy").Equals(oldTask.DueDate.ToString("mm/dd/yyyy")) ?
                                newTask.DueDate : oldTask.DueDate;
            }
            var taskDTO = _mapper.Map <TaskDTO>(model);

            if (model.Id == null)
            {
                taskDTO = _taskService.CreateTask(taskDTO, userId);
            }
            else
            {
                taskDTO = _taskService.EditTask(taskDTO);
            }

            return(RedirectToAction("Index", "Cabinet"));
        }
Esempio n. 3
0
        public ActionResult Show(int taskId)
        {
            var task = _unitOfWork.Tasks.Get(taskId);
            TaskShowViewModel currentTask = new TaskShowViewModel();

            currentTask.Id          = task.Id;
            currentTask.Title       = task.Title;
            currentTask.Description = task.Description;
            currentTask.Priority    = task.Priority.Name;
            currentTask.Status      = task.Status.Name;
            currentTask.Project     = task.Project.Name;
            //currentTask.AssignedUser = task.AssignedUser.UserName;
            //currentTask.CreatedUser = task.CreatedUser.UserName;
            currentTask.DueDate = task.DueDate;

            return(View(currentTask));
        }
        public ActionResult Edit(int taskId)
        {
            var task = _unitOfWork.Tasks.Get(taskId);

            TaskShowViewModel currentTask = new TaskShowViewModel();

            currentTask.Id           = task.Id;
            currentTask.Title        = task.Title;
            currentTask.Description  = task.Description;
            currentTask.Priority     = task.Priority.Name;
            currentTask.Project      = task.Project.Name;
            currentTask.Status       = task.Status.Name;
            currentTask.DueDate      = task.DueDate;
            currentTask.AssignedUser = task.AssignedUser.UserName;
            currentTask.CreatedUser  = task.CreatedUser.UserName;

            string currentUser    = User.Identity.Name;
            var    currentUserobj = _unitOfWork.Users.GetAll()
                                    .First(us => us.UserName.ToUpper().Equals(currentUser.ToUpper()));

            var projects  = _unitOfWork.Projects.GetAll().ToList().Where(pr => pr.Owner == currentUserobj || pr.Members.Contains(currentUserobj));
            var projNames = from proj in projects select proj.Name;

            ViewBag.Project = new SelectList(projNames, "Project");


            var priority = new SelectList(_unitOfWork.Priorities.GetAll(), "Name", "Name");

            ViewBag.Priority = priority;

            var statuses = new SelectList(_unitOfWork.Statuses.GetAll(), "Name", "Name");

            ViewBag.Status = statuses;

            var usersForAssignee = new SelectList(_unitOfWork.Users.GetAll(), "UserName", "UserName");

            ViewBag.UsersForAssignee = usersForAssignee;

            return(View(currentTask));
        }