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));
        }
Пример #2
0
        // 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);
        }
Пример #3
0
    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();
    }
Пример #4
0
        // 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));
            }
        }
Пример #5
0
        // 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));
        }
Пример #8
0
    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();
    }