Пример #1
0
        // GET: Projects
        public IActionResult Index()
        {
            AuthorizeUser();
            // User Login successful!
            if (accountLoggedIn)
            {
                SqlParameter userid = new SqlParameter("@p_account_id", AccID);
                try
                {
                    projects = _context.Project.FromSql("exec ProjectList @p_account_id", userid).ToList();
                }
                catch (Exception ex)
                {
                    System.Diagnostics.Debug.WriteLine("Log Exception: " + ex.Message);
                }
                company = _context.Company.FromSql("exec CompanyName @p_account_id", userid).ToList();

                GetNotifications();
                // Count all "Done" tasks and set DoneTasks object property
                projects.ForEach(
                    prj => prj.DoneTasks =
                        _context.Task
                        .Where(tsk =>
                               tsk.TaskProjectId == prj.ProjectId
                               &&
                               tsk.TaskTaskStateId == 6)
                        .Count());
                // Count sum of all Tasks and set TotalTasks object property
                projects.ForEach(
                    prj => prj.TotalTasks =
                        _context.Task
                        .Where(tsk =>
                               tsk.TaskProjectId == prj.ProjectId)
                        .Count());

                // Constructor for Viewmodel
                projects_model = new ProjectsPageViewModel
                {
                    Projects = projects,
                    Company  = company[0]
                };
                return(View(projects_model));
            }
            else
            {
                return(RedirectToAction("Index", "Home", new { Unlogged = 1 }));
            }
        }
Пример #2
0
        /// <summary>
        /// Generate a page with a list of the projects the current user has access to.
        /// </summary>
        /// <parameter name="msg">Numer of a standard message to show in the view.</parameter>
        /// <parameter name="hl">Id of project whose listing should be highlighted in the view.</parameter>
        public IActionResult Index(int?msg, int?hl)
        {
            var currentUserID = _userManager.GetUserId(User);

            var viewModel = new ProjectsPageViewModel()
            {
                Projects    = _projectsService.GetUsersProjects(currentUserID),
                Templates   = _projectsService.GetUsersTemplates(currentUserID),
                CurrentUser = _usersService.GetUserByID(currentUserID),
                Notice      = new NoticeViewModel()
            };

            if (msg != null)
            {
                viewModel.Notice.MessageID = msg ?? 0;

                switch (msg)
                {
                case -1:
                    viewModel.Notice.Message = "Failed to create new file.";
                    break;

                case 1:
                    viewModel.Notice.Message = "New file has been added.";
                    break;

                case 2:
                    viewModel.Notice.Message = "File has been deleted.";
                    break;
                }

                viewModel.Notice.NewID = hl ?? -1;
            }

            return(View(viewModel));
        }
Пример #3
0
 public AddTaskCommand(ProjectsPageViewModel viewModel)
 {
     ViewModel = viewModel;
 }
Пример #4
0
 public RemoveTaskCommand(ProjectsPageViewModel viewModel)
 {
     ViewModel = viewModel;
 }
Пример #5
0
 public NewProjectCommand(ProjectsPageViewModel viewModel)
 {
     ViewModel = viewModel;
 }