public ActionResult myProjects(int id)
        {
            DatabaseEntities oobj = new DatabaseEntities();

            List <ProjectPostModel> mpm        = new List <ProjectPostModel>();
            List <ProjectsTable>    myProjects = new List <ProjectsTable>();

            myProjects = (from tm in oobj.teamMembersTables
                          join pr in oobj.ProjectsTables on tm.project_id equals pr.project_id
                          where tm.user_id == id
                          select pr).ToList();
            List <ProjectsTable> myProjects2 = new List <ProjectsTable>();

            myProjects2 = oobj.ProjectsTables.Where(r => r.teamLead_id == id).ToList();
            myProjects.AddRange(myProjects2);
            foreach (var project in myProjects)
            {
                ProjectPostModel ppm = new ProjectPostModel();
                ppm.post_idea = oobj.PostTables.Find(project.post_id);
                ppm.project   = project;
                mpm.Add(ppm);
            }

            return(View(mpm));
        }
        public void TestProjectPostModelConstruction()
        {
            // Arrange
            var values = new Dictionary <string, string>
            {
                { "name", ProjectName },
                { "description", ProjectDescription },
                { "data", DataName },
                { "dataUri", DataUri },
                { "video", VideoName },
                { "videoUri", VideoUri },
                { "public", Public }
            };

            // Act
            ProjectPostModel result = ProjectModelFactory.CreatePostModel(values);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(ProjectPostModel));
            Assert.AreEqual(result.Name, ProjectName);
            Assert.AreEqual(result.Description, ProjectDescription);
            Assert.AreEqual(result.Data, DataName);
            Assert.AreEqual(result.DataUri, DataUri);
            Assert.AreEqual(result.Video, VideoName);
            Assert.AreEqual(result.VideoUri, VideoUri);
            Assert.AreEqual(result.Public, "true");
        }
示例#3
0
        private Project Read(ProjectPostModel model)
        {
            var viewModel = new Project()
            {
                Id          = model.Id,
                Name        = model.Name,
                Description = model.Description,
                DueDate     = model.DueDate,
                IsActive    = model.IsActive
            };

            return(viewModel);
        }
示例#4
0
        public IActionResult Create([Bind("Name", "Description", "IsActive", "DueDate")] ProjectPostModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                TempData["fail"] = "An error occurred.";
                return(View(this.Read(viewModel)));
            }

            if (viewModel.DueDate <= DateTime.Now)
            {
                TempData["fail"] = "Due date cannot be set before or on today.";
                return(View(this.Read(viewModel)));
            }

            try
            {
                var model = new Project()
                {
                    Id           = 0,
                    Name         = viewModel.Name,
                    Description  = viewModel.Description,
                    IsActive     = viewModel.IsActive,
                    DueDate      = viewModel.DueDate,
                    CreatedDate  = DateTime.Now,
                    ModifiedDate = DateTime.Now
                };

                //save to database
                var result = _projectInteractor.CreateProject(model);
                TempData.Remove("fail");

                if (result.Item1 != null)
                {
                    TempData["success"] = $"'{viewModel.Name}' was created!";
                    return(RedirectToAction("Index", "Home", "success"));
                }

                TempData["fail"] = $"Error: {result.Item2}";
                return(View());
            }
            catch (Exception ex)
            {
                TempData["fail"] = $"Error: {ex.Message}";
                return(View());
            }
        }
        public ActionResult allProjects()
        {
            DatabaseEntities        obj        = new DatabaseEntities();
            List <ProjectPostModel> mpm        = new List <ProjectPostModel>();
            List <ProjectsTable>    myProjects = new List <ProjectsTable>();

            myProjects = obj.ProjectsTables.ToList();
            foreach (var project in myProjects)
            {
                ProjectPostModel ppm = new ProjectPostModel();
                ppm.post_idea = obj.PostTables.Find(project.post_id);
                ppm.project   = project;
                ppm.user      = obj.UserTables.Find(project.teamLead_id);
                mpm.Add(ppm);
            }
            return(View(mpm));
        }
示例#6
0
        public void TestAddProjectCommand()
        {
            // Arrange
            bool isFaulted = false;
            HttpResponseMessage response = null;

            var project = new ProjectPostModel
            {
                Name        = ProjectNameConst,
                Description = ProjectDescriptionConst,
                Data        = DataNameConst,
                DataUri     = DataUriConst,
                Video       = VideoNameConst,
                VideoUri    = VideoUriConst,
                Public      = "true"
            };

            var projectsAddCommand = new ProjectsAddCommand(GetFakeApiController(true), GetFakeProjectRepository(), GetFakeQueueVideoRepository(), project);

            // Act
            Task <HttpResponseMessage> responseTask = projectsAddCommand.Execute();
            Task <bool> taskResult = responseTask.ContinueWith(p => isFaulted = p.IsFaulted, TaskContinuationOptions.ExecuteSynchronously);

            taskResult.Wait();

            if (!isFaulted)
            {
                response = responseTask.Result;
            }

            // Assert
            _repositoryMock.Verify(m => m.AddAsync(It.IsAny <ProjectAddParameters>()), Times.Once());
            Assert.IsFalse(isFaulted);
            Assert.IsNotNull(response);
            Assert.AreEqual(response.StatusCode, HttpStatusCode.Created);
            Assert.AreEqual(UserIdConst, _userId);
            Assert.AreEqual(ProjectNameConst, _projectName);
            Assert.AreEqual(ProjectDescriptionConst, _projectDescription);
            Assert.AreEqual(VideoNameConst, _videoName);
            Assert.AreEqual(VideoUriConst, _videoUri);
            Assert.AreEqual(DataNameConst, _dataName);
            Assert.AreEqual(DataUriConst, _dataUri);
            Assert.AreEqual(_isPublicValue, true);
        }
示例#7
0
        public IActionResult Edit(int id, [Bind("Name", "Description", "IsActive", "DueDate")] ProjectPostModel viewModel)
        {
            if (id < 1)
            {
                return(NotFound());
            }

            if (!ModelState.IsValid)
            {
                TempData["fail"] = "An error occurred.";
                return(View(this.Read(viewModel)));
            }

            TempData.Remove("fail");

            try
            {
                var model = new Project()
                {
                    Id           = id,
                    Name         = viewModel.Name,
                    Description  = viewModel.Description,
                    IsActive     = viewModel.IsActive,
                    DueDate      = viewModel.DueDate,
                    ModifiedDate = DateTime.Now
                };

                var result = _projectInteractor.UpdateProject(id, model);
                if (result.Item1 != null)
                {
                    TempData["success"] = $"'{viewModel.Name}' was saved!";
                }

                return(RedirectToAction("Index", "Home", "success"));
            }
            catch (Exception ex)
            {
                TempData["fail"] = $"Error: {ex.Message}";
                return(View());
            }
        }
        public void TestAddProjectCommand()
        {
            // Arrange
            bool isFaulted = false;
            HttpResponseMessage response = null;

            var project = new ProjectPostModel
                {
                    Name = ProjectNameConst,
                    Description = ProjectDescriptionConst,
                    Data = DataNameConst,
                    DataUri = DataUriConst,
                    Video = VideoNameConst,
                    VideoUri = VideoUriConst,
                    Public = "true"
                };

            var projectsAddCommand = new ProjectsAddCommand(GetFakeApiController(true), GetFakeProjectRepository(), GetFakeQueueVideoRepository(), project);

            // Act
            Task<HttpResponseMessage> responseTask = projectsAddCommand.Execute();
            Task<bool> taskResult = responseTask.ContinueWith(p => isFaulted = p.IsFaulted, TaskContinuationOptions.ExecuteSynchronously);
            taskResult.Wait();

            if (!isFaulted)
            {
                response = responseTask.Result;
            }

            // Assert
            _repositoryMock.Verify(m => m.AddAsync(It.IsAny<ProjectAddParameters>()), Times.Once());
            Assert.IsFalse(isFaulted);
            Assert.IsNotNull(response);
            Assert.AreEqual(response.StatusCode, HttpStatusCode.Created);
            Assert.AreEqual(UserIdConst, _userId);
            Assert.AreEqual(ProjectNameConst, _projectName);
            Assert.AreEqual(ProjectDescriptionConst, _projectDescription);
            Assert.AreEqual(VideoNameConst, _videoName);
            Assert.AreEqual(VideoUriConst, _videoUri);
            Assert.AreEqual(DataNameConst, _dataName);
            Assert.AreEqual(DataUriConst, _dataUri);
            Assert.AreEqual(_isPublicValue, true);
        }