public void ShouldHaveEmptyCollectionUntilExplicitlyLoaded()
 {
     var projects = new ProjectsViewModel(dataProvider);
     Assert.IsEmpty(projects.Collection);
     projects.LoadItems();
     Assert.IsNotEmpty(projects.Collection);
 }
Exemplo n.º 2
0
        // GET: Projects
        public ActionResult Index(string projectName, string fromDate, string toDate)
        {
            _ProjectsViewModelHandler = new ProjectsViewModelHandler();
            ProjectsViewModel projectsViewModel = new ProjectsViewModel();

            _ProjectsViewModelHandler.SetViewModelDates(ref projectsViewModel, fromDate, toDate);
            projectsViewModel.Projects        = _ProjectRepository.GetProjects().OrderBy(p => p.ProjectName);
            projectsViewModel.SelectedProject = _ProjectRepository.GetProjectByName(projectName) ?? projectsViewModel.Projects.First();

            Dictionary <SREDCategory, Dictionary <Employee, float> > EmployeePercentageContributionPerCategory_Float = new Dictionary <SREDCategory, Dictionary <Employee, float> >();

            _ProjectsViewModelHandler.CalculatePercentageContributionPerCategory(ref projectsViewModel,
                                                                                 ref EmployeePercentageContributionPerCategory_Float,
                                                                                 DateTime.Parse(projectsViewModel.FromDateString),
                                                                                 DateTime.Parse(projectsViewModel.ToDateString));

            _ProjectsViewModelHandler.ConvertPercentageContributionsToString(ref projectsViewModel, EmployeePercentageContributionPerCategory_Float);

            projectsViewModel.ListOfManagers = _EmployeeHandler.all()
                                               .Where(e => (e.Permissions & (int)PermissionsEnum.ManageProjects) == (int)PermissionsEnum.ManageProjects)
                                               .Select(e => new SelectListItem {
                Value = e.EmployeeID.ToString(), Text = e.FullName
            });


            // Disable Google OAuth
            // var user = _EmployeeHandler.HandleGetEmployee((ClaimsIdentity)User.Identity);

            // Only check for user in session for demo.
            Employee user = (Employee)Session["User"];

            ViewData["User"] = user.FirstName + " " + user.LastName;
            return(View(projectsViewModel));
        }
        public IActionResult Index()
        {
            var vm = new ProjectsViewModel();

            vm.Projects.Add(new Project()
            {
                Route       = "https://sahelpinghands.org",
                Name        = "Helping Hands",
                Description = "Full-Stack Capstone project rendered utilizing SpringBoot, Java, Spring Security, Thymeleaf and SASS/SCSS for styling.",
                Type        = "Donation Forum/Database Rendering",
                Creator     = "Lening Rodas, Christian Parker, Evan Mead, John Brooks"
            });

            vm.Projects.Add(new Project()
            {
                Route       = "/weathermap/weather_map.html",
                Name        = "WeatherNova",
                Description = "Weather app made using API calls to the OpenWeatherMap API; Renders instant 7-day forecast upon location selection.",
                Type        = "API Calls and MapRendering",
                Creator     = "John Brooks"
            });

            vm.Projects.Add(new Project()
            {
                Route       = "https://github.com/SFW-FreeDevelopment/LordOfFrames",
                Name        = "Lord Of Frames",
                Description = "AI Bot created for use in Discord Server using .NET 6/C#. Outputs instant data responses for real-time command requests.",
                Type        = "Machine Programming",
                Creator     = "Christopher Plummer, John Brooks"
            });

            vm.Projects.Add(new Project()
            {
                Route       = "/movie-app/index.html",
                Name        = "Six Degrees of Sandler",
                Description = "API Requests using IMDB to enable CRUD, Search functionality within local database.",
                Type        = "API/Querying Functionality",
                Creator     = "John Brooks, Christian Parker"
            });

            vm.Projects.Add(new Project()
            {
                Route       = "/nemesis-engage-2/index.html",
                Name        = "NE: 2",
                Description = "Turn-based fighting system demo created utilizing HTML, CSS, JS and jQuery. Expanded roster from 2 to 30 characters utilizing JSON object for enhanced fighting mechanics.",
                Type        = "Fully Static Video Game",
                Creator     = "John Brooks"
            });

            vm.Projects.Add(new Project()
            {
                Route       = "/coffee-project/index.html",
                Name        = "Boom! Roasted",
                Description = "Coffee Ordering Project. Michael Scott-themed.",
                Type        = "Static Ordering Functionality",
                Creator     = "John Brooks, Connor Wulf"
            });

            return(View(vm));
        }
Exemplo n.º 4
0
        /// The methods provided in this section are simply used to allow
        /// NavigationHelper to respond to the page's navigation methods.
        ///
        /// Page specific logic should be placed in event handlers for the
        /// <see cref="GridCS.Common.NavigationHelper.LoadState"/>
        /// and <see cref="GridCS.Common.NavigationHelper.SaveState"/>.
        /// The navigation parameter is available in the LoadState method
        /// in addition to page state preserved during an earlier session.

        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            navigationHelper.OnNavigatedTo(e);

            // Hide the on-canvas Back Button if we're on a phone or there's a shell drawn Back
            if (SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility == AppViewBackButtonVisibility.Visible ||
                Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons"))
            {
                backButton.Visibility = Visibility.Collapsed;
            }

            var customerID = (long)e.Parameter;

            var custViewModel = CustomersViewModel.GetDefault();

            pageTitle.Text = custViewModel.GetItem(customerID).Name;

            if (viewModel != null && (customerID == viewModel.CustomerId) && (timestamp >= viewModel.Timestamp))
            {
                return;
            }

            viewModel = ProjectsViewModel.GetForCustomerId(customerID);
            ProjectsList.ItemsSource = viewModel.GetAllItems();

            timestamp = DateTime.Now;
        }
Exemplo n.º 5
0
        // GET: Projects/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var project = await _context.Projects
                          .Include(p => p.Customer)
                          .FirstOrDefaultAsync(p => p.Id == id);

            if (project == null)
            {
                return(NotFound());
            }

            var vm = new ProjectsViewModel
            {
                Id          = project.Id,
                Name        = project.Name,
                Description = project.Description,
                Customers   = await _context.Customers
                              .Select(customer => new SelectListItem {
                    Text = customer.Name, Value = customer.Id.ToString()
                })
                              .ToListAsync(),
                SelectedCustomerId = project.Customer.Id.ToString()
            };

            return(View(vm));
        }
Exemplo n.º 6
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,ProjectName,ProjectDescription,FrameworkToolsDescription,GitHubLink,DeployedLink")] ProjectsViewModel projectsViewModel)
        {
            if (id != projectsViewModel.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(projectsViewModel);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ProjectsViewModelExists(projectsViewModel.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(projectsViewModel));
        }
Exemplo n.º 7
0
        public void CalculatePercentageContributionPerCategory(ref ProjectsViewModel projectsViewModel,
                                                               ref Dictionary <SREDCategory, Dictionary <Employee, float> > employeePercentageContributions,
                                                               DateTime fromDateTime,
                                                               DateTime toDateTime)
        {
            foreach (SREDCategory c in projectsViewModel.SelectedProject.SREDCategories.OrderBy(cat => cat.CategoryName))
            {
                int categoryHoursTotal = 0;

                projectsViewModel.EmployeeHoursWorkedPerCategory.Add(c, new Dictionary <Employee, int>());
                projectsViewModel.EmployeePercentageContributionPerCategory_String.Add(c, new Dictionary <Employee, string>());
                employeePercentageContributions.Add(c, new Dictionary <Employee, float>());

                foreach (Employee e in c.ProjectEntries.Select(pe => pe.Employee).Distinct().OrderBy(emp => emp.FullName))
                {
                    int employeeTotalHoursForCategory = c.ProjectEntries.Where(pe => pe.Employee == e && pe.DateCreated >= fromDateTime && pe.DateCreated <= toDateTime).Sum(pe => pe.Hours);
                    if (employeeTotalHoursForCategory > 0)
                    {
                        projectsViewModel.EmployeeHoursWorkedPerCategory[c].Add(e, employeeTotalHoursForCategory);
                        employeePercentageContributions[c].Add(e, employeeTotalHoursForCategory);
                        categoryHoursTotal += employeeTotalHoursForCategory;
                    }
                }
                projectsViewModel.TotalHoursPerCategory.Add(c, categoryHoursTotal);
                projectsViewModel.TotalLoggedHours += categoryHoursTotal;
            }
        }
        public async Task <IActionResult> ProjectsEdit(string sortOrder, string currentFilter, string searchString, int?pageNumber)
        {
            ViewBag.IdSortParm   = String.IsNullOrEmpty(sortOrder) ? "Id" : "";
            ViewBag.NameSortParm = sortOrder == "name" ? "name_desc" : "name";

            ViewBag.CurrentSort = sortOrder;
            ProjectsViewModel model = new ProjectsViewModel();

            //如果搜尋字串在分頁期間變更,頁面必須重設為 1,因為新的篩選可能會導致顯示不同的資料。
            //在文字方塊中輸入值並按下[提交] 按鈕時,即會變更搜尋字串。 在此情況下,searchString 參數不是 null。
            if (searchString != null)
            {
                pageNumber = 1;
            }
            else
            {
                searchString = currentFilter;
            }
            ViewBag.CurrentFilter = searchString;
            //==========order Linq====
            var query = from project in _context.Projects
                        select project;

            //========output directly========
            //model.projects = _context.Projects.ToList();

            if (!string.IsNullOrEmpty(searchString))
            {
                //query = query.Where(p => p.name.Contains(searchString));//Case sensetive
                query = query.Where(p => p.name.IndexOf(searchString, StringComparison.OrdinalIgnoreCase) >= 0);////Case Insensetive
            }


            switch (sortOrder)
            {
            case "name":
                query = query.OrderBy(s => s.name);
                break;

            case "name_desc":
                query = query.OrderByDescending(s => s.name);
                break;

            case "Id":
                query = query.OrderBy(s => s.id);
                break;

            default:
                query = query.OrderByDescending(s => s.id);
                break;
            }
            int pageSize = 5;

            //(pageNumber ?? 1) 運算式表示在它含有值時會傳回值 pageNumber,或在 pageNumber 為 null 時傳回 1。
            model.projects = await PaginatedList <Project> .CreateAsync(query, pageNumber ?? 1, pageSize);



            return(View(model));
        }
Exemplo n.º 9
0
        public ActionResult ProjectsList(int page)
        {
            string            userId = User.Identity.GetUserId();
            ProjectsViewModel model  = projectService.GetProjects(userId, page);

            return(PartialView(model));
        }
Exemplo n.º 10
0
        public ActionResult AllProjects(int page = 0)
        {
            string            userId = User.Identity.GetUserId();
            ProjectsViewModel model  = projectService.GetProjects(userId, page);

            return(View(model));
        }
Exemplo n.º 11
0
        private void InitializeViewModelsContainer()
        {
            TeamsViewModel teamsViewModel = new TeamsViewModel(this);

            teamsViewModel.TeamSelected += OnTeamSelected;

            AllTeamsViewModel allTeamsViewModel = new AllTeamsViewModel(this);
            // TODO: subscribe to AllTeamsViewModel events

            ProjectsViewModel projectsViewModel = new ProjectsViewModel(this);

            projectsViewModel.ProjectSelected += OnProjectSelected;

            ProductBacklogViewModel productBacklogViewModel = new ProductBacklogViewModel(this);
            SprintViewModel         sprintViewModel         = new SprintViewModel(this);
            AllUserTasksViewModel   allUserTasksViewModel   = new AllUserTasksViewModel(this);
            ReviewViewModel         reviewViewModel         = new ReviewViewModel(this);

            Logout.LogoutViewModel logoutViewModel = new Logout.LogoutViewModel(this);

            ContainerBuilder builder = new ContainerBuilder();

            builder.RegisterInstance(projectsViewModel);
            builder.RegisterInstance(teamsViewModel);
            builder.RegisterInstance(allTeamsViewModel);
            builder.RegisterInstance(productBacklogViewModel);
            builder.RegisterInstance(sprintViewModel);
            builder.RegisterInstance(allUserTasksViewModel);
            builder.RegisterInstance(reviewViewModel);
            builder.RegisterInstance(logoutViewModel);

            _viewModelsContainer = builder.Build();
        }
Exemplo n.º 12
0
 public Core(IRepositoryService repository, IDialogDisplay dialogDisplay)
 {
     Goals    = new GoalsViewModel(this, repository);
     Projects = new ProjectsViewModel(this, repository);
     Labels   = new LabelsViewModel(this, repository);
     Tasks    = new TasksViewModel(this, repository);
 }
        public ActionResult Edit(ProjectsViewModel model)
        {
            if (!ModelState.IsValid)
            {
                SetViewBagsAndHeaders(Request.IsAjaxRequest(), "Edit", "You have some validation errors.");
                if (Request.IsAjaxRequest())
                {
                    return(PartialView(model));
                }

                return(View(model));
            }
            SetViewBagsAndHeaders(Request.IsAjaxRequest(), "All added projects", "Project is edited successfully.");

            model.DateChanged = DateTime.Now;
            model.UserId      = User.Identity.GetUserId();

            projectServices.Update(Mapper.Map <Projects>(model));
            if (User.Identity.GetActiveProject() == model.IdProject.ToString())
            {
                Response.Headers["ProjectIsChanged"] = model.IdProject.ToString();
            }
            else
            {
                Response.Headers["ProjectDropDownIsChanged"] = model.IdProject.ToString();
            }
            if (Request.IsAjaxRequest())
            {
                return(PartialView("Index", projectServices.GetForUser(User.Identity.GetUserId()).ProjectTo <ProjectsViewModel>()));
            }

            return(View("Index", projectServices.GetForUser(User.Identity.GetUserId()).ProjectTo <ProjectsViewModel>()));
        }
Exemplo n.º 14
0
        public ActionResult Projects()
        {
            var viewModel = new ProjectsViewModel();

            Populate(viewModel);
            return(View(viewModel));
        }
 public ActionResult Index()
 {
     if (User.IsInRole("Admin"))
     {
         using (var db = new DataContext())
         {
             var model = new ProjectsViewModel()
             {
                 Projects = db.Projects.Select(p => new ProjectListViewModel
                 {
                     Id            = p.Id,
                     Title         = p.Title,
                     Platform      = p.Platform,
                     ProjectLeader = p.ProjectleaderName,
                     ReleaseDate   = p.ReleaseDate,
                     Employees     = p.Users.Count
                 }).ToList()
             };
             return(View(model));
         }
     }
     else if (User.IsInRole("Projectleader"))
     {
         return(MyProjects());
     }
     else if (User.IsInRole("Employee"))
     {
         return(EmpProjects());
     }
     return(View());
 }
Exemplo n.º 16
0
        public ActionResult Index(int id)
        {
            if (!AllowUserForProject(id) || id == null)
            {
                return(RedirectToAction("Index", "Home"));
            }

            var oProj = proMan.Projects.Where(o => o.ID == id).FirstOrDefault();

            if (oProj == null)
            {
                return(RedirectToAction("Index", "Home"));
            }

            var oDev = proMan.Developers.Where(o => o.Username == User.Identity.Name).FirstOrDefault();

            if (oDev == null)
            {
                return(RedirectToAction("Index", "Home"));
            }

            PoseidonWeb.Helpers.Classic.Sessions.Set <int>("ProjectID", id);

            ProjectsViewModel vm = (from p in proMan.Projects
                                    where p.ID == id
                                    select new ProjectsViewModel()
            {
                ID = p.ID,
                Name = p.Name,
                Descr = p.Descr
            }).FirstOrDefault();

            return(View(vm));
        }
Exemplo n.º 17
0
        private async Task <ProjectsViewModel> GetProjectsViewModelAsync(IPagingParameters pagingParameters)
        {
            var sortingParameter = new SortingParameters();

            sortingParameter.Add(new SortingPair(nameof(IProjectPoco.DateCreated), false));

            var statuses   = lookupService.GetAllTaskStatus();
            var domainList = await projectService.GetProjectsPagedAsync(pagingParameters, p => p.CompanyId == this.CompanyId, sortingParameter,
                                                                        this.ToNavPropertyString(nameof(IProjectPoco.Tasks)), this.ToNavPropertyString(nameof(IProjectPoco.ProjectUsers), nameof(IProjectUserPoco.User)));

            var vmProjects = new StaticPagedList <ProjectPreviewViewModel>(Mapper.Map <IEnumerable <ProjectPreviewViewModel> >(domainList.ToList()), pagingParameters.PageNumber, pagingParameters.PageSize, domainList.TotalItemCount);

            foreach (var project in vmProjects)
            {
                var tasks = domainList.First(p => p.Id == project.Id).Tasks;
                var team  = Mapper.Map <IEnumerable <UserPreviewViewModel> >(domainList.First(p => p.Id == project.Id).ProjectUsers.Select(d => d.User));

                project.TaskCount          = tasks.Count();
                project.CompletedTaskCount = tasks.Where(d => d.StatusId == statuses.First(s => s.Abrv == "CLOSED").Id).Count();
                project.LateTaskCount      = tasks.Where(p => p.DueDate <= DateTime.UtcNow).Count();
                project.TeamMembers        = team;
            }

            var vm = new ProjectsViewModel()
            {
                Projects = vmProjects
            };

            return(vm);
        }
Exemplo n.º 18
0
        public ActionResult ProjectManagement(int id)
        {
            var model = new ProjectsViewModel(id);

            _currentProjectId = id;
            return(View(model));
        }
        private void ProjectViewNewProjectClickHandler(ProjectsViewModel viewModel)
        {
            TextblockPanelName.Text = "Create New Project";

            RoleCache.GetInstance().Clear();
            EmployeeCache.GetInstance().Clear();
            ResourceCache.GetInstance().Clear();
            CustomerCache.GetInstance().Clear();
            ProcessCache.GetInstance().Clear();
            ProjectCache.GetInstance().Clear();
            var resources = ResourceCache.GetInstance().Resources;

            resources = ResourceCache.GetInstance().UpdateAllQSizes();

            DataContext = new AddEditProjectViewModel
            {
                Project = new Project
                {
                    Id          = 0,
                    Processes   = new List <Process>(),
                    StartDate   = DateTimeOffset.UtcNow,
                    PoDate      = DateTimeOffset.UtcNow,
                    Quantity    = 1,
                    OrderStatus = Project.ProjectOrderStatus.WaitingQuote,
                },
                BackClickedHandler = AddEditProjectViewBackClickHandler,
                Customers          = CustomerCache.GetInstance().Customers,
                Processes          = new ObservableCollection <Process>(new List <Process>()),
                Resources          = resources.OrderByDescending(r => r.QSize).ToList <Resource>(),
                Employees          = EmployeeCache.GetInstance().Employees
            };
        }
Exemplo n.º 20
0
        // GET: Projets/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Projet            projet          = db.Projet.Find(id);
            ProjectsViewModel projetviewmodel = new ProjectsViewModel()
            {
                ID              = projet.ID,
                ID_Initiative   = projet.ID_Initiative,
                Nom_projet      = projet.Nom_projet,
                Description     = projet.Description,
                Objectif_projet = projet.Objectif_projet,
                Date_debut      = projet.Date_debut.Value,
                Date_fin        = projet.Date_fin.Value
            };

            if (projet == null)
            {
                return(HttpNotFound());
            }
            ViewBag.ID_Initiative = new SelectList(db.Initiatives, "ID", "Nom_init", projetviewmodel.ID_Initiative);
            return(View(projetviewmodel));
        }
        public bool SetMainPage(string pageName)
        {
            var mainViewModel = MainViewModel.GetInstance();

            switch (pageName)
            {
            case "ProjectsTabbedPage":
                mainViewModel.Projects     = ProjectsViewModel.GetInstance();
                mainViewModel.Activities   = new ActivitiesViewModel();
                mainViewModel.ActivityEdit = new ActivityViewModel();
                mainViewModel.Dashboard    = new DashboardViewModel();
                mainViewModel.Dashboard.GetQueryTypeList();
                var projectsTabbed = new ProjectsTabbedPage();
                if (mainViewModel.CurrentUser.TrackingRegister)
                {
                    projectsTabbed.Children.Insert(0, new ProjectsPage());
                    projectsTabbed.CurrentPage = projectsTabbed.Children[0];
                }
                App.Current.MainPage = new NavigationPage(projectsTabbed);
                break;

            default:
                break;
            }
            App.Current.MainPage.Style = (Style)App.Current.Resources["navigationStyle"];
            return(true);
        }
Exemplo n.º 22
0
        // GET: Projects/Create
        public ActionResult Create()
        {
            var project = new ProjectsViewModel();

            project.Skills = db.Skills.ToList();
            return(View(project));
        }
Exemplo n.º 23
0
        public IActionResult Index()
        {
            ViewBag.inlineDefault = GetDemoSearchResults();

            var projects      = this._projectsRepository.GetAllProjects();
            var projectEntity = projects.ElementAt(0);
            var projectsVM    = new ProjectsViewModel()
            {
                ProjectId    = projectEntity.Id,
                ProjectName  = projectEntity.Name,
                ProjectsList = new List <SelectListItem>()
                {
                    new SelectListItem()
                    {
                        Value = "0", Text = "-"
                    }
                }
            };

            foreach (var p in projects)
            {
                projectsVM.ProjectsList.Add(new SelectListItem()
                {
                    Value = p.Id.ToString(), Text = p.Name
                });
            }

            return(View(projectsVM));
        }
        // GET: ProjectsPage
        public ActionResult Projects()
        {
            ProjectsViewModel ViewData = new ProjectsViewModel();

            ViewData.ProjectList = _context.Projects.ToList();
            var userId     = User.Identity.GetUserId();
            var SingleUser = _context.Users.SingleOrDefault(u => u.Id == userId);

            var SelectedRole = SingleUser.Roles.SingleOrDefault().RoleId;

            var role = _context.Roles.SingleOrDefault(r => r.Id == SelectedRole);

            if (!(role.Name == "GUEST"))
            {
                for (int i = 0; i < ViewData.ProjectList.Count; i++)
                {
                    var            PrId  = ViewData.ProjectList[i].Id;
                    List <Comment> lista = _context.Comments.Where(x => x.ProjectId == PrId).ToList();
                    foreach (var comment in lista)
                    {
                        ViewData.ProjectList[i].CommentList.Add(comment);
                    }
                }
            }


            return(View(ViewData));
        }
Exemplo n.º 25
0
        public ValueTask <ProjectsViewModel> GetProjects()
        {
            var projectsViewModel = new ProjectsViewModel {
                Projects = _existedProjects.Values
            };

            return(new ValueTask <ProjectsViewModel>(projectsViewModel));
        }
Exemplo n.º 26
0
        public ActionResult ProjectManagement(string comment)
        {
            var model = new ProjectsViewModel(_currentProjectId);

            model.SaveComment(comment);

            return(PartialView("_ChatForm", model));
        }
 public void SetUp()
 {
     dataProvider = new DataProvider(
         new MockedTeamCityClient(),
         new Worker { IsAsync = false });
     projectsViewModel = new ProjectsViewModel(dataProvider);
     projectsViewModel.LoadItems();
 }
Exemplo n.º 28
0
        public IActionResult Show(int projId)
        {
            //shows a specific project on its own page in detail
            ProjectsViewModel model = new ProjectsViewModel();

            model.DetailedProject = _projectsRepo.getById(projId);
            return(View(model));
        }
        public IActionResult Index()
        {
            var model = new ProjectsViewModel();

            model.Projects = _project.GetProjects();

            return(View(model));
        }
Exemplo n.º 30
0
 public ProjectsView(IUnityContainer container, IRegionManager regionManager, IEventAggregator eventAggregator) : base(regionManager, eventAggregator)
 {
     _container = container;
     InitializeComponent();
     _projectsViewModel = container.Resolve <ProjectsViewModel>();
     this.DataContext   = _projectsViewModel;
     Loaded            += OnLoaded;
 }
Exemplo n.º 31
0
        // GET: /<controller>/
        public IActionResult List()
        {
            //Lists all projects in cards on site
            ViewBag.Title = "What I've done so far";
            ProjectsViewModel model = new ProjectsViewModel();

            model.Projects = _projectsRepo.Items;
            return(View(model));
        }
Exemplo n.º 32
0
        public ProjectsView()
        {
            ProjectsViewModel = new ProjectsViewModel();
            DataContext       = ProjectsViewModel;
            InitializeComponent();

            ProjectsViewModel.PropertyChanged += ProcessesViewModel_PropertyChanged;
            Projects.AddHandler(Control.MouseDoubleClickEvent, new RoutedEventHandler(HandleDoubleClick));
        }
 public void ShouldPropagateSelectedBuild()
 {
     var projects = new ProjectsViewModel(dataProvider);
     projects.LoadItems();
     ProjectViewModel projectViewModel = projects.Collection[0];
     projectViewModel.LoadItems();
     BuildConfigViewModel buildConfigViewModel = projectViewModel.Collection[0];
     buildConfigViewModel.LoadItems();
     BuildViewModel buildViewModel = buildConfigViewModel.Collection[0];
     buildConfigViewModel.SelectedItem = buildViewModel;
     Assert.AreSame(buildViewModel, projects.SelectedBuild);
 }
Exemplo n.º 34
0
        public ActionResult ProjectsList(ProjectFilter filter, int page = 1)
        {
            PagingOption option = GetPagingOption(page);

            var model = new ProjectsViewModel
            {
                Projects = bll.ProjectManager.SelectProjects(filter, option),
                PagingOption = new WebPagingOption { CurrentPage = page, ItemsPerPage = PageSize5, TotalItems = option.RecordCount }
            };

            return PartialView(model);
        }
Exemplo n.º 35
0
 // GET: Portfolio
 public ActionResult Index(ProjectFilter filter)
 {
     var model = new ProjectsViewModel
     {
         Filter = filter,
         ServicedApplicationCategories = bll.ProjectManager.SelectServicedApplicationCategories(),
         ServicedIndustries = bll.ProjectManager.SelectServicedIndustries(),
         Technologies = bll.DictManager.SelectDicts("Technology", string.Empty)
     };
     ViewBag.PortfolioTitle = GetPortfolioTitle(filter);
     return View(model);
 }
 public ServerOverviewViewModel(
     IDataProvider dataProvider,
     IArtifactDownloader downloader,
     IFolderSelector folderSelector = null)
 {
     if (dataProvider == null)
     {
         throw new ArgumentNullException("dataProvider");
     }
     if (downloader == null)
     {
         throw new ArgumentNullException("downloader");
     }
     projects = new ProjectsViewModel(dataProvider);
     projects.PropertyChanged += ProjectPropertyChanged;
     projects.LoadItems();
     this.downloader = downloader;
     this.folderSelector = folderSelector;
 }
        /// <summary>
        /// Processes the specified solution path.
        /// </summary>
        /// <param name="projectsViewModel">The projects view model.</param>
        /// <param name="applicationOptionsViewModel">The application options view model.</param>
        /// <param name="ninjaCoderOptionsViewModel">The ninja coder options view model.</param>
        /// <param name="applicationSamplesOptionsViewModel">The application samples options view model.</param>
        /// <param name="viewsViewModel">The views view model.</param>
        /// <param name="pluginsViewModel">The plugins view model.</param>
        /// <param name="nugetPackagesViewModel">The nuget packages view model.</param>
        /// <param name="xamarinFormsLabsViewModel">The xamarin forms labs view model.</param>
        internal void Process(
            ProjectsViewModel projectsViewModel,
            ApplicationOptionsViewModel applicationOptionsViewModel,
            NinjaCoderOptionsViewModel ninjaCoderOptionsViewModel,
            ApplicationSamplesOptionsViewModel applicationSamplesOptionsViewModel,
            ViewsViewModel viewsViewModel,
            PluginsViewModel pluginsViewModel,
            NugetPackagesViewModel nugetPackagesViewModel,
            XamarinFormsLabsViewModel xamarinFormsLabsViewModel)
        {
            TraceService.WriteLine("ProjectsController::Process");

            foreach (SelectableItemViewModel<ProjectTemplateInfo> projectTemplateInfo in projectsViewModel.Projects)
            {
                TraceService.WriteLine(projectTemplateInfo.Item.Name + " project selected=" + projectTemplateInfo.IsSelected);
            }

            this.VisualStudioService.WriteStatusBarMessage(NinjaMessages.NinjaIsRunning);

            this.applicationService.SuspendResharperIfRequested();

            this.projectsService.IsNewSolution = this.VisualStudioService.SolutionAlreadyCreated;

            //// create the solution if we don't have one!
            if (this.projectsService.IsNewSolution == false)
            {
                this.VisualStudioService.SolutionService.CreateEmptySolution(projectsViewModel.GetSolutionPath(), projectsViewModel.Project);
            }

            if (this.SettingsService.CreateTestProjectsSolutionFolder)
            {
                this.VisualStudioService.SolutionService.AddSolutionFolder(this.SettingsService.TestProjectsSolutionFolderName);
                this.VisualStudioService.DTEService.SaveAll();
            }

               this.messages = this.projectsService.AddProjects(
                    this.VisualStudioService,
                    projectsViewModel.GetSolutionPath(),
                    projectsViewModel.GetFormattedRequiredTemplates())
                    .ToList();

            this.projectsService.SetStartUpProject();

            //// there is a bug in the xamarin iOS code that means it doesnt apply a couple of xml elements
            //// in the info.plist - here we fix that issue.

            if (this.SettingsService.FixInfoPlist)
            {
                this.applicationService.FixInfoPList(projectsViewModel.GetFormattedRequiredTemplates()
                        .FirstOrDefault(x => x.ProjectSuffix == this.SettingsService.iOSProjectSuffix));
            }

            IEnumerable<string> viewNugetCommands = new List<string>();

            if (this.SettingsService.FrameworkType != FrameworkType.NoFramework &&
                viewsViewModel != null)
            {
                //// if we dont have a viewmodel and view in memory - add one
                //// user will have dont show views and viewmodel options selected.
                if (!viewsViewModel.Views.Any())
                {
                    viewsViewModel.Add();
                }

                IEnumerable<string> viewModelMessages = this.viewModelViewsService.AddViewModelsAndViews(viewsViewModel.Views);

                this.messages.AddRange(viewModelMessages);

                viewNugetCommands = this.viewModelViewsService.GetNugetCommands();
            }

            TraceService.WriteLine("ProjectsController::Process GetApplication Commands");

            //// we need to get the post nuget commands that are now hosted in xml file that used to be in code
            CommandsList commandsList = this.applicationService.GetCommandsList();

            if (commandsList != null)
            {
                this.postNugetCommands.AddRange(commandsList.Commands);
                this.postNugetFileOperations.AddRange(commandsList.FileOperations);
            }

            IEnumerable<ProjectTemplateInfo> projectTemplateInfos = projectsViewModel.GetFormattedRequiredTemplates();

            this.commands += this.nugetService.GetNugetCommands(projectTemplateInfos);

            if (viewNugetCommands.Any())
            {
                foreach (string viewNugetCommand in viewNugetCommands)
                {
                    this.commands += viewNugetCommand + Environment.NewLine;
                }
            }

            this.PopulateNugetActions(applicationOptionsViewModel);
            this.PopulateNugetActions(ninjaCoderOptionsViewModel);
            this.PopulateNugetActions(applicationSamplesOptionsViewModel);
            this.PopulateNugetActions(pluginsViewModel);
            this.PopulateNugetActions(nugetPackagesViewModel);
            this.PopulateNugetActions(xamarinFormsLabsViewModel);

            this.cachingService.PostNugetCommands = this.postNugetCommands;
            this.cachingService.PostNugetFileOperations = this.postNugetFileOperations;

            //// a bit of (unnecessary) tidying up - replace double new lines!
            this.commands = this.commands.Replace(Environment.NewLine + Environment.NewLine, Environment.NewLine);

            this.CreateReadMe(false, false);

            TraceService.WriteHeader("RequestedNugetCommands=" + this.commands);

            if (this.SettingsService.ProcessNugetCommands)
            {
                this.ProcessNugetCommands();
            }

            TraceService.WriteLine("ProjectsController::Process END");
        }
Exemplo n.º 38
0
 public ActionResult Projects(ProjectFilter filter)
 {
     var model = new ProjectsViewModel
     {
         Filter = filter,
         ServicedApplicationCategories = bll.ProjectManager.SelectServicedApplicationCategories(),
         ServicedIndustries = bll.ProjectManager.SelectServicedIndustries()
     };
     return View(model);
 }
Exemplo n.º 39
0
        /// The methods provided in this section are simply used to allow
        /// NavigationHelper to respond to the page's navigation methods.
        /// 
        /// Page specific logic should be placed in event handlers for the  
        /// <see cref="GridCS.Common.NavigationHelper.LoadState"/>
        /// and <see cref="GridCS.Common.NavigationHelper.SaveState"/>.
        /// The navigation parameter is available in the LoadState method 
        /// in addition to page state preserved during an earlier session.

        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            navigationHelper.OnNavigatedTo(e);

            // Hide the on-canvas Back Button if we're on a phone or there's a shell drawn Back
            if (SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility == AppViewBackButtonVisibility.Visible 
                || Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons"))
            {
                backButton.Visibility = Visibility.Collapsed;
            }

            var customerID = (long)e.Parameter;

            var custViewModel = CustomersViewModel.GetDefault();
            pageTitle.Text = custViewModel.GetItem(customerID).Name;

            if (viewModel != null && (customerID == viewModel.CustomerId) && (timestamp >= viewModel.Timestamp))
                return;

            viewModel = ProjectsViewModel.GetForCustomerId(customerID);
            ProjectsList.ItemsSource = viewModel.GetAllItems();

            timestamp = DateTime.Now;
        }