コード例 #1
0
ファイル: ImageServiceTests.cs プロジェクト: 2end/pps
        public void AddTest()
        {
            //Arange
            ImageDto imageDto = new ImageDto()
            {
                Id   = "0",
                Path = "P0"
            };
            bool isAdded = false;
            Mock <IUnitOfWork>          unitOfWorkMock = new Mock <IUnitOfWork>();
            Mock <IRepository <Image> > repositoryMock = new Mock <IRepository <Image> >();

            repositoryMock.Setup(repo => repo.Get(It.IsAny <Expression <Func <Image, bool> > >()))
            .Returns <Expression <Func <Image, bool> > >(predicate =>
                                                         _images.Where(predicate.Compile()).AsQueryable());
            repositoryMock.Setup(repo => repo.Add(It.IsAny <Image>())).Callback(() => isAdded = true);
            unitOfWorkMock.Setup(getRepo => getRepo.GetRepository <Image>()).Returns(repositoryMock.Object);
            ImageService imageService = new ImageService(unitOfWorkMock.Object);

            //Act
            imageService.Add(imageDto);

            //Assert
            Assert.True(isAdded);
        }
コード例 #2
0
 public IActionResult SaveEntity(Image image)
 {
     if (!ModelState.IsValid)
     {
         IEnumerable <ModelError> allErrors = ModelState.Values.SelectMany(v => v.Errors);
         return(new BadRequestObjectResult(allErrors));
     }
     else
     {
         if (image.Id == 0)
         {
             _imageService.Add(image);
         }
         else
         {
             _imageService.Update(image);
         }
         _imageService.Save();
         return(new OkObjectResult(image));
     }
 }
コード例 #3
0
 public async Task <IActionResult> PostAsync(int id, [FromForm] IFormFile file)
 {
     try
     {
         long   unixTimestamp = DateTimeOffset.UtcNow.ToUnixTimeSeconds();
         string fileName      = unixTimestamp + "_" + file.FileName;
         var    path          = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot\\images", fileName);
         var    url           = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}/api/Image/ViewImage/{fileName}";
         bool   result        = imageService.Add(new Image(fileName, path, url), itemService.GetItem(id));
         if (result)
         {
             using (var bits = new FileStream(path, FileMode.Create))
             {
                 await file.CopyToAsync(bits);
             }
             return(Ok(new { Data = url }));
         }
         return(UnprocessableEntity());
     } catch (Exception e)
     {
         return(StatusCode(500, $"Internal server error: {e}"));
     }
 }