public void ShouldHaveEmptyCollectionUntilExplicitlyLoaded() { var projects = new ProjectsViewModel(dataProvider); Assert.IsEmpty(projects.Collection); projects.LoadItems(); Assert.IsNotEmpty(projects.Collection); }
// 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)); }
/// 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; }
// 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)); }
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)); }
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)); }
public ActionResult ProjectsList(int page) { string userId = User.Identity.GetUserId(); ProjectsViewModel model = projectService.GetProjects(userId, page); return(PartialView(model)); }
public ActionResult AllProjects(int page = 0) { string userId = User.Identity.GetUserId(); ProjectsViewModel model = projectService.GetProjects(userId, page); return(View(model)); }
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(); }
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>())); }
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()); }
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)); }
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); }
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 }; }
// 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); }
// GET: Projects/Create public ActionResult Create() { var project = new ProjectsViewModel(); project.Skills = db.Skills.ToList(); return(View(project)); }
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)); }
public ValueTask <ProjectsViewModel> GetProjects() { var projectsViewModel = new ProjectsViewModel { Projects = _existedProjects.Values }; return(new ValueTask <ProjectsViewModel>(projectsViewModel)); }
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(); }
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)); }
public ProjectsView(IUnityContainer container, IRegionManager regionManager, IEventAggregator eventAggregator) : base(regionManager, eventAggregator) { _container = container; InitializeComponent(); _projectsViewModel = container.Resolve <ProjectsViewModel>(); this.DataContext = _projectsViewModel; Loaded += OnLoaded; }
// 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)); }
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); }
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); }
// 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"); }
public ActionResult Projects(ProjectFilter filter) { var model = new ProjectsViewModel { Filter = filter, ServicedApplicationCategories = bll.ProjectManager.SelectServicedApplicationCategories(), ServicedIndustries = bll.ProjectManager.SelectServicedIndustries() }; return View(model); }
/// 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; }