/// <summary> /// Get project file by project id, returns a viewmodel of the type 'ProjectFileViewModel'. /// LINQ query for each of 'ProjectFileViewModel' properties used. /// </summary> /// <param name="projectFileId">Project File ID</param> /// <returns>'ProjectFileViewModel'</returns> public ProjectFileViewModel getProjectFileByProjectFileId(int projectFileId) { if (projectFileId > 0) { ProjectFileViewModel model = new ProjectFileViewModel(); model._id = (from f in _db._projectFiles where f.ID == projectFileId select f.ID).SingleOrDefault(); model._projectFileData = (from f in _db._projectFiles where f.ID == projectFileId select f._projectFileData).SingleOrDefault().ToString(); model._projectFileName = (from f in _db._projectFiles where f.ID == projectFileId select f._projectFileName).SingleOrDefault().ToString(); model._projectFileType = (from f in _db._projectFiles where f.ID == projectFileId select f._projectFileType).SingleOrDefault().ToString(); model._projectID = (from f in _db._projectFiles where f.ID == projectFileId select f._projectID).SingleOrDefault(); model._aceExtension = (from f in _db._projectFiles where f.ID == projectFileId select f._aceExtension).SingleOrDefault().ToString(); return(model); } return(null); }
private bool UpdateLineAndColumnOfCursorPositionInViewModel(bool bypassContentSynchronizationWithViewModel) { ProjectViewModel proj = DataContext as ProjectViewModel; if (proj == null) { return(false); } ProjectFileViewModel projFile = proj.SelectedProjectItem as ProjectFileViewModel; if (projFile == null) { return(false); } // Update the caret index. I'd like to just data-bind the thing, but it's not a dependency property, // and this seems to be the simplest way to do it. projFile.CaretIndex = SelectedFileContent.CaretIndex; if (bypassContentSynchronizationWithViewModel) { // Update file content projFile.Content = SelectedFileContent.Text; } ResolveLineAndColumnPositionInFileFromCaretIndex(projFile); return(true); }
public ActionResult DeleteProjectFileConfirmed(int id) { ProjectFileViewModel model = new ProjectFileViewModel(); model = _projectFileService.getProjectFileByProjectFileId(id); _projectFileService.deleteProjectFile(id); return(RedirectToAction("DisplayProject" + "/" + model._projectID.ToString())); }
internal virtual void Run(string outputFile, ProjectFileViewModel model, string viewPath) { var output = RenderViewToString(model, viewPath); if (!String.IsNullOrWhiteSpace(output)) { Directory.CreateDirectory(Directory.GetParent(outputFile).FullName); File.WriteAllText(outputFile, output); } }
/// <summary> /// Update file by file ID in the Db. /// </summary> /// <param name="file">'ProjectFileViewModel'</param> public void updateProjectFile(ProjectFileViewModel file) { if (file._id != 0) { (from f in _db._projectFiles where f.ID == file._id select f).SingleOrDefault()._projectFileData = file._projectFileData; _db.SaveChanges(); } }
public async Task <IActionResult> Details(string id) { var project = await this.adminService.GetProjectById(id); var projectFiles = await this.projectService.GetCurrentProjectFiles(id); var projectFilesResult = new List <ProjectFileViewModel>(); foreach (var currentProjectFile in projectFiles) { var projectFile = new ProjectFileViewModel { Id = currentProjectFile.Id, Name = currentProjectFile.Name, IsApproved = currentProjectFile.IsApproved, IsPublic = currentProjectFile.IsPublic, ProjectId = currentProjectFile.ProjectId, Url = currentProjectFile.Url, }; projectFilesResult.Add(projectFile); } var projectReviews = await this.projectService.GetCurrentProjectReviews(id); var projectDesignBoards = await this.projectService.GetCurrentProjectDesignBoards(id); var resultDesignBoards = new List <DesignBoardViewModel>(); foreach (var designBoard in projectDesignBoards) { var board = new DesignBoardViewModel { Id = designBoard.Id, Name = designBoard.Name, DesignReferences = await this.designBoardService.GetDesignBoardReferences(designBoard.Id), ProjectStatus = project.Status.ToString(), }; resultDesignBoards.Add(board); } var result = new ProjectDetailsViewModel { ProjectFiles = projectFilesResult, ProjectReviews = projectReviews, DesignBoards = resultDesignBoards, Name = project.Name, Id = id, Status = project.Status.ToString(), }; return(this.View(result)); }
public ActionResult EditProjectFile(ProjectFileViewModel model) { if (model._projectFileData == null) { model._projectFileData = ""; } if (model._id != 0) { _projectFileService.updateProjectFile(model); return(View(model)); } return(HttpNotFound()); }
public ActionResult EditProjectFile(int?id) { if (id != null) { if (_projectFileService.doesProjectFileExist(id.Value)) { int projectId = _projectFileService.getProjectFileByProjectFileId(id.Value)._projectID; if (_userService.isProjectOwnerOrMember(User.Identity.Name, projectId)) { ProjectFileViewModel model = new ProjectFileViewModel(); model = _projectFileService.getProjectFileByProjectFileId(id.Value); return(View(model)); } } } return(RedirectToAction("Index", "Overview")); }
public ActionResult DeleteProjectFile(int?id) { if (id != null) { if (_projectFileService.doesProjectFileExist(id.Value)) { int projectId = _projectFileService.getProjectFileByProjectFileId(id.Value)._projectID; if (_userService.isProjectOwner(User.Identity.Name, projectId)) { ProjectFileViewModel model = new ProjectFileViewModel(); model = _projectFileService.getProjectFileByProjectFileId(id.Value); return(View(model)); } } } return(HttpNotFound()); }
public async Task <ProjectFileViewModel> AddProjectFile(ProjectFileCreateModel projectFile) { var project = this.context .Projects .Where(p => p.Id == projectFile.ProjectId) .SingleOrDefault(); var file = projectFile.File; if (this.context.ProjectFiles.Any(p => p.Name == projectFile.Name)) { return(null); } string projectFileUrl = await this.cloudinaryService.UploadProjectFileAsync(projectFile.File, Guid.NewGuid().ToString()); var newFile = new ProjectFile { IsApproved = projectFile.IsApproved, AddedOn = projectFile.AddedOn, ProjectId = project.Id, IsPublic = projectFile.IsPublic, Name = projectFile.Name, Url = projectFileUrl, }; project.ProjectFiles.Add(newFile); await this.context.SaveChangesAsync(); var result = new ProjectFileViewModel { IsApproved = newFile.IsApproved, IsPublic = newFile.IsPublic, Url = newFile.Url, }; return(result); }
/// <summary> /// try to convert the content index to a line and column /// </summary> /// <param name="fileVm"></param> /// <param name="caretIndex"></param> private void ResolveLineAndColumnPositionInFileFromCaretIndex(ProjectFileViewModel fileVm) { int caretIndex = fileVm.CaretIndex; var contentParts = fileVm.Content.Split(new[] { "\r\n" }, StringSplitOptions.None); int newStart = 0; bool done = false; for (int line = 0; line < contentParts.Length && !done; line++) { string lineContent = contentParts[line]; int start = newStart; int end = newStart + lineContent.Length; if (caretIndex >= start && caretIndex <= end) { fileVm.CaretLine = line + 1; fileVm.CaretColumn = caretIndex - start + 1; done = true; } newStart = end + 2; } fileVm.CaretLocation = string.Format("line {0}, col {1}", fileVm.CaretLine, fileVm.CaretColumn); }
private void ParseFile() { if (Dispatcher != null && !Dispatcher.CheckAccess()) { Dispatcher.BeginInvoke(DispatcherPriority.Normal, (Action)ParseFile); return; } ProjectFileViewModel fileToParse = _fileToParse; #region Do Parsing and other stuff... //Logger.AppendLine("this is where we will parse file {0}...", fileToParse.Name); //ParseFile(fileToParse); #endregion // if the preconditions for this method invocation still hold true, then clear the file to parse ref to indicate that we've parse the file. if (fileToParse == _fileToParse && DateTime.Now > _timeAtWhichToParse) { _fileToParse = null; } }
public virtual string RenderViewToString(ProjectFileViewModel viewModel, string viewPath) { var actionContext = GetActionContext(); var view = FindView(viewPath); using (var output = new StringWriter()) { var viewContext = new ViewContext( actionContext, view, new ViewDataDictionary <ProjectFileViewModel>( new EmptyModelMetadataProvider(), new ModelStateDictionary()) { Model = viewModel }, new TempDataDictionary( actionContext.HttpContext, _tempDataProvider), output, new HtmlHelperOptions()); view.RenderAsync(viewContext).GetAwaiter().GetResult(); return(output.ToString()); } ActionContext GetActionContext() { var httpContext = new DefaultHttpContext { RequestServices = _serviceProvider }; return(new ActionContext(httpContext, new RouteData(), new ActionDescriptor())); } }
public void TestUpdateProjectFile() { // Arrange: CreateProjectFileViewModel model = new CreateProjectFileViewModel(); model._projectID = 2; model._projectFileName = "AddTestFile_01"; model._projectFileType = ".css"; model._projectFileData = "hodor hodOr HODOr...hODOr"; model._isUserProjectOwner = true; _service.addProjectFile(model); ProjectFileViewModel modelUpdate = new ProjectFileViewModel(); modelUpdate._id = 0; modelUpdate._projectFileData = "bacon bacOn BACOn...bACOn"; // Act: _service.updateProjectFile(modelUpdate); // Assert: Assert.AreEqual("bacon bacOn BACOn...bACOn", _service.getProjectFileByProjectFileId(0)._projectFileData); }
public virtual void Render(ProjectFileViewModel model, string outputFile) { Run(outputFile, model, "Views\\ProjectFile.cshtml"); }
public ActionResult createNewProjectFile(ProjectFileViewModel model) { return(null); }
public void Initialize() { var mockDb = new MockDataContext(); #region Initialize projects. var p1 = new Project { ID = 1, _projectName = "Project_1", _projectFileTypeId = 1, }; mockDb._projects.Add(p1); var p2 = new Project { ID = 2, _projectName = "Project_2", _projectFileTypeId = 2 }; mockDb._projects.Add(p2); var p3 = new Project { ID = 3, _projectName = "Project_3", _projectFileTypeId = 3 }; mockDb._projects.Add(p3); var p4 = new Project { ID = 4, _projectName = "Project_4", _projectFileTypeId = 4 }; mockDb._projects.Add(p4); var p5 = new ProjectFile { ID = 1, _projectID = 1, _projectFileName = "lab1", _projectFileType = "html", _aceExtension = "html", _projectFileData = "hello" }; mockDb._projectFiles.Add(p5); var p6 = new ProjectOwner { ID = 1, _projectID = 1, _userName = "******" }; mockDb._projectOwners.Add(p6); var p7 = new ProjectFileViewModel { _id = 1, _projectFileData = "dada", _projectID = 1, _projectFileName = "lab98" }; mockDb._projectFileViewModel.Add(p7); var p8 = new ProjectViewModel { _id = 1, _isProjectOwner = true, _projectName = "String" }; mockDb._projectViewModel.Add(p8); var p9 = new ApplicationUserViewModel { _applicationUserName = "******" //_applicationUserProjects "" }; mockDb.UserViewModel.Add(p9); #endregion _service = new ProjectService(mockDb); }
public ActionResult updateProjectFile(ProjectFileViewModel model) { return(null); }