示例#1
0
        public async Task <bool> UpdateAsync(SparkDTO details)
        {
            var sparkToUpdate = await _context.Sparks.FindAsync(details.PId, details.UId);

            _context.Sparks.Update(sparkToUpdate);

            sparkToUpdate.Status = details.Status; //This is the only attribute on a spark that should ever change

            return(await saveContextChanges() > 0);
        }
        public async void GetApprovedSparskAsync_GivenProjectExistsAndHasSkills_ReturnsProjectSparks()
        {
            var sparks = new SparkDTO[]
            {
                new SparkDTO()
                {
                    UId = 1, PId = 3, Status = (int)SparkStatus.APPROVED, CreatedDate = System.DateTime.UtcNow
                },
                new SparkDTO()
                {
                    UId = 2, PId = 3, Status = (int)SparkStatus.APPROVED, CreatedDate = System.DateTime.UtcNow
                },
                new SparkDTO()
                {
                    UId = 3, PId = 3, Status = (int)SparkStatus.APPROVED, CreatedDate = System.DateTime.UtcNow
                },
                new SparkDTO()
                {
                    UId = 6, PId = 3, Status = (int)SparkStatus.DECLINED, CreatedDate = System.DateTime.UtcNow
                },
                new SparkDTO()
                {
                    UId = 5, PId = 3, Status = (int)SparkStatus.PENDING, CreatedDate = System.DateTime.UtcNow
                },
            };

            var project = new ProjectDTO
            {
                Id          = 3,
                Title       = "Title",
                Description = "Description",
                Sparks      = sparks,
                CreatedDate = System.DateTime.UtcNow
            };

            projectRepositoryMock.Setup(p => p.FindAsync(3)).ReturnsAsync(project);

            using (var logic = new ProjectLogic(projectRepositoryMock.Object, locationRepositoryMock.Object, skillLogicMock.Object, sparkLogicMock.Object, locationLogicMock.Object, categoryLogicMock.Object))
            {
                var results = await logic.GetApprovedSparksAsync(3);

                Assert.Equal(3, results.Count());
                Assert.Contains(sparks[0], results);
                Assert.Contains(sparks[1], results);
                Assert.Contains(sparks[2], results);
            }
        }
示例#3
0
        public async Task <ResponseLogic> UpdateAsync(SparkDTO spark)
        {
            var currentSpark = await _repository.FindAsync(spark.PId, spark.UId);

            if (currentSpark is null)
            {
                return(ResponseLogic.NOT_FOUND);
            }

            currentSpark.Status = spark.Status;

            var success = await _repository.UpdateAsync(currentSpark);

            if (success)
            {
                return(ResponseLogic.SUCCESS);
            }
            else
            {
                return(ResponseLogic.ERROR_UPDATING);
            }
        }