public void PutInvalidIdTest() { ProjectController controller = new ProjectController(); controller.Request = new System.Net.Http.HttpRequestMessage { RequestUri = new Uri("http://localhost:50328/api/project") }; controller.Configuration = new System.Web.Http.HttpConfiguration(); controller.Configuration.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional }); controller.RequestContext.RouteData = new HttpRouteData( route: new HttpRoute(), values: new HttpRouteValueDictionary { { "controller", "project" } }); ProjectUI projectTest = new ProjectUI(); var result = controller.Put(-1, projectTest); Assert.That(result.StatusCode, Is.EqualTo(System.Net.HttpStatusCode.BadRequest)); }
// GET api/project public IEnumerable <ProjectUI> Get() { IList <ProjectUI> projectUIlist = new List <ProjectUI>(); ProjectUI projectUI; //_db.Projects.Include(x => x.User); foreach (Project project in _db.Projects.Include(x => x.User).Include(y => y.Task)) { projectUI = new ProjectUI(project); User user = project.User.FirstOrDefault(); if (user != null) { projectUI.UserId = user.UserId; projectUI.Username = user.FirstName; } projectUI.TotalTasks = project.Task.Count(); projectUI.TotalCompleted = project.Task.Count(x => !string.IsNullOrEmpty(x.Status) && x.Status.Equals("Completed")); projectUIlist.Add(projectUI); } return(projectUIlist); }
public override void Setup() { base.Setup(); var contentPrefab = U.Object.Instantiate(m_ContentPrefab, m_WorkspaceUI.sceneContainer, false); m_ProjectUI = contentPrefab.GetComponent <ProjectUI>(); var filterPrefab = U.Object.Instantiate(m_FilterPrefab, m_WorkspaceUI.frontPanel, false); m_FilterUI = filterPrefab.GetComponent <FilterUI>(); var sliderPrefab = U.Object.Instantiate(m_SliderPrefab, m_WorkspaceUI.frontPanel, false); var zoomSlider = sliderPrefab.GetComponent <ZoomSliderUI>(); zoomSlider.zoomSlider.minValue = kMinScale; zoomSlider.zoomSlider.maxValue = kMaxScale; zoomSlider.zoomSlider.value = m_ProjectUI.assetListView.scaleFactor; zoomSlider.sliding += Scale; m_ProjectUI.folderListView.selectFolder = SelectFolder; var assetListView = m_ProjectUI.assetListView; assetListView.testFilter = TestFilter; assetListView.placeObject = placeObject; assetListView.getPreviewOriginForRayOrigin = getPreviewOriginForRayOrigin; assetListView.positionPreview = positionPreview; #if UNITY_EDITOR EditorApplication.projectWindowChanged += SetupFolderList; SetupFolderList(); #else Debug.LogWarning("Project workspace does not work in builds"); return; #endif var scrollHandles = new[] { m_ProjectUI.folderScrollHandle, m_ProjectUI.assetScrollHandle }; foreach (var handle in scrollHandles) { // Scroll Handle shouldn't move on bounds change handle.transform.parent = m_WorkspaceUI.sceneContainer; handle.dragStarted += OnScrollDragStarted; handle.dragging += OnScrollDragging; handle.dragEnded += OnScrollDragEnded; handle.hoverStarted += OnScrollHoverStarted; handle.hoverEnded += OnScrollHoverEnded; } // Propagate initial bounds OnBoundsChanged(); }
// GET api/project/5 //public string Get(int id) //{ // return "method not used"; //} // POST api/project public HttpResponseMessage Post([FromBody] ProjectUI projectUI) { Project project = new Project(projectUI); if (ModelState.IsValid) { User user = _db.Users.Find(projectUI.UserId); //Project projectTemp = _db.Projects.Include(x => x.User.Select(y => y.UserId == projectUI.UserId)).First(z => z.User.Any()); var projectList = _db.Projects.Include(x => x.User).Where(y => y.User.Any(z => z.UserId == projectUI.UserId)); Project projectTemp = null; if (projectList != null && projectList.Any()) { projectTemp = projectList.FirstOrDefault(tempUser => tempUser.User.Any()); } if (projectTemp != null) { projectTemp.User.Clear(); } if (user != null) { if (project.User == null) { project.User = new List <User>(); } project.User.Add(user); } _db.Projects.Add(project); _db.SaveChanges(); HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, project); response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = project.ProjectId })); return(response); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest)); } }
// PUT api/project/5 public HttpResponseMessage Put(int id, [FromBody] ProjectUI projectUI) { //Project project = new Project(projectUI); Project project = _db.Projects.Include(x => x.User).FirstOrDefault(y => y.ProjectId == projectUI.ProjectId); //User previousUser = project.User.FirstOrDefault(); // _db.Projects.Find(project.ProjectId)!=null? project.User.First(); User user = _db.Users.Find(projectUI.UserId); if (user != null && project != null && ModelState.IsValid) { project.User.Clear(); project.User.Add(user); project.Project_Name = projectUI.Project_Name; project.StartDate = projectUI.StartDate; project.EndDate = projectUI.EndDate; project.Priority = projectUI.Priority; _db.Entry(project).State = System.Data.Entity.EntityState.Modified; try { _db.SaveChanges(); } catch (DbUpdateConcurrencyException) { return(Request.CreateResponse(HttpStatusCode.NotFound)); } return(Request.CreateResponse(HttpStatusCode.OK, user)); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest)); } }
public void PutTest() { ProjectController controller = new ProjectController(); controller.Request = new System.Net.Http.HttpRequestMessage { RequestUri = new Uri("http://localhost:50328/api/project") }; controller.Configuration = new System.Web.Http.HttpConfiguration(); controller.Configuration.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional }); controller.RequestContext.RouteData = new HttpRouteData( route: new HttpRoute(), values: new HttpRouteValueDictionary { { "controller", "project" } }); UserController userController = new UserController(); userController.Request = new System.Net.Http.HttpRequestMessage { RequestUri = new Uri("http://localhost:50328/api/project") }; userController.Configuration = new System.Web.Http.HttpConfiguration(); userController.Configuration.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional }); userController.RequestContext.RouteData = new HttpRouteData( route: new HttpRoute(), values: new HttpRouteValueDictionary { { "controller", "user" } }); TaskController taskController = new TaskController(); taskController.Request = new System.Net.Http.HttpRequestMessage { RequestUri = new Uri("http://localhost:50328/api/project") }; taskController.Configuration = new System.Web.Http.HttpConfiguration(); taskController.Configuration.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional }); taskController.RequestContext.RouteData = new HttpRouteData( route: new HttpRoute(), values: new HttpRouteValueDictionary { { "controller", "task" } }); ParentTaskController parentTaskController = new ParentTaskController(); parentTaskController.Request = new System.Net.Http.HttpRequestMessage { RequestUri = new Uri("http://localhost:50328/api/project") }; parentTaskController.Configuration = new System.Web.Http.HttpConfiguration(); parentTaskController.Configuration.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional }); parentTaskController.RequestContext.RouteData = new HttpRouteData( route: new HttpRoute(), values: new HttpRouteValueDictionary { { "controller", "task" } }); int userId = 0; int projectId = 0; int parentTaskId = 0; User userTest = new User(); userTest.EmployeeId = "2222"; userTest.FirstName = "fnameTest"; userTest.LastName = "lnameTest"; userController.Post(userTest); IEnumerable <User> userResult = userController.Get(); if (userResult.Count() > 0 && userResult.Any(x => (x.EmployeeId == "2222" && x.FirstName.Equals("fnameTest") && x.LastName.Equals("lnameTest")))) { userId = userResult.First(x => (x.EmployeeId == "2222" && x.FirstName.Equals("fnameTest") && x.LastName.Equals("lnameTest"))).UserId; userTest = userController.Get(userId); } // Act ProjectUI projectTest = new ProjectUI(); projectTest.Project_Name = "unitTestingProject"; projectTest.Priority = 3; projectTest.StartDate = DateTime.Now.Date; projectTest.EndDate = DateTime.Now.Date.AddDays(2); projectTest.UserId = userId; projectTest.Username = userTest.FirstName; controller.Post(projectTest); IEnumerable <ProjectUI> projectResult = controller.Get(); if (projectResult.Count() > 0 && projectResult.Any(x => (x.Project_Name == "unitTestingProject" && x.Priority == 3 && x.StartDate == DateTime.Now.Date && x.EndDate == DateTime.Now.Date.AddDays(2) && x.UserId == userId))) { projectTest = projectResult.First(x => (x.Project_Name == "unitTestingProject" && x.Priority == 3 && x.StartDate == DateTime.Now.Date && x.EndDate == DateTime.Now.Date.AddDays(2) && x.UserId == userId)); projectId = projectTest.ProjectId; } ParentTask parentTaskTest = new ParentTask(); parentTaskTest.Parent_Task = "parentTaskTest"; parentTaskController.Post(parentTaskTest); var parentTaskResult = parentTaskController.Get(); if (parentTaskResult.Count() > 0 && parentTaskResult.Any(x => (x.Parent_Task == "parentTaskTest"))) { parentTaskTest = parentTaskResult.First(x => (x.Parent_Task == "parentTaskTest")); parentTaskId = parentTaskTest.ParentTaskId; } TaskUI taskTest = new TaskUI(); taskTest.ParentTaskId = parentTaskId; taskTest.ProjectId = projectId; taskTest.Priority = 3; taskTest.Start_Date = DateTime.Now.Date; taskTest.End_date = DateTime.Now.Date.AddDays(2); taskTest.UserId = userId; taskController.Post(taskTest); var taskResult = taskController.Get(); if (taskResult.Count() > 0 && taskResult.Any(x => (x.ParentTaskId == parentTaskId && x.Priority == 3 && x.Start_Date == DateTime.Now.Date && x.End_date == DateTime.Now.Date.AddDays(2) && x.ProjectId == projectId))) { taskTest = taskResult.First(x => (x.ParentTaskId == parentTaskId && x.Priority == 3 && x.Start_Date == DateTime.Now.Date && x.End_date == DateTime.Now.Date.AddDays(2) && x.ProjectId == projectId)); } taskTest.Priority = 15; taskController.Put(taskTest.TaskId, taskTest); taskTest = taskController.Get(taskTest.TaskId); taskController.Delete(taskTest.TaskId); parentTaskController.Delete(parentTaskId); controller.Delete(projectId); userController.DeleteUser(userId); controller.Dispose(); userController.Dispose(); parentTaskController.Dispose(); taskController.Dispose(); // Assert Assert.That(taskTest.Priority, Is.EqualTo(15)); }
public void DeleteTest() { // Arrange ProjectController controller = new ProjectController(); controller.Request = new System.Net.Http.HttpRequestMessage { RequestUri = new Uri("http://localhost:50328/api/project") }; controller.Configuration = new System.Web.Http.HttpConfiguration(); controller.Configuration.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional }); controller.RequestContext.RouteData = new HttpRouteData( route: new HttpRoute(), values: new HttpRouteValueDictionary { { "controller", "project" } }); UserController userController = new UserController(); userController.Request = new System.Net.Http.HttpRequestMessage { RequestUri = new Uri("http://localhost:50328/api/project") }; userController.Configuration = new System.Web.Http.HttpConfiguration(); userController.Configuration.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional }); userController.RequestContext.RouteData = new HttpRouteData( route: new HttpRoute(), values: new HttpRouteValueDictionary { { "controller", "user" } }); int userId = 0; int projectId = 0; User userTest = new User(); userTest.EmployeeId = "2222"; userTest.FirstName = "fnameTest"; userTest.LastName = "lnameTest"; userController.Post(userTest); IEnumerable <User> userResult = userController.Get(); if (userResult.Count() > 0 && userResult.Any(x => (x.EmployeeId == "2222" && x.FirstName.Equals("fnameTest") && x.LastName.Equals("lnameTest")))) { userId = userResult.First(x => (x.EmployeeId == "2222" && x.FirstName.Equals("fnameTest") && x.LastName.Equals("lnameTest"))).UserId; userTest = userController.Get(userId); } // Act ProjectUI projectTest = new ProjectUI(); projectTest.Project_Name = "unitTestingProject"; projectTest.Priority = 3; projectTest.StartDate = DateTime.Now.Date; projectTest.EndDate = DateTime.Now.Date.AddDays(2); projectTest.UserId = userId; projectTest.Username = userTest.FirstName; controller.Post(projectTest); IEnumerable <ProjectUI> result = controller.Get(); if (result.Count() > 0 && result.Any(x => (x.Project_Name == "unitTestingProject" && x.Priority == 3 && x.StartDate == DateTime.Now.Date && x.EndDate == DateTime.Now.Date.AddDays(2) && x.UserId == userId))) { projectId = result.First(x => (x.Project_Name == "unitTestingProject" && x.Priority == 3 && x.StartDate == DateTime.Now.Date && x.EndDate == DateTime.Now.Date.AddDays(2) && x.UserId == userId)).ProjectId; } int initialCount = controller.Get().Count(); controller.Delete(projectId); userController.DeleteUser(userId); int finalCount = controller.Get().Count(); controller.Dispose(); userController.Dispose(); // Assert Assert.That(finalCount, Is.EqualTo(initialCount - 1)); }
public override void Setup() { // Initial bounds must be set before the base.Setup() is called minBounds = new Vector3(kMinBounds.x, kMinBounds.y, 0.5f); m_CustomStartingBounds = minBounds; base.Setup(); topPanelDividerOffset = -0.2875f; // enable & position the top-divider(mask) slightly to the left of workspace center var contentPrefab = U.Object.Instantiate(m_ContentPrefab, m_WorkspaceUI.sceneContainer, false); m_ProjectUI = contentPrefab.GetComponent <ProjectUI>(); var assetGridView = m_ProjectUI.assetGridView; assetGridView.testFilter = TestFilter; assetGridView.data = new List <AssetData>(); connectInterfaces(assetGridView); var folderListView = m_ProjectUI.folderListView; folderListView.selectFolder = SelectFolder; folderData = m_FolderData; m_FilterUI = U.Object.Instantiate(m_FilterPrefab, m_WorkspaceUI.frontPanel, false).GetComponent <FilterUI>(); foreach (var mb in m_FilterUI.GetComponentsInChildren <MonoBehaviour>()) { connectInterfaces(mb); } filterList = m_FilterList; var sliderPrefab = U.Object.Instantiate(m_SliderPrefab, m_WorkspaceUI.frontPanel, false); var zoomSlider = sliderPrefab.GetComponent <ZoomSliderUI>(); zoomSlider.zoomSlider.minValue = kMinScale; zoomSlider.zoomSlider.maxValue = kMaxScale; zoomSlider.zoomSlider.value = m_ProjectUI.assetGridView.scaleFactor; zoomSlider.sliding += Scale; foreach (var mb in zoomSlider.GetComponentsInChildren <MonoBehaviour>()) { connectInterfaces(mb); } var scrollHandles = new[] { m_ProjectUI.folderScrollHandle, m_ProjectUI.assetScrollHandle }; foreach (var handle in scrollHandles) { // Scroll Handle shouldn't move on bounds change handle.transform.parent = m_WorkspaceUI.sceneContainer; handle.dragStarted += OnScrollDragStarted; handle.dragging += OnScrollDragging; handle.dragEnded += OnScrollDragEnded; } // Hookup highlighting calls m_ProjectUI.assetScrollHandle.dragStarted += OnAssetGridDragHighlightBegin; m_ProjectUI.assetScrollHandle.dragEnded += OnAssetGridDragHighlightEnd; m_ProjectUI.assetScrollHandle.hoverStarted += OnAssetGridHoverHighlightBegin; m_ProjectUI.assetScrollHandle.hoverEnded += OnAssetGridHoverHighlightEnd; m_ProjectUI.folderScrollHandle.dragStarted += OnFolderPanelDragHighlightBegin; m_ProjectUI.folderScrollHandle.dragEnded += OnFolderPanelDragHighlightEnd; m_ProjectUI.folderScrollHandle.hoverStarted += OnFolderPanelHoverHighlightBegin; m_ProjectUI.folderScrollHandle.hoverEnded += OnFolderPanelHoverHighlightEnd; // Assign highlight references m_FolderPanelHighlightContainer = m_ProjectUI.folderPanelHighlight.transform.parent.transform; m_AssetGridHighlightContainer = m_ProjectUI.assetGridHighlight.transform.parent.transform; // Propagate initial bounds OnBoundsChanged(); }