예제 #1
0
        public async Task <SavedProject> DeleteSavedProjectAsync(SavedProject savedProject2BDeleted)
        {
            _context.SavedProject.Remove(savedProject2BDeleted);
            await _context.SaveChangesAsync();

            return(savedProject2BDeleted);
        }
            void LoadProjectsFromDirectory(string directory)
            {
                if (string.IsNullOrWhiteSpace(directory) || !Directory.Exists(directory))
                {
                    return;
                }

                var projects = new List <SavedProject>();

                var folders = Directory.GetDirectories(directory);

                foreach (var folder in folders)
                {
                    if (!IsSpreadCommanderProject(folder))
                    {
                        continue;
                    }

                    var project = new SavedProject()
                    {
                        Directory = folder
                    };

                    projects.Add(project);
                }

                LoadProjects(projects);
            }
예제 #3
0
        public async Task <SavedProject> AddSavedProjectAsync(SavedProject newSavedProject)
        {
            await _context.SavedProject.AddAsync(newSavedProject);

            await _context.SaveChangesAsync();

            return(newSavedProject);
        }
예제 #4
0
        public async Task <SavedProject> UpdateSavedProjectAsync(SavedProject savedProject2BUpdated)
        {
            SavedProject oldSavedProject = await _context.SavedProject.Where(sp => sp.Id == savedProject2BUpdated.Id).FirstOrDefaultAsync();

            _context.Entry(oldSavedProject).CurrentValues.SetValues(savedProject2BUpdated);

            await _context.SaveChangesAsync();

            _context.ChangeTracker.Clear();
            return(oldSavedProject);
        }
예제 #5
0
 //SavedProject
 public async Task<SavedProject> AddSavedProjectAsync(SavedProject newSavedProject, int userId)
 {
     newSavedProject =  await _repo.AddSavedProjectAsync(newSavedProject);
     UserProject userProject = new UserProject();
     userProject.ProjectId = newSavedProject.Id;
     userProject.Owner = true;
     userProject.UserId = userId;
     userProject.SavedProject = newSavedProject;
     await _repo.AddUserProjectAsync(userProject);
     return await _repo.GetSavedProjectByIDAsync(newSavedProject.Id);
 }
예제 #6
0
        public async Task <IActionResult> UpdateSavedProjectAsync(int id, [FromBody] SavedProject userProject)
        {
            try
            {
                await _projectBL.UpdateSavedProjectAsync(userProject);

                return(NoContent());
            }
            catch
            {
                return(StatusCode(500));
            }
        }
        public async Task UpdateSavedProjectShouldUpdateSavedProject()
        {
            var savedProject = new SavedProject {
                Id = 1
            };

            _projectBLMock.Setup(x => x.UpdateSavedProjectAsync(It.IsAny <SavedProject>())).Returns(Task.FromResult(savedProject));
            var savedProjectController = new SavedProjectController(_projectBLMock.Object);
            var result = await savedProjectController.UpdateSavedProjectAsync(savedProject.Id, savedProject);

            Assert.IsAssignableFrom <NoContentResult>(result);
            _projectBLMock.Verify(x => x.UpdateSavedProjectAsync(savedProject));
        }
        public async Task GetSavedProjectByIdShouldGetSavedProject()
        {
            var savedProjectId = 1;
            var savedProject   = new SavedProject {
                Id = savedProjectId
            };

            _projectBLMock.Setup(x => x.GetSavedProjectByIDAsync(It.IsAny <int>())).Returns(Task.FromResult(savedProject));
            var savedProjectController = new SavedProjectController(_projectBLMock.Object);
            var result = await savedProjectController.GetSavedProjectByIDAsync(savedProjectId);

            Assert.Equal(savedProjectId, ((SavedProject)((OkObjectResult)result).Value).Id);
            _projectBLMock.Verify(x => x.GetSavedProjectByIDAsync(savedProjectId));
        }
        public async Task GetSavedProjectsAsyncShouldReturnSavedProjects()
        {
            //arrange
            SavedProject savedProject = new SavedProject();

            _projectBLMock.Setup(i => i.GetSavedProjectsAsync());
            SavedProjectController savedProjectController = new SavedProjectController(_projectBLMock.Object);

            //act
            var result = await savedProjectController.GetSavedProjectsAsync();

            //assert
            Assert.IsType <OkObjectResult>(result);
        }
        public async Task AddSavedProjectAsync_ShouldReturnNewSavedProject_WhenSavedProjectIsValid()
        {
            //arrange
            var savedProject = new SavedProject();

            savedProject.ProjectName = "TestProject";
            var projectDBContext = new ProjectDBContext(options);
            var projectRepoDB    = new ProjectRepoDB(projectDBContext);

            //act
            var result = await projectRepoDB.AddSavedProjectAsync(savedProject);

            //assert
            Assert.Equal(savedProject.ProjectName, result.ProjectName);
        }
예제 #11
0
        public async Task UpdateSavedProjectAsync_ShouldReturnOldSavedProject_WhenSavedProjectIsValid()
        {
            //arrange
            var newSavedProj = new SavedProject();

            _projectBLMock.Setup(i => i.UpdateSavedProjectAsync(It.IsAny <SavedProject>())).Returns(Task.FromResult <SavedProject>(newSavedProj));
            var newProjBL = new ProjBL(_projectBLMock.Object);

            //act
            var result = await newProjBL.UpdateSavedProjectAsync(newSavedProj);

            //assert
            Assert.Equal(newSavedProj, result);
            _projectBLMock.Verify(i => i.UpdateSavedProjectAsync(It.IsAny <SavedProject>()));
        }
예제 #12
0
        public async Task GetSavedProjectByIDAsync_ShouldReturnNotFound_WhenIDIsInvalid()
        {
            //arrange
            var          savedProjectBLMock = new Mock <IProjectBL>();
            int          id           = -41;
            SavedProject savedProject = null;

            savedProjectBLMock.Setup(i => i.GetSavedProjectByIDAsync(id)).ReturnsAsync(savedProject);
            SavedProjectController savedProjectController = new SavedProjectController(savedProjectBLMock.Object);

            //act
            var result = await savedProjectController.GetSavedProjectByIDAsync(id);

            //assert
            Assert.IsType <NotFoundResult>(result);
        }
예제 #13
0
        public async Task GetSavedProjectsByIDAsync_ShouldReturnSavedProject_WhenIdIsValid()
        {
            //arrange
            var savedProjID  = 1;
            var newSavedProj = new SavedProject();

            _projectBLMock.Setup(i => i.GetSavedProjectByIDAsync(It.IsAny <int>())).Returns(Task.FromResult <SavedProject>(newSavedProj));
            var newProjBL = new ProjBL(_projectBLMock.Object);

            //act
            var result = await newProjBL.GetSavedProjectByIDAsync(savedProjID);

            //assert
            Assert.Equal(newSavedProj, result);
            _projectBLMock.Verify(i => i.GetSavedProjectByIDAsync(It.IsAny <int>()));
        }
예제 #14
0
        public async Task DeleteSavedProjectAsync_ShouldReturnStatusCode500_WhenIdIsInvalid()
        {
            //arrange
            var          savedprojectBLMock = new Mock <IProjectBL>();
            int          id           = -4;
            SavedProject savedProject = null;

            savedprojectBLMock.Setup(i => i.DeleteSavedProjectAsync(savedProject)).Throws(new Exception());
            SavedProjectController savedProjectController = new SavedProjectController(savedprojectBLMock.Object);

            //act
            var result = await savedProjectController.DeleteSavedProjectAsync(id);

            //assert
            Assert.IsType <StatusCodeResult>(result);
            Assert.Equal(500, ((StatusCodeResult)result).StatusCode);
        }
        public async Task UpdateSavedProjectAsync_ShouldReturnSavedProject_WhenSavedProjectIsValid()
        {
            //arrange
            var savedproject2BUpdated = new SavedProject
            {
                Id          = 1,
                BPM         = "0",
                ProjectName = "test1Update"
            };
            var projectDBContext = new ProjectDBContext(options);
            var projectrepoDB    = new ProjectRepoDB(projectDBContext);

            //act
            var result = await projectrepoDB.UpdateSavedProjectAsync(savedproject2BUpdated);

            //assert
            Assert.Equal(savedproject2BUpdated.ProjectName, result.ProjectName);
        }
            void ProjectSaved(SavedProject obj)
            {
                var controller = manager.Find(obj.OperationId);

                if (controller == null)
                {
                    return;
                }

                if (obj.Ok)
                {
                    mainWindow.Saved = true;
                    controller.Compled();
                }
                else
                {
                    mainWindow.Saved = false;
                    controller.Failed(obj.Exception?.Message);
                }
            }
예제 #17
0
        public async Task <IActionResult> AddSavedProjectAsync()
        {
            try
            {
                SavedProject project2Send = new SavedProject();
                project2Send.ProjectName = Request.Form["name"];
                project2Send.SampleIds   = Request.Form["sampleIds"];
                project2Send.Id          = 0;
                project2Send.BPM         = Request.Form["bPM"];
                project2Send.Pattern     = Request.Form["pattern"];
                string userId = Request.Form["userId"];
                await _projectBL.AddSavedProjectAsync(project2Send, int.Parse(userId));

                Log.Logger.Information($"new SavedProject with ID {project2Send.Id} created");
                return(CreatedAtAction("AddSavedProject", project2Send));
            }
            catch (Exception e)
            {
                Log.Logger.Error($"Error thrown: {e.Message}");
                return(StatusCode(400));
            }
        }
        public async Task UpdateSavedProjectAsync_ShouldReturnArgumentNullException_WhenSavedProjectIsInvalid()
        {
            //arrange
            try
            {
                var savedproject2BUpdated = new SavedProject
                {
                    Id          = 33,
                    BPM         = "0",
                    ProjectName = "test1Update"
                };
                var projectDBContext = new ProjectDBContext(options);
                var projectrepoDB    = new ProjectRepoDB(projectDBContext);

                //act
                var result = await projectrepoDB.UpdateSavedProjectAsync(savedproject2BUpdated);
            }
            catch (Exception ex)
            {
                //assert
                Assert.IsType <ArgumentNullException>(ex);
            }
        }
예제 #19
0
 public async Task<SavedProject> UpdateSavedProjectAsync(SavedProject savedProject2BUpdated)
 {
     return await _repo.UpdateSavedProjectAsync(savedProject2BUpdated);
 }
예제 #20
0
 public async Task<SavedProject> DeleteSavedProjectAsync(SavedProject savedProject2BDeleted)
 {
     return await _repo.DeleteSavedProjectAsync(savedProject2BDeleted);
 }